git » qt5-base.git » commit a0959f4

Qt 5.15.1

author Antonio Rojas
2020-09-09 09:04:14 UTC
committer Antonio Rojas
2020-09-09 09:04:14 UTC
parent 3ef5fa1af2d2c656b2e55c27d5c35642330f1c90

Qt 5.15.1

PKGBUILD +5 -17
qtbug-74252.patch +0 -106

diff --git a/PKGBUILD b/PKGBUILD
index 95620bf..b67052e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,9 +3,9 @@
 
 pkgbase=qt5-base
 pkgname=(qt5-base qt5-xcb-private-headers)
-_qtver=5.15.0
+_qtver=5.15.1
 pkgver=${_qtver/-/}
-pkgrel=5
+pkgrel=1
 arch=('x86_64')
 url='https://www.qt.io'
 license=('GPL3' 'LGPL3' 'FDL' 'custom')
@@ -29,25 +29,13 @@ conflicts=('qtchooser')
 groups=('qt' 'qt5')
 _pkgfqn="${pkgbase/5-/}-everywhere-src-${_qtver}"
 source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
-        "qt5-base-QTBUG-82910.patch::https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=patch;h=54aa63be9b74e8de72db9efbe6809ab1a97b29a7"
-         qt5-base-cflags.patch
-         qtbug-74252.patch
-         qtbug-78966.patch::"https://code.qt.io/cgit/qt/qtbase.git/patch/?id=777f2a1c"
-         qtbug-84619.patch::"https://code.qt.io/cgit/qt/qtbase.git/patch/?id=9d2b474b")
-sha256sums=('9e7af10aece15fa9500369efde69cb220eee8ec3a6818afe01ce1e7d484824c5'
-            'abb94453c9fe54fde4811bc5475b88796c8db1f5cd75ddc68918aff20139b1aa'
-            'cf707cd970650f8b60f8897692b36708ded9ba116723ec8fcd885576783fe85c'
-            '0c489d2faedd35670232a2c028c5c78a606ab81bb6f40f58e3cfe2bc6b6ac3b2'
-            'd7d58b2cadd6e79c3dfb69da664ecac9c95a78d6e142cb8687fce68e24a10776'
-            'eec8234c7e4d5bb583f39f2cf735536be350296b93af8b469260424ad7ccdb04')
+         qt5-base-cflags.patch)
+sha256sums=('33960404d579675b7210de103ed06a72613bfc4305443e278e2d32a3eb1f3d8c'
+            'cf707cd970650f8b60f8897692b36708ded9ba116723ec8fcd885576783fe85c')
 
 prepare() {
   cd ${_pkgfqn}
 
-  patch -p1 -i ../qt5-base-QTBUG-82910.patch # https://codereview.qt-project.org/c/qt/qtbase/+/299182
-  patch -p1 -i ../qtbug-74252.patch # Fix displaying custom icons
-  patch -p1 -i ../qtbug-78966.patch # Fix QToolButton menus on multi-screen systems
-  patch -p1 -i ../qtbug-84619.patch # Fix deadlock
   patch -p1 -i ../qt5-base-cflags.patch # Use system CFLAGS
 }
 
