QWindow::devicePixelRatio mixes QPlateformWindow::devicePixelRatio (scale factor
from the plateform) and QHighDpiScaling::factor (QT_SCALE_FACTOR,
QT_SCREEN_SCALE_FACTORS). Platform such as wayland may have a >1 scale factor,
surface are directly scaled by the compositor, so we shouln't re-apply this
scale factor
As it stands, uri (result of input_item_GetURI()) is leaked when:
- path is NULL
- containingDir is not a dir
- file is not a local file
- none of the early returns are taken but uri is not NULL or empty
To tackle these all at once, use vlc::wrap_cptr.
Fixes: 1b95adaae5
Also free the pointer when returning in case the path is not a
directory (this error condition was added later). To make sure this leak
does not resurface, use vlc::wrap_cptr.
Fixes: 73f7b18619
The code is already defending against nullptr since multiple clients can
destroy the pointer, and the compositor might not be allocated in the
situation where Qt is allocated as a dialog provider, so there is no
reason to not use std::unique_ptr here.
Previous commits also ensure that vlc_object_create<>() will correctly
initialize C++ objects, and vlc_object_destroy<>() will correctly
destroy them.
No functional changes.
When a compositor was allocated but its initialization failed, the
pointer would not be returned by the
vlc::CompositorFactory::createCompositor function and the pointer was
leaked.
Fix the following leak:
Indirect leak of 120 byte(s) in 1 object(s) allocated from:
#0 0x7f806a2e2002 in operator new(unsigned long) /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_new_delete.cpp:95
#1 0x7f80550b07b3 in instanciateCompositor<vlc::CompositorX11> ../../../../modules/gui/qt/maininterface/compositor.cpp:45
#2 0x7f80550b59e8 in vlc::CompositorFactory::createCompositor() ../../../../modules/gui/qt/maininterface/compositor.cpp:95
#3 0x7f80546daafa in Thread ../../../../modules/gui/qt/qt.cpp:822
#4 0x7f80688aa9ea (/usr/lib/libc.so.6+0x8c9ea) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)
reverts 018f4890c1
it was not that m_cachedData was deleted (see commit above) but the parent cache
itself was deleted after emitting a signal in its member function
fix: don't instantly clean up the cache in the source when requested
since the requester can be the cache itself.
fixes empty label is not visible in any view
fixes model is always in a loading state
moc needs to be able to include headers for dependencies, and missing includes
silently fails
include path change was forgotten in ddfc6d0de8fixes#28460
vlc-qt-check is found using VLC_PKG_LIBEXEC_DIR which falls back to
VLC_LIB_PATH. In vlc-static, VLC_LIB_PATH is defined by the following
snippet:
#ifdef TOP_BUILDDIR
setenv ("VLC_PLUGIN_PATH", TOP_BUILDDIR"/modules", 1);
setenv ("VLC_DATA_PATH", TOP_SRCDIR"/share", 1);
setenv ("VLC_LIB_PATH", TOP_BUILDDIR"/modules", 1);
#endif
With the previous changes in ddfc6d0de8,
the vlc-qt-check executable is not built into TOP_BUILDDIR/modules/
anymore, but in TOP_BUILDDIR/modules/gui/qt/ instead, and won't be found
on platforms requiring it.
When installing, it is still located at the right place, but this commit
adds a symbolic link to modules/ to ensure we can also find it with
vlc-static.
The test was running every QML test files from the folder, which means
that we could have tests running with `make check` but not on the
repository. Test results would also be mixed up together in the same
files.
Since a QML test can run multiple tests itself, it's closer to the other
native tests from the repository.
The project started to move away from recursive Makefile a while ago for
performance reasons. Unfortunately, even though tools like libtool can
handle an arbitrary number of files by using @filelists, automake is
subject[^1][^2] to max argument limitation in its `distdir-am` target,
which will try to expand $(DISTFILES) in the bash command line.
[^1]: https://lists.gnu.org/archive/html/bug-automake/2009-07/msg00008.html
[^2]: https://lists.gnu.org/archive/html/automake/2014-05/msg00015.html
This is workarounded in this commit by moving all the files from Qt in a
separate Makefile that will be recursively called by automake, reducing
the size of $(DISTFILES). Hopefully, Make/Automake would have fixed this
or we would have moved completely to Meson when we reach the limit
again.