[vlc-devel] [PATCH v2 04/11] contrib: qt: update qt version to 5.15.1

Pierre Lamot pierre at videolabs.io
Wed Sep 16 09:24:52 CEST 2020


  Qt 5.15 provide better startup performances on windows.
  This doesn't impact the qt minimal requirement to build VLC.
---
 ...er-lower-value-when-rounding-fractio.patch | 26 -------
 .../src/qt/0001-disable-qt_random_cpu.patch   |  8 +--
 ...cross-compilation-of-angle-with-wine.patch |  4 +-
 ...x-build-with-mingw64-Win32-threading.patch | 69 +++++++++++++++++++
 contrib/src/qt/AddStaticLink.sh               |  2 +-
 contrib/src/qt/SHA512SUMS                     |  2 +-
 ...pkgconfig-file-and-dependency-naming.patch | 51 --------------
 contrib/src/qt/rules.mak                      | 15 ++--
 contrib/src/qtdeclarative/SHA512SUMS          |  2 +-
 contrib/src/qtdeclarative/rules.mak           | 19 +++--
 contrib/src/qtgraphicaleffects/SHA512SUMS     |  2 +-
 contrib/src/qtgraphicaleffects/rules.mak      |  4 +-
 contrib/src/qtquickcontrols2/SHA512SUMS       |  2 +-
 contrib/src/qtquickcontrols2/rules.mak        |  4 +-
 contrib/src/qtsvg/SHA512SUMS                  |  2 +-
 contrib/src/qtsvg/rules.mak                   |  4 +-
 modules/gui/qt/qt.cpp                         |  7 ++
 17 files changed, 116 insertions(+), 107 deletions(-)
 delete mode 100644 contrib/src/qt/0001-Windows-QPA-prefer-lower-value-when-rounding-fractio.patch
 create mode 100644 contrib/src/qt/0010-Windows-QPA-Fix-build-with-mingw64-Win32-threading.patch
 delete mode 100644 contrib/src/qt/fix-mingw-pkgconfig-file-and-dependency-naming.patch