diff --git a/qtbug-74252.patch b/qtbug-74252.patch
deleted file mode 100644
index 818f859..0000000
--- a/qtbug-74252.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From add92a551cf601b5c9e074046326f95ccc38062e Mon Sep 17 00:00:00 2001
-From: Albert Astals Cid <aacid@kde.org>
-Date: Sat, 23 May 2020 01:35:18 +0200
-Subject: [PATCH] Do not fully initialize QIconLoader when setting the fallback
- theme
-
-We need this because without this patch you get bugs both
-if you call QIcon::setFallbackThemeName before creating the QGuiApplication and
-if you call QIcon::setFallbackThemeName after creating QGuiApplication
-
-Why do you get a bug if you call QIconLoader::setFallbackThemeName
-before creating the QGuiApplication:
- * QIcon::setFallbackThemeName calls QIconLoader::instance
- * QIconLoader::instance calls QIconLoader::ensureInitialized
- * QIconLoader::ensureInitialized calls systemThemeName
- * systemThemeName asks the current QPlatformTheme for its
-   QPlatformTheme::SystemIconThemeName
- * But since we're calling this before creating the QGuiApplication
-   there is no current QPlatformTheme yet, so systemThemeName
-   is set to empty, which is obviously not what we want
-
-Why do you get a bug if you call QIconLoader::setFallbackThemeName
-after creating the QGuiApplication:
- * QGuiApplicationPrivate::init calls
-   QGuiApplicationPrivate::createPlatformIntegration
- * QGuiApplicationPrivate::createPlatformIntegration sets the
-   current QPlatformTheme and at the end of the very same function
-   uses QIcon::fromTheme
- * Since we haven't called QIconLoader::setFallbackThemeName yet
-   there is at least one icon lookup that doesn't take
-   the fallback theme we would like to have into account
-
-This patch makes it so calling QIconLoader::setFallbackThemeName
-before creating the QGuiApplication works.
-
-The only thing we want to do from QIcon::setFallbackThemeName is set
-the internal m_userFallbackTheme, it doesn't care about doing
-further initialization of QIconLoader, if it's done, great it's done,
-if it is not initialized yet, great it will be initialized later
-when someone actually tries to use the QIconloader.
-
-So it's OK for ensureInitialized() to return early if there is no
-platform theme yet, because it will be called again later.
-
-Pick-to: 5.12
-Pick-to: 5.15
-Fixes: QTBUG-74252
-Change-Id: I65268fc3d3d0bd282d76c76cf75e495bcc9d1a30
-Done-with: Albert Astals Cid <albert.astals.cid@kdab.com>
-Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
-Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
----
- src/gui/image/qicon.cpp       |  3 +++
- src/gui/image/qiconloader.cpp | 15 ++++++++++++---
- 2 files changed, 15 insertions(+), 3 deletions(-)
-
-diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp
-index 36f499711e9..91da21c477d 100644
---- a/src/gui/image/qicon.cpp
-+++ b/src/gui/image/qicon.cpp
-@@ -1238,6 +1238,9 @@ QString QIcon::fallbackThemeName()
-     themeSearchPath() containing an index.theme
-     file describing its contents.
- 
-+    \note This should be done before creating \l QGuiApplication, to ensure
-+    correct initialization.
-+
-     \sa fallbackThemeName(), themeSearchPaths(), themeName()
- */
- void QIcon::setFallbackThemeName(const QString &name)
-diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp
-index 15ab1b3cd90..3fa3bb9c598 100644
---- a/src/gui/image/qiconloader.cpp
-+++ b/src/gui/image/qiconloader.cpp
-@@ -112,10 +112,9 @@ extern QFactoryLoader *qt_iconEngineFactoryLoader(); // qicon.cpp
- void QIconLoader::ensureInitialized()
- {
-     if (!m_initialized) {
-+        if (!QGuiApplicationPrivate::platformTheme())
-+            return; // it's too early: try again later (QTBUG-74252)
-         m_initialized = true;
--
--        Q_ASSERT(qApp);
--
-         m_systemTheme = systemThemeName();
- 
-         if (m_systemTheme.isEmpty())
-@@ -125,6 +124,16 @@ void QIconLoader::ensureInitialized()
-     }
- }
- 
-+/*!
-+    \internal
-+    Gets an instance.
-+
-+    \l QIcon::setFallbackThemeName() should be called before QGuiApplication is
-+    created, to avoid a race condition (QTBUG-74252). When this function is
-+    called from there, ensureInitialized() does not succeed because there
-+    is no QPlatformTheme yet, so systemThemeName() is empty, and we don't want
-+    m_systemTheme to get intialized to the fallback theme instead of the normal one.
-+*/
- QIconLoader *QIconLoader::instance()
- {
-    iconLoaderInstance()->ensureInitialized();
--- 
-2.16.3