diff --git a/contrib/src/qt/0001-Windows-QPA-prefer-lower-value-when-rounding-fractio.patch b/contrib/src/qt/0001-Windows-QPA-prefer-lower-value-when-rounding-fractio.patch
deleted file mode 100644
index 100e8033f0..0000000000
--- a/contrib/src/qt/0001-Windows-QPA-prefer-lower-value-when-rounding-fractio.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From cf632f7a1a3a36b91d16ac9019620434ebda9e24 Mon Sep 17 00:00:00 2001
-From: VideoLAN Buildbot <buildbot at videolan.org>
-Date: Tue, 13 Feb 2018 09:31:44 +0000
-Subject: [PATCH 1/2] Windows QPA: prefer lower value when rounding fractional
- scaling
-
----
- src/plugins/platforms/windows/qwindowsscreen.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/plugins/platforms/windows/qwindowsscreen.cpp b/src/plugins/platforms/windows/qwindowsscreen.cpp
-index d56dc870ea..51c321f867 100644
---- a/src/plugins/platforms/windows/qwindowsscreen.cpp
-+++ b/src/plugins/platforms/windows/qwindowsscreen.cpp
-@@ -260,7 +260,7 @@ qreal QWindowsScreen::pixelDensity() const
-     // the pixel density since it is reflects the Windows UI scaling.
-     // High DPI auto scaling should be disabled when the user chooses
-     // small fonts on a High DPI monitor, resulting in lower logical DPI.
--    return qMax(1, qRound(logicalDpi().first / 96));
-+    return qMax(1., ceil(logicalDpi().first / 96. - 0.5));
- }
- 
- /*!
--- 
-2.15.2 (Apple Git-101.1)
-
diff --git a/contrib/src/qt/0001-disable-qt_random_cpu.patch b/contrib/src/qt/0001-disable-qt_random_cpu.patch
index feae5ef394..d66fc9001e 100644
--- a/contrib/src/qt/0001-disable-qt_random_cpu.patch
+++ b/contrib/src/qt/0001-disable-qt_random_cpu.patch
@@ -15,8 +15,8 @@
  #endif
  Q_CORE_EXPORT void qDetectCpuFeatures();
  
--#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND)
-+#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND) && 0 // mingw32 32-bits crash
- Q_CORE_EXPORT qsizetype qRandomCpu(void *, qsizetype) Q_DECL_NOTHROW;
+-#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND) && !defined(QT_BOOTSTRAPPED)
++#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND) && !defined(QT_BOOTSTRAPPED) && 0 // mingw32 32-bits crash
+ Q_CORE_EXPORT qsizetype qRandomCpu(void *, qsizetype) noexcept;
  #else
- static inline qsizetype qRandomCpu(void *, qsizetype) Q_DECL_NOTHROW
+ static inline qsizetype qRandomCpu(void *, qsizetype) noexcept
diff --git a/contrib/src/qt/0003-allow-cross-compilation-of-angle-with-wine.patch b/contrib/src/qt/0003-allow-cross-compilation-of-angle-with-wine.patch
index 137dd6e654..f33104b478 100644
--- a/contrib/src/qt/0003-allow-cross-compilation-of-angle-with-wine.patch
+++ b/contrib/src/qt/0003-allow-cross-compilation-of-angle-with-wine.patch
@@ -30,8 +30,8 @@ index 44140bc..53f4984 100644
          "angle": {
              "label": "ANGLE",
              "autoDetect": "features.opengles2 || features.opengl-dynamic",
--            "condition": "features.dxguid && tests.fxc && (features.direct3d9 || (config.winrt && features.direct3d11 && libs.d3dcompiler))",
-+            "condition": "features.dxguid && tests.fxc && (features.direct3d9 || (features.direct3d11 && libs.d3dcompiler))",
+-            "condition": "!features.opengl-desktop && features.dxguid && tests.fxc && (features.direct3d9 || (config.winrt && features.direct3d11 && libs.d3dcompiler))",
++            "condition": "!features.opengl-desktop && features.dxguid && tests.fxc && (features.direct3d9 || (features.direct3d11 && libs.d3dcompiler))",
              "output": [
                  "publicFeature",
                  { "type": "define", "name": "QT_OPENGL_ES_2_ANGLE" },
diff --git a/contrib/src/qt/0010-Windows-QPA-Fix-build-with-mingw64-Win32-threading.patch b/contrib/src/qt/0010-Windows-QPA-Fix-build-with-mingw64-Win32-threading.patch
new file mode 100644
index 0000000000..42a3451585
--- /dev/null
+++ b/contrib/src/qt/0010-Windows-QPA-Fix-build-with-mingw64-Win32-threading.patch
@@ -0,0 +1,69 @@
+From 983132212c7f3541a8c5fbaf4c5309d92345107f Mon Sep 17 00:00:00 2001
+From: Friedemann Kleint <Friedemann.Kleint at qt.io>
+Date: Tue, 15 Sep 2020 06:17:32 +0200
+Subject: [PATCH] Windows QPA: Fix build with mingw64/Win32 threading
+
+For this build, cxx11_future is not available and thus
+QThread::create() as introduced by
+ed114b728d9dc5265333c593254d9f6527464a60 does not work.
+Revert back to implementing a QThread.
+
+Pick-to: 5.15
+Fixes: QTBUG-86575
+Task-number: QTBUG-85676
+Change-Id: I86a91f6bcdfc88804b35bf617362d92f37e51dea
+Reviewed-by: Kai Koehne <kai.koehne at qt.io>
+---
+ .../platforms/windows/qwindowsservices.cpp    | 32 +++++++++++++++----
+ 1 file changed, 25 insertions(+), 7 deletions(-)
+
+diff --git a/src/plugins/platforms/windows/qwindowsservices.cpp b/src/plugins/platforms/windows/qwindowsservices.cpp
+index 8a95cc53a85..f8d2b8f04e0 100644
+--- a/src/plugins/platforms/windows/qwindowsservices.cpp
++++ b/src/plugins/platforms/windows/qwindowsservices.cpp
+@@ -56,6 +56,26 @@ QT_BEGIN_NAMESPACE
+ 
+ enum { debug = 0 };
+ 
++class QWindowsShellExecuteThread : public QThread
++{
++public:
++    explicit QWindowsShellExecuteThread(const wchar_t *path) : m_path(path) { }
++
++    void run() override
++    {
++        if (SUCCEEDED(CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE))) {
++            m_result = ShellExecute(nullptr, nullptr, m_path, nullptr, nullptr, SW_SHOWNORMAL);
++            CoUninitialize();
++        }
++    }
++
++    HINSTANCE result() const { return m_result; }
++
++private:
++    HINSTANCE m_result = nullptr;
++    const wchar_t *m_path;
++};
++
+ static quintptr runShellExecute(const wchar_t *path)
+ {
+     HINSTANCE result = nullptr;
+@@ -75,13 +95,11 @@ static inline bool shellExecute(const QUrl &url)
+ 
+     // Run ShellExecute() in a thread since it may spin the event loop.
+     // Prevent it from interfering with processing of posted events (QTBUG-85676).
+-    quintptr result = 0;
+-    quintptr *resultPtr = &result;
+-    const auto path = reinterpret_cast<const wchar_t *>(nativeFilePath.utf16());
+-    QScopedPointer<QThread> thread(QThread::create([path, resultPtr]
+-                                                   () { *resultPtr = runShellExecute(path); }));
+-    thread->start();
+-    thread->wait();
++    QWindowsShellExecuteThread thread(reinterpret_cast<const wchar_t *>(nativeFilePath.utf16()));
++    thread.start();
++    thread.wait();
++
++    const auto result = reinterpret_cast<quintptr>(thread.result());
+ 
+     // ShellExecute returns a value greater than 32 if successful
+     if (result <= 32) {
diff --git a/contrib/src/qt/AddStaticLink.sh b/contrib/src/qt/AddStaticLink.sh
index e733701a02..37749477d5 100755
--- a/contrib/src/qt/AddStaticLink.sh
+++ b/contrib/src/qt/AddStaticLink.sh
@@ -33,7 +33,7 @@ fi
 
 # Get the links flags necessary to use the plugin from the installed PRL file of the plugin
 # replace hardcoded pathes by {libdir}
-LIBS=$(sed -e "/QMAKE_PRL_LIBS/ { \
+LIBS=$(sed -e "/QMAKE_PRL_LIBS =/ { \
              s/QMAKE_PRL_LIBS =//; \
              s@$PREFIX/lib@\${libdir}@g; \
              s@\$\$\[QT_INSTALL_LIBS\]@\${libdir}@g;" -e "p" \
diff --git a/contrib/src/qt/SHA512SUMS b/contrib/src/qt/SHA512SUMS
index 72ee6cc797..0088f5c008 100644
--- a/contrib/src/qt/SHA512SUMS
+++ b/contrib/src/qt/SHA512SUMS
@@ -1 +1 @@
-c8b90e50ec1824236541273b81024f1332c604748a038a48bc377b4c8e0886bfc27132990758abfd8ab9ea2aa5f1e42181ff369a0df4bc879dad0ef95868fde3  qtbase-everywhere-src-5.12.7.tar.xz
\ No newline at end of file
+40b687c046b25a6717834ffe2616ee4f373d75214ec1c7e3a26502cd0cde9f0a872eaee99f06c54c7a3625ae85df5cdd3a3b54a160e8e37c7cfeb5800d026fe4  qtbase-everywhere-src-5.15.1.tar.xz
\ No newline at end of file
diff --git a/contrib/src/qt/fix-mingw-pkgconfig-file-and-dependency-naming.patch b/contrib/src/qt/fix-mingw-pkgconfig-file-and-dependency-naming.patch
deleted file mode 100644
index 4660f3ca76..0000000000
--- a/contrib/src/qt/fix-mingw-pkgconfig-file-and-dependency-naming.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From a0d8fb4ac3cb7bafdb39f340055eacee4f957513 Mon Sep 17 00:00:00 2001
-From: Kai Pastor <dg0yt at darc.de>
-Date: Wed, 30 Jan 2019 07:36:51 +0100
-Subject: [PATCH] Fix mingw pkgconfig file and dependency naming
-
-This change adds the correct suffix to debug mode .pc filenames for
-MinGW and also to the Qt libraries listed in the `Requires` field.
-The filename adjustment fixes the accidental overwriting of release
-mode .pc files with the debug mode variant which required the wrong
-variant of the libraries when `debug_and_release` is active.
-
-Note that macOS also supports the `debug_and_release' configuration
-but may use the regular library names together with DYLD_IMAGE_SUFFIX.
-Creation of *_debug.pc files is turned off as they're identical to their
-non-debug counterparts.
-
-[ChangeLog][Platform Specific Changes][MinGW] Added a suffix to debug
-mode pkgconfig files.
-
-Task-number: QTBUG-4155
-Change-Id: I221c2dae51d7bd011836cb03945631a43180d7b5
-Reviewed-by: Kai Koehne <kai.koehne at qt.io>
----
- mkspecs/features/qt_module.prf | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
-index a52a4486bc5..213556904d2 100644
---- a/mkspecs/features/qt_module.prf
-+++ b/mkspecs/features/qt_module.prf
-@@ -264,7 +264,7 @@ load(qt_installs)
- load(qt_targets)
- 
- # this builds on top of qt_common
--!internal_module:if(unix|mingw) {
-+!internal_module:if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) {
-     CONFIG += create_pc
-     QMAKE_PKGCONFIG_DESTDIR = pkgconfig
-     host_build: \
-@@ -281,9 +281,9 @@ load(qt_targets)
-             QMAKE_PKGCONFIG_CFLAGS += -I${includedir}/$$section(inc, /, 1, 1)
-     }
-     QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$QT_MAJOR_VERSION ")
--    QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION)
-+    QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION)$$qtPlatformTargetSuffix()
-     for(i, MODULE_DEPENDS): \
--        QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$section(QT.$${i}.VERSION, ., 0, 0))
-+        QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$section(QT.$${i}.VERSION, ., 0, 0))$$qtPlatformTargetSuffix()
-     isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \
-         QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module
-     pclib_replace.match = $$lib_replace.match
diff --git a/contrib/src/qt/rules.mak b/contrib/src/qt/rules.mak
index 0a3089c59d..7977cef014 100644
--- a/contrib/src/qt/rules.mak
+++ b/contrib/src/qt/rules.mak
@@ -1,7 +1,7 @@
 # Qt
 
-QT_VERSION_MAJOR := 5.12
-QT_VERSION := $(QT_VERSION_MAJOR).7
+QT_VERSION_MAJOR := 5.15
+QT_VERSION := $(QT_VERSION_MAJOR).1
 # Insert potential -betaX suffix here:
 QT_VERSION_FULL := $(QT_VERSION)
 QT_URL := https://download.qt.io/official_releases/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION_FULL)/submodules/qtbase-everywhere-src-$(QT_VERSION_FULL).tar.xz
@@ -30,7 +30,6 @@ qt: qtbase-everywhere-src-$(QT_VERSION_FULL).tar.xz .sum-qt
 	$(UNPACK)
 	$(APPLY) $(SRC)/qt/0001-allow-to-pass-user-defined-compilation-flags-to-qt.patch
 ifdef HAVE_WIN32
-	$(APPLY) $(SRC)/qt/0001-Windows-QPA-prefer-lower-value-when-rounding-fractio.patch
 	$(APPLY) $(SRC)/qt/0002-Windows-QPA-Disable-systray-notification-sounds.patch
 ifndef HAVE_WIN64
 	$(APPLY) $(SRC)/qt/0001-disable-qt_random_cpu.patch
@@ -39,10 +38,12 @@ endif
 	$(APPLY) $(SRC)/qt/0007-ANGLE-remove-static-assert-that-can-t-be-evaluated-b.patch
 	$(APPLY) $(SRC)/qt/0008-ANGLE-disable-ANGLE_STD_ASYNC_WORKERS-when-compiling.patch
 	$(APPLY) $(SRC)/qt/0009-Add-KHRONOS_STATIC-to-allow-static-linking-on-Windows.patch
-	$(APPLY) $(SRC)/qt/fix-mingw-pkgconfig-file-and-dependency-naming.patch
 
 ifdef HAVE_CROSS_COMPILE
 	$(APPLY) $(SRC)/qt/0003-allow-cross-compilation-of-angle-with-wine.patch
+ifndef HAVE_CLANG
+	$(APPLY) $(SRC)/qt/0010-Windows-QPA-Fix-build-with-mingw64-Win32-threading.patch
+endif
 else
 	$(APPLY) $(SRC)/qt/qt-fix-msys-long-pathes.patch
 	$(APPLY) $(SRC)/qt/0003-fix-angle-compilation.patch
@@ -87,8 +88,8 @@ QT_PLATFORM += -device-option VLC_EXTRA_CFLAGS="-isystem $(PREFIX)/include" \
 
 QT_CONFIG := -static -no-shared -opensource -confirm-license -no-pkg-config \
 	-no-sql-sqlite -no-gif -qt-libjpeg -no-openssl $(QT_OPENGL) -no-dbus \
-	-no-vulkan -no-sql-odbc -no-pch \
-	-no-compile-examples -nomake examples -nomake tests -qt-zlib
+	-no-vulkan -no-sql-odbc -no-pch -no-feature-testlib \
+	-no-compile-examples -nomake examples -nomake tests  -qt-zlib
 
 QT_CONFIG += -skip qtsql
 QT_CONFIG += -release
@@ -109,7 +110,7 @@ ENV_VARS := $(HOSTVARS) DXSDK_DIR=$(PREFIX)/bin
 	+cd $< && $(ENV_VARS) ./configure $(QT_PLATFORM) $(QT_CONFIG) -prefix $(PREFIX) -hostprefix $(PREFIX)/lib/qt5
 	# Make && Install libraries
 	cd $< && $(ENV_VARS) $(MAKE)
-	cd $< && $(MAKE) -C src sub-corelib-install_subtargets sub-gui-install_subtargets sub-widgets-install_subtargets sub-platformsupport-install_subtargets sub-zlib-install_subtargets sub-bootstrap-install_subtargets sub-network-install_subtargets sub-testlib-install_subtargets
+	cd $< && $(MAKE) -C src sub-corelib-install_subtargets sub-gui-install_subtargets sub-widgets-install_subtargets sub-platformsupport-install_subtargets sub-zlib-install_subtargets sub-bootstrap-install_subtargets sub-network-install_subtargets
 	# Install tools
 	cd $< && $(MAKE) -C src sub-moc-install_subtargets sub-rcc-install_subtargets sub-uic-install_subtargets sub-qlalr-install_subtargets
 	# Install plugins
diff --git a/contrib/src/qtdeclarative/SHA512SUMS b/contrib/src/qtdeclarative/SHA512SUMS
index 23789ee5bd..0c154ad5a1 100644
--- a/contrib/src/qtdeclarative/SHA512SUMS
+++ b/contrib/src/qtdeclarative/SHA512SUMS
@@ -1 +1 @@
-119155aed8ad6e74f7be2d0e44bf630fc493227c6ad0fdbd9a85bba8770939a0dd6c21a8583851e5adf243d51bdeb64bf79e1c4898176898e05a3897052315b6  qtdeclarative-everywhere-src-5.12.7.tar.xz
\ No newline at end of file
+193ec706b764330a2ae00614b13482b7586642f9cfd32458e8c975daa07ba25f0f9887de0918c4034f52f613b860677c09c46a3b7d07d4229446cfc0805bcccd qtdeclarative-everywhere-src-5.15.1.tar.xz
\ No newline at end of file
diff --git a/contrib/src/qtdeclarative/rules.mak b/contrib/src/qtdeclarative/rules.mak
index a0520733d5..6708b605b5 100644
--- a/contrib/src/qtdeclarative/rules.mak
+++ b/contrib/src/qtdeclarative/rules.mak
@@ -1,7 +1,7 @@
 # QtDeclarative
 
-QTDECLARATIVE_VERSION_MAJOR := 5.12
-QTDECLARATIVE_VERSION := $(QTDECLARATIVE_VERSION_MAJOR).7
+QTDECLARATIVE_VERSION_MAJOR := 5.15
+QTDECLARATIVE_VERSION := $(QTDECLARATIVE_VERSION_MAJOR).1
 QTDECLARATIVE_URL := http://download.qt.io/official_releases/qt/$(QTDECLARATIVE_VERSION_MAJOR)/$(QTDECLARATIVE_VERSION)/submodules/qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz
 
 DEPS_qtdeclarative += qt $(DEPS_qt)
@@ -33,16 +33,25 @@ QT_DECLARATIVE_CONFIG := \
 	cd $</src && $(PREFIX)/lib/qt5/bin/qmake -o Makefile src.pro
 	# Build & install only what we require
 	# Invoke the build rules one at a time as some rule dependencies seem to be broken
-	cd $< && $(MAKE) -C src sub-quick-make_first-ordered sub-qmldevtools-make_first-ordered
+	cd $< && $(MAKE) -C src sub-quick-make_first-ordered \
+		sub-qmlmodels-make_first-ordered \
+		sub-qmldevtools-make_first-ordered \
+		sub-qmlworkerscript-make_first-ordered
 	# We don't use particles, but the import target (which generates the qtquick2plugin.a) require
 	# the particle module to be built
 	cd $< && $(MAKE) -C src sub-particles-make_first-ordered
-	cd $< && $(MAKE) -C src sub-quick-install_subtargets sub-qml-install_subtargets sub-quickwidgets-install_subtargets sub-imports-install_subtargets
-	cd $</tools && $(PREFIX)/host/bin/qmake -o Makefile tools.pro
+	cd $< && $(MAKE) -C src sub-quick-install_subtargets \
+		sub-qml-install_subtargets \
+		sub-quickwidgets-install_subtargets \
+		sub-imports-install_subtargets \
+		sub-qmlmodels-install_subtargets \
+		sub-qmlworkerscript-install_subtargets
+	cd $</tools && $(PREFIX)/lib/qt5/bin/qmake -o Makefile tools.pro
 	cd $< && $(MAKE) -C tools sub-qmlcachegen-install_subtargets
 	$(SRC)/qt/AddStaticLink.sh "$(PREFIX)" Qt5Quick qml/QtQuick.2 qtquick2plugin
 	$(SRC)/qt/AddStaticLink.sh "$(PREFIX)" Qt5Quick qml/QtQuick/Layouts qquicklayoutsplugin
 	$(SRC)/qt/AddStaticLink.sh "$(PREFIX)" Qt5Quick qml/QtQuick/Window.2 windowplugin
+	$(SRC)/qt/AddStaticLink.sh "$(PREFIX)" Qt5Qml qml/QtQml qmlplugin
 	$(SRC)/qt/AddStaticLink.sh "$(PREFIX)" Qt5Qml qml/QtQml/Models.2 modelsplugin
 
 	touch $@
diff --git a/contrib/src/qtgraphicaleffects/SHA512SUMS b/contrib/src/qtgraphicaleffects/SHA512SUMS
index 7fdf0f3920..6632fc19af 100644
--- a/contrib/src/qtgraphicaleffects/SHA512SUMS
+++ b/contrib/src/qtgraphicaleffects/SHA512SUMS
@@ -1 +1 @@
-fd6b59198e834a9e36e58445055610ac6dcfcb96d405d2dc294e0397460d6fdd119cfd4b0f29f43009154d623071dcb335223e33872fbfb5b6004abe9b6f5a55  qtgraphicaleffects-everywhere-src-5.12.7.tar.xz
\ No newline at end of file
+651f8d96199b6324726fcf97eebf16a3ee40e5a9523a3c03255ca4201228b8d02314d5dd9722f59d44f09b4ff8dd722fb276b9af7f65728693a2c4ee62f781c1 qtgraphicaleffects-everywhere-src-5.15.1.tar.xz
\ No newline at end of file
diff --git a/contrib/src/qtgraphicaleffects/rules.mak b/contrib/src/qtgraphicaleffects/rules.mak
index 43e9294e03..e759a2a4d5 100644
--- a/contrib/src/qtgraphicaleffects/rules.mak
+++ b/contrib/src/qtgraphicaleffects/rules.mak
@@ -1,7 +1,7 @@
 # QtGraphicalEffects
 
-QTGE_VERSION_MAJOR := 5.12
-QTGE_VERSION := $(QTGE_VERSION_MAJOR).7
+QTGE_VERSION_MAJOR := 5.15
+QTGE_VERSION := $(QTGE_VERSION_MAJOR).1
 QTGE_URL := http://download.qt.io/official_releases/qt/$(QTGE_VERSION_MAJOR)/$(QTGE_VERSION)/submodules/qtgraphicaleffects-everywhere-src-$(QTGE_VERSION).tar.xz
 
 DEPS_qtgraphicaleffects += qtdeclarative $(DEPS_qtdeclarative)
diff --git a/contrib/src/qtquickcontrols2/SHA512SUMS b/contrib/src/qtquickcontrols2/SHA512SUMS
index b61611d884..676ed3dc60 100644
--- a/contrib/src/qtquickcontrols2/SHA512SUMS
+++ b/contrib/src/qtquickcontrols2/SHA512SUMS
@@ -1 +1 @@
-bd469316594e09da064fc6792c08ee87f345ab8c27bd33ae3fc38d184bebabf1ed824147eb960ac2700c67a683097c7615aebb0f717dc1a5ff1b330f27554ae9  qtquickcontrols2-everywhere-src-5.12.7.tar.xz
\ No newline at end of file
+ecb75619e80b737e3ae214f65a5175d933f8dc7832eb4eccd469fc1cb1eb85ef5c47f81563165da2d75abf15d7c47b868e68ab758d95183371b4ef64e7c52a39 qtquickcontrols2-everywhere-src-5.15.1.tar.xz
\ No newline at end of file
diff --git a/contrib/src/qtquickcontrols2/rules.mak b/contrib/src/qtquickcontrols2/rules.mak
index d158909cda..8c84ddd1f7 100644
--- a/contrib/src/qtquickcontrols2/rules.mak
+++ b/contrib/src/qtquickcontrols2/rules.mak
@@ -1,7 +1,7 @@
 # QtQuickControls 2
 
-QTQC2_VERSION_MAJOR := 5.12
-QTQC2_VERSION := $(QTQC2_VERSION_MAJOR).7
+QTQC2_VERSION_MAJOR := 5.15
+QTQC2_VERSION := $(QTQC2_VERSION_MAJOR).1
 QTQC2_URL := http://download.qt.io/official_releases/qt/$(QTQC2_VERSION_MAJOR)/$(QTQC2_VERSION)/submodules/qtquickcontrols2-everywhere-src-$(QTQC2_VERSION).tar.xz
 
 ifdef HAVE_WIN32
diff --git a/contrib/src/qtsvg/SHA512SUMS b/contrib/src/qtsvg/SHA512SUMS
index 40a1300d02..6d161c6e8c 100644
--- a/contrib/src/qtsvg/SHA512SUMS
+++ b/contrib/src/qtsvg/SHA512SUMS
@@ -1 +1 @@
-13e6053c99cc0f5b31bc48df0a8b93cfa26e49f3aa2732850747c7a8b3e78ff0a1c620e2a8729d291b5a6cf935d9a481f361ec9f6a78ae090ca997b344786f47  qtsvg-everywhere-src-5.12.7.tar.xz
\ No newline at end of file
+c0289bbce4682eef9cd87811ad11a4ce2141cb89bd026f9cc595123e6b4ebbe9e81a91b54bcf25fbf4225bc66e8a5e4f49e4fabde43e9da066583f22aab4f35f qtsvg-everywhere-src-5.15.1.tar.xz
\ No newline at end of file
diff --git a/contrib/src/qtsvg/rules.mak b/contrib/src/qtsvg/rules.mak
index 6924865dea..bc6a789ddf 100644
--- a/contrib/src/qtsvg/rules.mak
+++ b/contrib/src/qtsvg/rules.mak
@@ -1,7 +1,7 @@
 # Qt
 
-QTSVG_VERSION_MAJOR := 5.12
-QTSVG_VERSION := $(QTSVG_VERSION_MAJOR).7
+QTSVG_VERSION_MAJOR := 5.15
+QTSVG_VERSION := $(QTSVG_VERSION_MAJOR).1
 QTSVG_URL := https://download.qt.io/official_releases/qt/$(QTSVG_VERSION_MAJOR)/$(QTSVG_VERSION)/submodules/qtsvg-everywhere-src-$(QTSVG_VERSION).tar.xz
 
 DEPS_qtsvg += qt $(DEPS_qt)
diff --git a/modules/gui/qt/qt.cpp b/modules/gui/qt/qt.cpp
index 2698dc8226..17ab076b91 100644
--- a/modules/gui/qt/qt.cpp
+++ b/modules/gui/qt/qt.cpp
@@ -85,6 +85,10 @@ extern "C" char **environ;
   Q_IMPORT_PLUGIN(QtGraphicalEffectsPlugin)
   Q_IMPORT_PLUGIN(QtGraphicalEffectsPrivatePlugin)
 
+  #if QT_VERSION >= QT_VERSION_CHECK(5,15,0)
+   Q_IMPORT_PLUGIN(QtQmlPlugin)
+  #endif
+
   #if !HAS_QT56
    Q_IMPORT_PLUGIN(AccessibleFactory)
   #endif
@@ -577,6 +581,9 @@ static void *Thread( void *obj )
     QApplication::setAttribute( Qt::AA_UseHighDpiPixmaps );
 #endif
 
+#if QT_VERSION >= QT_VERSION_CHECK(5,14,0)
+    QApplication::setHighDpiScaleFactorRoundingPolicy( Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor );
+#endif
     // at the moment, the vout is created in another thread than the rendering thread
     QApplication::setAttribute( Qt::AA_DontCheckOpenGLContextThreadAffinity );
     QQuickWindow::setDefaultAlphaBuffer(true);
-- 
2.25.1



More information about the vlc-devel mailing list