From 177349fb1459039cc30cb8e3936af4117d038c16 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 10 Dec 2022 15:20:44 +0000 Subject: gentoo auto-resync : 10:12:2022 - 15:20:44 --- dev-qt/Manifest.gz | Bin 11199 -> 11179 bytes dev-qt/qtconcurrent/Manifest | 1 - .../qtconcurrent-5.15.5-fix-race-conditions.patch | 41 ----- dev-qt/qtcore/Manifest | 3 - .../qtcore/files/qtcore-5.15.5-QTBUG-105286.patch | 165 ------------------ .../qtcore-5.15.5-hack_never_use_execinfo.patch | 27 --- dev-qt/qtcore/files/qtcore-5.15.5-slibtool.patch | 29 ---- dev-qt/qtdeclarative/Manifest | 2 + ...tive-5.15.7-a11y-track-item-enabled-state.patch | 57 +++++++ .../qtdeclarative/qtdeclarative-5.15.7-r1.ebuild | 68 ++++++++ dev-qt/qtgui/Manifest | 3 +- ...-update-_NET_SUPPORTED-when-WM-changes-it.patch | 38 ----- ...gui-5.15.7-fix-wrong-to-linear-conversion.patch | 47 ++++++ dev-qt/qtgui/qtgui-5.15.7-r1.ebuild | 186 +++++++++++++++++++++ dev-qt/qtprintsupport/Manifest | 1 - ...5-revert-cups-support-accessible-printers.patch | 42 ----- dev-qt/qtquickcontrols2/Manifest | 3 +- .../qtquickcontrols2-5.15.5-QTBUG-104983.patch | 179 -------------------- .../qtquickcontrols2-5.15.7-r1.ebuild | 32 ++++ dev-qt/qtwayland/Manifest | 4 +- .../qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch | 131 --------------- .../qtwayland/files/qtwayland-5.15.3-clang.patch | 12 -- dev-qt/qtwayland/qtwayland-5.15.7-r1.ebuild | 47 ++++++ dev-qt/qtwebengine/Manifest | 1 - ...gine-5.15.5_p20220618-fixup-CVE-2022-0796.patch | 48 ------ 25 files changed, 445 insertions(+), 722 deletions(-) delete mode 100644 dev-qt/qtconcurrent/files/qtconcurrent-5.15.5-fix-race-conditions.patch delete mode 100644 dev-qt/qtcore/files/qtcore-5.15.5-QTBUG-105286.patch delete mode 100644 dev-qt/qtcore/files/qtcore-5.15.5-hack_never_use_execinfo.patch delete mode 100644 dev-qt/qtcore/files/qtcore-5.15.5-slibtool.patch create mode 100644 dev-qt/qtdeclarative/files/qtdeclarative-5.15.7-a11y-track-item-enabled-state.patch create mode 100644 dev-qt/qtdeclarative/qtdeclarative-5.15.7-r1.ebuild delete mode 100644 dev-qt/qtgui/files/qtgui-5.15.5-xcb-update-_NET_SUPPORTED-when-WM-changes-it.patch create mode 100644 dev-qt/qtgui/files/qtgui-5.15.7-fix-wrong-to-linear-conversion.patch create mode 100644 dev-qt/qtgui/qtgui-5.15.7-r1.ebuild delete mode 100644 dev-qt/qtprintsupport/files/qtprintsupport-5.15.5-revert-cups-support-accessible-printers.patch delete mode 100644 dev-qt/qtquickcontrols2/files/qtquickcontrols2-5.15.5-QTBUG-104983.patch create mode 100644 dev-qt/qtquickcontrols2/qtquickcontrols2-5.15.7-r1.ebuild delete mode 100644 dev-qt/qtwayland/files/qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch delete mode 100644 dev-qt/qtwayland/files/qtwayland-5.15.3-clang.patch create mode 100644 dev-qt/qtwayland/qtwayland-5.15.7-r1.ebuild delete mode 100644 dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-fixup-CVE-2022-0796.patch (limited to 'dev-qt') diff --git a/dev-qt/Manifest.gz b/dev-qt/Manifest.gz index 08f4e0871cdd..aa98e5fa5b51 100644 Binary files a/dev-qt/Manifest.gz and b/dev-qt/Manifest.gz differ diff --git a/dev-qt/qtconcurrent/Manifest b/dev-qt/qtconcurrent/Manifest index 0a3f29a787e9..aa9258b063c4 100644 --- a/dev-qt/qtconcurrent/Manifest +++ b/dev-qt/qtconcurrent/Manifest @@ -1,4 +1,3 @@ -AUX qtconcurrent-5.15.5-fix-race-conditions.patch 1469 BLAKE2B 2504338fe36c1b2c4c8b82da124b2335db816342c63a42ce3d1c8933cbe0f945de18aeb7e014718f52974de6fb890424e6ec620e4664f4902d86740067e3f786 SHA512 ad1a6084d26b67e7135f78d09ca56da737ede6e587821d01527513e1a1f4759c5091e6357899b00a6c757502079af314899d082306a321726318d15303875887 DIST qtbase-5.15-gentoo-patchset-2.tar.xz 3844 BLAKE2B 6dcb69398cf8a6b1be737e8c7bf1041529c4e704ca892cef10ba3bc5ce435c903607b64e981cf8aa12c785b3e423aa1d52bce1f67ec1bd8dbb1421dfb6f62700 SHA512 b7fd7e17bcab2f9803c7bfc0473082ee4640299c23ce8da943ef80ed181e880ebc9157bcebde28077e80e6f907aa14a59c42416b3e32f49baebd54fbe5a37497 DIST qtbase-5.15.7-gentoo-kde-1.tar.xz 798056 BLAKE2B 3c7fefa65ab6de25c2c82261ad0f1371e32acd4bd4b3303f20a5ebf36d19690df94290d102c65e4941a6c51a5d5f2db0253bafca5ac85cf480f7434405cb2671 SHA512 20ab17220489009c98d7f783a02614507e157974c7cb16f47d50d3954ccd1cd065562effc393df6e07c9ba6ad8ccd4e6b3f0bf5b5b890183b8631b8b570bf064 DIST qtbase-everywhere-opensource-src-5.15.7.tar.xz 50260196 BLAKE2B 69029a910af0e3bfe742b5870334406e03274b0677ef47f9c7c10f730ff031bae49bd21a686497215505b19a183ca395c275d8afefaaa903125297f8e693bb4d SHA512 316de71fba1d5dd91354155dcd0f77e1ce2a798f8296a8699a795ea5e86ad10b6e233299775a92e23328290f3e041240585947e89ee7bd39eb464c5f0ffec343 diff --git a/dev-qt/qtconcurrent/files/qtconcurrent-5.15.5-fix-race-conditions.patch b/dev-qt/qtconcurrent/files/qtconcurrent-5.15.5-fix-race-conditions.patch deleted file mode 100644 index c16da19a507d..000000000000 --- a/dev-qt/qtconcurrent/files/qtconcurrent-5.15.5-fix-race-conditions.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 33ed9a414da190ffa8099856901df792ff9150d5 Mon Sep 17 00:00:00 2001 -From: Sona Kurazyan -Date: Mon, 18 Jul 2022 14:46:24 +0200 -Subject: [PATCH] QtConcurrent::ReduceKernel: fix race conditions - -resultsMapSize is modified inside the runReduce() method, and the -writes are protected via mutex lock. However, reads of resultsMapSize -through shouldThrottle()/shouldStartThread() (that can be called by -multiple threads) are done without a lock. Added the missing locks. - -Task-number: QTBUG-104787 -Pick-to: 6.4 6.3 6.2 5.15 -Change-Id: I700e7b66e67025bc7f570bc8ad69409b82675049 -Reviewed-by: Jarek Kobus -Reviewed-by: Marc Mutz -(cherry picked from commit 7afb093dd77f0ed9a1b4145d2d279810aba411c7) ---- - src/concurrent/qtconcurrentreducekernel.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/concurrent/qtconcurrentreducekernel.h b/src/concurrent/qtconcurrentreducekernel.h -index 8f9a938952..a98dedef2e 100644 ---- a/src/concurrent/qtconcurrentreducekernel.h -+++ b/src/concurrent/qtconcurrentreducekernel.h -@@ -212,11 +212,13 @@ public: - - inline bool shouldThrottle() - { -+ std::lock_guard locker(mutex); - return (resultsMapSize > (ReduceQueueThrottleLimit * threadCount)); - } - - inline bool shouldStartThread() - { -+ std::lock_guard locker(mutex); - return (resultsMapSize <= (ReduceQueueStartLimit * threadCount)); - } - }; --- -GitLab - diff --git a/dev-qt/qtcore/Manifest b/dev-qt/qtcore/Manifest index f2ae0e31a72f..0be797496f03 100644 --- a/dev-qt/qtcore/Manifest +++ b/dev-qt/qtcore/Manifest @@ -1,6 +1,3 @@ -AUX qtcore-5.15.5-QTBUG-105286.patch 6250 BLAKE2B bacfd0420e0a1f163d97d75fd2d6c65d1fbdf2b90ace33129caea3c682f5cc54dd3429bd5a0d5865ad9fe291a8abbc9b5951a2e7791ae283da53e839c51dac0b SHA512 397df84c0984c403e5151a63bbfcd925c0cb05bf4d818089c95a72bc7914666912e441baaad808800425c25a62af003431c5459c55c2c3b3e8ef1c73c7f9755e -AUX qtcore-5.15.5-hack_never_use_execinfo.patch 880 BLAKE2B e63e908d592da13f5c762fdd2d38dc223a04dab772381c837a93446d41a16071b51b2b4685084b8de956c5a95b0c71e97a63eb21b99dae764cc202bba899840e SHA512 c9b73d0eb1e957b2ab7b47b4cb7ace72004bf937927572bc86d27536f0b92a4594df8897862090454b1110753af03b6bab3eabdaa728b5cf42b8e2d21ef039cb -AUX qtcore-5.15.5-slibtool.patch 867 BLAKE2B 0e368bac0d3a066e64a45162ba874a857fa37550ae8b2a9d9378d1c864553bf793c53d5e3079f3e80a4c7f5e03201a0a45d084d0dc83fc35ec509f6ceae50188 SHA512 fdc58a17685ed2c66ab68741778a708dd3869ae1fc49b94bef676b96cab3895e68f835dd9e9653ffe707f179a9be5cbe72491b5d1923ad0c4136fc0f92b4033a DIST qtbase-5.15-gentoo-patchset-2.tar.xz 3844 BLAKE2B 6dcb69398cf8a6b1be737e8c7bf1041529c4e704ca892cef10ba3bc5ce435c903607b64e981cf8aa12c785b3e423aa1d52bce1f67ec1bd8dbb1421dfb6f62700 SHA512 b7fd7e17bcab2f9803c7bfc0473082ee4640299c23ce8da943ef80ed181e880ebc9157bcebde28077e80e6f907aa14a59c42416b3e32f49baebd54fbe5a37497 DIST qtbase-5.15.7-gentoo-kde-1.tar.xz 798056 BLAKE2B 3c7fefa65ab6de25c2c82261ad0f1371e32acd4bd4b3303f20a5ebf36d19690df94290d102c65e4941a6c51a5d5f2db0253bafca5ac85cf480f7434405cb2671 SHA512 20ab17220489009c98d7f783a02614507e157974c7cb16f47d50d3954ccd1cd065562effc393df6e07c9ba6ad8ccd4e6b3f0bf5b5b890183b8631b8b570bf064 DIST qtbase-everywhere-opensource-src-5.15.7.tar.xz 50260196 BLAKE2B 69029a910af0e3bfe742b5870334406e03274b0677ef47f9c7c10f730ff031bae49bd21a686497215505b19a183ca395c275d8afefaaa903125297f8e693bb4d SHA512 316de71fba1d5dd91354155dcd0f77e1ce2a798f8296a8699a795ea5e86ad10b6e233299775a92e23328290f3e041240585947e89ee7bd39eb464c5f0ffec343 diff --git a/dev-qt/qtcore/files/qtcore-5.15.5-QTBUG-105286.patch b/dev-qt/qtcore/files/qtcore-5.15.5-QTBUG-105286.patch deleted file mode 100644 index 985dd283dbd4..000000000000 --- a/dev-qt/qtcore/files/qtcore-5.15.5-QTBUG-105286.patch +++ /dev/null @@ -1,165 +0,0 @@ -From 7f9253defd2e90f900d963c6d248a2a0bdaca1a8 Mon Sep 17 00:00:00 2001 -From: Volker Hilsheimer -Date: Tue, 16 Aug 2022 15:32:58 +0200 -Subject: [PATCH] Don't access QObjectPrivate::declarativeData unguarded -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The QObjectPrivate::declarativeData member is stored in a union with -currentChildBeingDeleted. The QObject destructor always sets the -currentChildBeingDeleted member of the union. It also sets the -isDeletingChildren bool, which is the only way to find out which union -member we can safely access. - -While the QObject destructor is deleting children and isDeletingChildren -is set, we must not access the declarativeData member of the union. - -Add a test case that initializes the function pointers for the -declarative handlers and constructs a situation where an object -emits a signal while it is destroying children. - -Fixes: QTBUG-105286 -Pick-to: 6.4 6.3 6.3.2 6.2 5.15 -Change-Id: Iea5ba2f7843b6926a8d157be166e6044d98d6c02 -Reviewed-by: Qt CI Bot -Reviewed-by: Mårten Nordheim -(cherry picked from commit 3be99799a675a631c67e05897383af9abbc377b3) ---- - src/corelib/kernel/qobject.cpp | 4 +- - src/corelib/kernel/qobject_p.h | 2 +- - .../corelib/kernel/qobject/tst_qobject.cpp | 77 +++++++++++++++++++ - 3 files changed, 80 insertions(+), 3 deletions(-) - -diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp -index 0124f88abd..1f3843669b 100644 ---- a/src/corelib/kernel/qobject.cpp -+++ b/src/corelib/kernel/qobject.cpp -@@ -992,7 +992,7 @@ QObject::~QObject() - emit destroyed(this); - } - -- if (d->declarativeData) { -+ if (!d->isDeletingChildren && d->declarativeData) { - if (static_cast(d->declarativeData)->ownedByQml1) { - if (QAbstractDeclarativeData::destroyed_qml1) - QAbstractDeclarativeData::destroyed_qml1(d->declarativeData, this); -@@ -2583,7 +2583,7 @@ int QObject::receivers(const char *signal) const - if (!d->isSignalConnected(signal_index)) - return receivers; - -- if (d->declarativeData && QAbstractDeclarativeData::receivers) { -+ if (!d->isDeletingChildren && d->declarativeData && QAbstractDeclarativeData::receivers) { - receivers += QAbstractDeclarativeData::receivers(d->declarativeData, this, - signal_index); - } -diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h -index 66c19d174e..46dcb93521 100644 ---- a/src/corelib/kernel/qobject_p.h -+++ b/src/corelib/kernel/qobject_p.h -@@ -428,7 +428,7 @@ inline void QObjectPrivate::checkForIncompatibleLibraryVersion(int version) cons - - inline bool QObjectPrivate::isDeclarativeSignalConnected(uint signal_index) const - { -- return declarativeData && QAbstractDeclarativeData::isSignalConnected -+ return !isDeletingChildren && declarativeData && QAbstractDeclarativeData::isSignalConnected - && QAbstractDeclarativeData::isSignalConnected(declarativeData, q_func(), signal_index); - } - -diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp -index 9bd66c0835..ed4a0bae5d 100644 ---- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp -+++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp -@@ -158,6 +158,7 @@ private slots: - void nullReceiver(); - void functorReferencesConnection(); - void disconnectDisconnects(); -+ void declarativeData(); - }; - - struct QObjectCreatedOnShutdown -@@ -7679,5 +7680,81 @@ void tst_QObject::disconnectDisconnects() - Q_STATIC_ASSERT(QtPrivate::HasQ_OBJECT_Macro::Value); - Q_STATIC_ASSERT(!QtPrivate::HasQ_OBJECT_Macro::Value); - -+#ifdef QT_BUILD_INTERNAL -+/* -+ Since QObjectPrivate stores the declarativeData pointer in a union with the pointer -+ to the currently destroyed child, calls to the QtDeclarative handlers need to be -+ correctly guarded. QTBUG-105286 -+*/ -+namespace QtDeclarative { -+static QAbstractDeclarativeData *theData; -+ -+static void destroyed(QAbstractDeclarativeData *data, QObject *) -+{ -+ QCOMPARE(data, theData); -+} -+static void signalEmitted(QAbstractDeclarativeData *data, QObject *, int, void **) -+{ -+ QCOMPARE(data, theData); -+} -+// we can't use QCOMPARE in the next two functions, as they don't return void -+static int receivers(QAbstractDeclarativeData *data, const QObject *, int) -+{ -+ QTest::qCompare(data, theData, "data", "theData", __FILE__, __LINE__); -+ return 0; -+} -+static bool isSignalConnected(QAbstractDeclarativeData *data, const QObject *, int) -+{ -+ QTest::qCompare(data, theData, "data", "theData", __FILE__, __LINE__); -+ return true; -+} -+ -+class Object : public QObject -+{ -+ Q_OBJECT -+public: -+ using QObject::QObject; -+ ~Object() -+ { -+ if (Object *p = static_cast(parent())) -+ p->emitSignal(); -+ } -+ -+ void emitSignal() -+ { -+ emit theSignal(); -+ } -+ -+signals: -+ void theSignal(); -+}; -+ -+} -+#endif -+ -+void tst_QObject::declarativeData() -+{ -+#ifdef QT_BUILD_INTERNAL -+ QScopedValueRollback destroyed(QAbstractDeclarativeData::destroyed, -+ QtDeclarative::destroyed); -+ QScopedValueRollback signalEmitted(QAbstractDeclarativeData::signalEmitted, -+ QtDeclarative::signalEmitted); -+ QScopedValueRollback receivers(QAbstractDeclarativeData::receivers, -+ QtDeclarative::receivers); -+ QScopedValueRollback isSignalConnected(QAbstractDeclarativeData::isSignalConnected, -+ QtDeclarative::isSignalConnected); -+ -+ QtDeclarative::Object p; -+ QObjectPrivate *priv = QObjectPrivate::get(&p); -+ priv->declarativeData = QtDeclarative::theData = new QAbstractDeclarativeData; -+ -+ connect(&p, &QtDeclarative::Object::theSignal, &p, []{ -+ }); -+ -+ QtDeclarative::Object *child = new QtDeclarative::Object; -+ child->setParent(&p); -+#endif -+} -+ - QTEST_MAIN(tst_QObject) - #include "tst_qobject.moc" --- -GitLab - diff --git a/dev-qt/qtcore/files/qtcore-5.15.5-hack_never_use_execinfo.patch b/dev-qt/qtcore/files/qtcore-5.15.5-hack_never_use_execinfo.patch deleted file mode 100644 index c74de19c6144..000000000000 --- a/dev-qt/qtcore/files/qtcore-5.15.5-hack_never_use_execinfo.patch +++ /dev/null @@ -1,27 +0,0 @@ -QtCore only links with -lexecinfo on *bsd and -incorrectly assumes it's already linked on Linux -if execinfo.h exists. - -This is a fix specificallly for non-glibc systems, was written for musl. -We'll look to add a build system option for libexecinfo in future. - ---- - src/corelib/global/qlogging.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp -index 89f49324..1c34a1af 100644 ---- a/src/corelib/global/qlogging.cpp -+++ b/src/corelib/global/qlogging.cpp -@@ -106,7 +106,7 @@ - # if __UCLIBC_HAS_BACKTRACE__ - # define QLOGGING_HAVE_BACKTRACE - # endif --# elif (defined(__GLIBC__) && defined(__GLIBCXX__)) || (__has_include() && __has_include()) -+# elif (defined(__GLIBC__) && defined(__GLIBCXX__)) - # define QLOGGING_HAVE_BACKTRACE - # endif - #endif --- -2.35.1 - diff --git a/dev-qt/qtcore/files/qtcore-5.15.5-slibtool.patch b/dev-qt/qtcore/files/qtcore-5.15.5-slibtool.patch deleted file mode 100644 index a7ae5702cb4d..000000000000 --- a/dev-qt/qtcore/files/qtcore-5.15.5-slibtool.patch +++ /dev/null @@ -1,29 +0,0 @@ -From beebf54552e85c07496aa748710df76131620834 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner -Date: Sun, 17 Jul 2022 17:43:27 +0200 -Subject: [PATCH] Remove quoting around $MAKE call - -Fixes build with e.g. MAKE='make libtool=...' - -Gentoo-bug: https://bugs.gentoo.org/792804 -Signed-off-by: Andreas Sturmlechner ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure b/configure -index b6c9b462..096706b0 100755 ---- a/configure -+++ b/configure -@@ -795,7 +795,7 @@ setBootstrapVariable() - - if [ "$OPT_VERBOSE" = yes ]; then - # Show the output of make -- (cd "$outpath/qmake"; "$MAKE") || exit 2 -+ (cd "$outpath/qmake"; $MAKE) || exit 2 - else - # Hide the output of make - # Use bash to print dots, if we have it, and stdout is a tty. --- -2.35.1 - diff --git a/dev-qt/qtdeclarative/Manifest b/dev-qt/qtdeclarative/Manifest index d5000d30f8a2..ad0693d79419 100644 --- a/dev-qt/qtdeclarative/Manifest +++ b/dev-qt/qtdeclarative/Manifest @@ -1,7 +1,9 @@ AUX qtdeclarative-5.14.2-QQuickItemView-fix-maxXY-extent.patch 1566 BLAKE2B b6436c9be0a7de092635e1fc3999c3142fc3e916cbcc69f472691bbd559f611b4d5741f3627c47162a5ac86126382507add72a25a121235e856b1de802ee19be SHA512 dd5193f8d8a051238dabf63306cc77e3a5696fc12241c27f35cadfd30763ddfeb2af7d640849dcc7a810b7087173b8e9af17341ea1b68440906f2c2f1f96fee3 +AUX qtdeclarative-5.15.7-a11y-track-item-enabled-state.patch 2084 BLAKE2B de9f0a8ed12b0ab50ff3d1aa54b30497a10967d3faa73014cfc4c388b2d0801b3bc09341c505719b09e8f2a4412b59536b400baf7b5db06ba84776daae095413 SHA512 c6c40614fc815cbd0e389e7acfb29ea8fae832ad580eb16b5f56d0d34d63491ce254e1a8adff03fe167b3c8063d98a26cfa90331908bff780bdc208ac7f4a419 DIST qtdeclarative-5.15.7-gentoo-kde-1.tar.xz 24768 BLAKE2B 4595a64432e7c05eb51d9b565189d7f1d76e4d372db4247f1c21f8b4a655a0243c2487203ea669ac88143bb3f3d5dad969370d56522b046bc8fcc28d6597e124 SHA512 96859b52ccc453379c9137587176a26f99f2d4339bbf9008f8268585e77852339b32ffd86b57715109d573b5c6e2ad4963638ae946359d5b46e7a2e570ab2c64 DIST qtdeclarative-everywhere-opensource-src-5.15.7.tar.xz 21591224 BLAKE2B bdb11b3929419a80a3ccd4bbcbc38c17069f1ddbfe5a8bb06345afda7d1cec66396b262b8e2783227912fca90c62b83b388922f631fb284b3b4476c43882276a SHA512 909721a7c756ad3f55fa30b539ddd7f459449edc599883a4e04acbe6f1cecaf44b3a5f2b3b17adb83adaf8cd3e1e5e7e09829b30b0df3dacb1e203892b996508 DIST qtdeclarative-everywhere-src-6.4.0.tar.xz 30538764 BLAKE2B 919081ba8a29a07daa01084388454a3d5f814e12ff5d1a4d3b647650e4bd6a839876baee1ab09e664e55e814338dbf675e70e4c44c28842a363c8f2dcf1a2b18 SHA512 6d43c09a14e2ca236fc50166ed477e37084e89a67a04d914f30f31662a18a4e6d0433cb9b2f0654ba9ffcbcd7abcb5dadcb7b12f0ef5928fc11b10925ee6f41e +EBUILD qtdeclarative-5.15.7-r1.ebuild 1610 BLAKE2B 1ad01c1a9926d3bb7175ca71725197058c6def2efb88c2f189d0b7dfcc4182c06a239f28e425c786a97992d722f762fd1503e83a069e5a1ae82e8716a371a1ef SHA512 574f309790927ea4f8c54f0e815f8e4f7dcee5893ffd8a6ec3ae8d499563abb3a6947557cfef1a2dd176de285bdc047b2ff37e357050335cb27a4271b8e3da6d EBUILD qtdeclarative-5.15.7.ebuild 1537 BLAKE2B 76a9ebd883e91f0b2e9335fc54e1a60d57b727a1bdd28ea4bf98d4830e78faad55bb545783bd0d45e77dd3d286f1de6e366ad3c98c43bf1b296ae33ada741117 SHA512 18bec25fa9a214fc79bbf3ed5969ddc5fed1b51726ea966507d009c65c035421fe1d79e0a9a8e18802e9deb34919eb1b44110c8a137f4fba77d655a215d8cfd2 EBUILD qtdeclarative-6.4.0.ebuild 521 BLAKE2B 17d493bcf062e1d208438aaa85ad814af01546be1476569a9620f7d29270e94d3d8d253d38fb50781b45e83cd4a137262e860eac4a5452c8492f54f7dc8e5dd3 SHA512 bd7b10e8ac12a2deaf5751edb2a7e39ac2530aab69191dd3a1e0c7a35e6038e7f8a96ac7cc1f22fa8377cc1c2de14148f1ec9f767823832fbca59ea7c98d61d5 MISC metadata.xml 799 BLAKE2B d83b1968260ec3b1de9c62454382de42f214c985171c04f98377cd7e1c3a167b5a7707b328d0ffd700e525e7bfa82780907d7358df350a0a9922f36cac940d17 SHA512 b798e3e434f485c82fb058939e864a98dd86b5c2d5df902de256e461d37371291bf0159f31ff474be36d129effb0556e27eb5a5e95ab850fd987fa30f8caecf1 diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-5.15.7-a11y-track-item-enabled-state.patch b/dev-qt/qtdeclarative/files/qtdeclarative-5.15.7-a11y-track-item-enabled-state.patch new file mode 100644 index 000000000000..e41838a34e30 --- /dev/null +++ b/dev-qt/qtdeclarative/files/qtdeclarative-5.15.7-a11y-track-item-enabled-state.patch @@ -0,0 +1,57 @@ +From f697f2e1a4c5f60f3f09ae7d2e3d3dcd20854aef Mon Sep 17 00:00:00 2001 +From: Harald Sitter +Date: Mon, 28 Nov 2022 14:59:33 +0100 +Subject: [PATCH 1/2] a11y: track item enabled state +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +disabled items are neither enabled nor focusable + +Change-Id: I4f286c7b85605d5ad6fa787d1f5cfcce1297d268 +Reviewed-by: Volker Hilsheimer +Reviewed-by: Jan Arve Sæther +(cherry picked from commit 20fd2902a6d7bdb4a3306005d2718ca5a8fef96d) +--- + src/quick/accessible/qaccessiblequickitem.cpp | 4 ++++ + src/quick/items/qquickitem.cpp | 9 +++++++++ + 2 files changed, 13 insertions(+) + +diff --git a/src/quick/accessible/qaccessiblequickitem.cpp b/src/quick/accessible/qaccessiblequickitem.cpp +index eb3df4d4cd..78e2ab302c 100644 +--- a/src/quick/accessible/qaccessiblequickitem.cpp ++++ b/src/quick/accessible/qaccessiblequickitem.cpp +@@ -210,6 +210,10 @@ QAccessible::State QAccessibleQuickItem::state() const + if (role() == QAccessible::EditableText) + if (auto ti = qobject_cast(item())) + state.passwordEdit = ti->echoMode() != QQuickTextInput::Normal; ++ if (!item()->isEnabled()) { ++ state.focusable = false; ++ state.disabled = true; ++ } + return state; + } + +diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp +index 4cf73ff73d..dec0ae19ae 100644 +--- a/src/quick/items/qquickitem.cpp ++++ b/src/quick/items/qquickitem.cpp +@@ -6174,6 +6174,15 @@ void QQuickItemPrivate::setEffectiveEnableRecur(QQuickItem *scope, bool newEffec + } + + itemChange(QQuickItem::ItemEnabledHasChanged, effectiveEnable); ++#if QT_CONFIG(accessibility) ++ if (isAccessible) { ++ QAccessible::State changedState; ++ changedState.disabled = true; ++ changedState.focusable = true; ++ QAccessibleStateChangeEvent ev(q, changedState); ++ QAccessible::updateAccessibility(&ev); ++ } ++#endif + emit q->enabledChanged(); + } + +-- +2.38.1 + diff --git a/dev-qt/qtdeclarative/qtdeclarative-5.15.7-r1.ebuild b/dev-qt/qtdeclarative/qtdeclarative-5.15.7-r1.ebuild new file mode 100644 index 000000000000..f92c424c84cb --- /dev/null +++ b/dev-qt/qtdeclarative/qtdeclarative-5.15.7-r1.ebuild @@ -0,0 +1,68 @@ +# Copyright 2009-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +PYTHON_COMPAT=( python3_{8..11} ) +inherit flag-o-matic python-any-r1 qt5-build + +DESCRIPTION="The QML and Quick modules for the Qt5 framework" + +IUSE="gles2-only +jit localstorage vulkan +widgets" + +# qtgui[gles2-only=] is needed because of bug 504322 +DEPEND=" + =dev-qt/qtcore-${QT5_PV}* + =dev-qt/qtgui-${QT5_PV}*:5=[gles2-only=,vulkan=] + =dev-qt/qtnetwork-${QT5_PV}* + =dev-qt/qttest-${QT5_PV}* + media-libs/libglvnd + localstorage? ( =dev-qt/qtsql-${QT5_PV}* ) + widgets? ( =dev-qt/qtwidgets-${QT5_PV}*[gles2-only=] ) +" +RDEPEND="${DEPEND}" +BDEPEND="${PYTHON_DEPS}" + +PATCHES=( + "${FILESDIR}/${PN}-5.14.2-QQuickItemView-fix-maxXY-extent.patch" # QTBUG-83890 + "${FILESDIR}/${P}-a11y-track-item-enabled-state.patch" # kde/5.15 +) + +src_prepare() { + qt_use_disable_mod localstorage sql \ + src/imports/imports.pro + + qt_use_disable_mod widgets widgets \ + src/src.pro \ + src/qmltest/qmltest.pro \ + tests/auto/auto.pro \ + tools/tools.pro \ + tools/qmlscene/qmlscene.pro \ + tools/qml/qml.pro + + qt5-build_src_prepare +} + +src_configure() { + replace-flags "-Os" "-O2" # bug 840861 + + local myqmakeargs=( + -- + -qml-debug + $(qt_use jit feature-qml-jit) + ) + qt5-build_src_configure +} + +src_install() { + qt5-build_src_install + qt5_symlink_binary_to_path qml 5 + qt5_symlink_binary_to_path qmleasing 5 + qt5_symlink_binary_to_path qmlpreview 5 + qt5_symlink_binary_to_path qmlscene 5 +} diff --git a/dev-qt/qtgui/Manifest b/dev-qt/qtgui/Manifest index 87a361cfcb97..f4fc214df886 100644 --- a/dev-qt/qtgui/Manifest +++ b/dev-qt/qtgui/Manifest @@ -1,8 +1,9 @@ -AUX qtgui-5.15.5-xcb-update-_NET_SUPPORTED-when-WM-changes-it.patch 1642 BLAKE2B 83aae5cf9944de269aaa8131d57a7237c911dfeb80f50f8512fc6c803a91ba9ad62d02c537e7c7f40004d1ca408cabe9f3d1b8e3f5a62a51103cb74bd2198839 SHA512 7683f6a073a38adfce406d3d763f0de18dfdd4f368a5dade27cb555e04bf975213cbd9b01ad71293e8f0a5075de96f6d1b8695fe4d16902a81827f5570852f8a AUX qtgui-5.15.7-fix-no-dbus.patch 3559 BLAKE2B 96c96aa3aee90d2569d86d136646f2929f639d8702ebb5a2faafaaa2a69942d3cb1272044efb4b0b0d8925e8e4867570580b8ff184d03c8b5c19c49e962ecb65 SHA512 6fdef29afc2638d18363c5ae5c403eea65f09e5dfe3a622d5961626221400f0f034086748b72a6b2b84350349d94aae1cb3c7bffb66adf5f70490e440b9be154 +AUX qtgui-5.15.7-fix-wrong-to-linear-conversion.patch 1801 BLAKE2B 14e9fc93edd5cc02a978962e9b35847f5af7a26b2bc27bd9bf67f71b9db7ec01d172660de0817ca44f1936055a1a2385c7395c85a4a70b06da9fc063119d9917 SHA512 9ec38861a924e6170829d0aa4e886bf6be4ded8454d97a52923f2d78a5ee38121ebe29c043bf020f86de62b3eb74a92f3f31fb8698e93d1e7dc7b95a7d7dd6a3 AUX qtgui-5.15.7-xcb-correctly-disconnect-xsettings-callbacks.patch 2463 BLAKE2B d6216187d8416d3e4515470a899093cf36df4f89ba69bb13340d68cec990b018923fbe8813b2d215638a6ad62f515c0b8a383a76b8072916c0b687208e8af005 SHA512 8131948123f95c01ebe524d518addcb62385ba0a65cd308559dc9ac6e971db45b966dd9ca7fe3861c2d3d23ab1ff815ef6365eaaf9262da5b3c03406a1845c40 DIST qtbase-5.15-gentoo-patchset-2.tar.xz 3844 BLAKE2B 6dcb69398cf8a6b1be737e8c7bf1041529c4e704ca892cef10ba3bc5ce435c903607b64e981cf8aa12c785b3e423aa1d52bce1f67ec1bd8dbb1421dfb6f62700 SHA512 b7fd7e17bcab2f9803c7bfc0473082ee4640299c23ce8da943ef80ed181e880ebc9157bcebde28077e80e6f907aa14a59c42416b3e32f49baebd54fbe5a37497 DIST qtbase-5.15.7-gentoo-kde-1.tar.xz 798056 BLAKE2B 3c7fefa65ab6de25c2c82261ad0f1371e32acd4bd4b3303f20a5ebf36d19690df94290d102c65e4941a6c51a5d5f2db0253bafca5ac85cf480f7434405cb2671 SHA512 20ab17220489009c98d7f783a02614507e157974c7cb16f47d50d3954ccd1cd065562effc393df6e07c9ba6ad8ccd4e6b3f0bf5b5b890183b8631b8b570bf064 DIST qtbase-everywhere-opensource-src-5.15.7.tar.xz 50260196 BLAKE2B 69029a910af0e3bfe742b5870334406e03274b0677ef47f9c7c10f730ff031bae49bd21a686497215505b19a183ca395c275d8afefaaa903125297f8e693bb4d SHA512 316de71fba1d5dd91354155dcd0f77e1ce2a798f8296a8699a795ea5e86ad10b6e233299775a92e23328290f3e041240585947e89ee7bd39eb464c5f0ffec343 +EBUILD qtgui-5.15.7-r1.ebuild 4201 BLAKE2B 755f2eabe8e26b6df401f0606600275082af68ee546c730805ac953de7bc0ac982d6413eca144574f8fccb526ef84f44b3fcd13144548e99f60cc6939618e377 SHA512 f2c80c7d048bc404f584e554c4425e861cc14bc25d4b04f6a64911746dcf3ad89fbd26bdd6a09b1320ad64c2543371b6249ca52706234b774ad67d7851941116 EBUILD qtgui-5.15.7.ebuild 4127 BLAKE2B a2c2ef7b2974ca40d3488f66431e0d71492528fc0cf11bc72b8f454e6a9e6d27ed63511e8ab080376e06833611a0a76779fc82dd1446f6c390dbdf93cb162272 SHA512 cdf03610b8ef78a8d57d8352399aab0d1f5567cd76c742c1fc4a84e7642fa2d3256e1337696a328dc76c5f25670b8366a299e2577b7bf12bf80a2cbe738d6623 MISC metadata.xml 1387 BLAKE2B a370bc2dc77b3efcca29b46e9690b1b5e5c08c5fbfcf06211c1a384c9b998517b4da4357b1cc33998d4f480f9c5481e41b42f3b20f8f72d2635b317ed1d5b412 SHA512 ffa4622291427193109a83d422ff53f373fc3eb7449855849f0f39091383abc30fbfcb88a7d53e29bf2d39e1ec1c40f7aac7433b4d7c0aeefd48983047e912d5 diff --git a/dev-qt/qtgui/files/qtgui-5.15.5-xcb-update-_NET_SUPPORTED-when-WM-changes-it.patch b/dev-qt/qtgui/files/qtgui-5.15.5-xcb-update-_NET_SUPPORTED-when-WM-changes-it.patch deleted file mode 100644 index 0d0acdf63a99..000000000000 --- a/dev-qt/qtgui/files/qtgui-5.15.5-xcb-update-_NET_SUPPORTED-when-WM-changes-it.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 97acde2828c8814671f4938e0c4805d945a4d110 Mon Sep 17 00:00:00 2001 -From: Tang Haixiang -Date: Thu, 25 Feb 2021 18:05:17 +0800 -Subject: [PATCH] xcb: Update _NET_SUPPORTED when the window manager changes it -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -In some cases, the application may start before the window manager, and in some window managers -_NET_SUPPORTED may be changed. These situations will cause the _NET_SUPPORTED value obtained by Qt -to be inconsistent with the window manager. - -Fixes: QTBUG-91396 -Change-Id: I63c6934ad2538cdb9f05926b3748216bd0dcf04e -Reviewed-by: Tor Arne Vestbø - - -(cherry picked from commit acb0065cc7e4ee849cc87ce72e46b05a61370c43) ---- - src/plugins/platforms/xcb/qxcbconnection.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp -index 8477e28df1..6aa61e0d34 100644 ---- a/src/plugins/platforms/xcb/qxcbconnection.cpp -+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp -@@ -659,6 +659,8 @@ void QXcbConnection::handleXcbEvent(xcb_generic_event_t *event) - QXcbVirtualDesktop *virtualDesktop = virtualDesktopForRootWindow(propertyNotify->window); - if (virtualDesktop) - virtualDesktop->updateWorkArea(); -+ } else if (propertyNotify->atom == atom(QXcbAtom::_NET_SUPPORTED)) { -+ m_wmSupport->updateNetWMAtoms(); - } else { - HANDLE_PLATFORM_WINDOW_EVENT(xcb_property_notify_event_t, window, handlePropertyNotifyEvent); - } --- -GitLab - diff --git a/dev-qt/qtgui/files/qtgui-5.15.7-fix-wrong-to-linear-conversion.patch b/dev-qt/qtgui/files/qtgui-5.15.7-fix-wrong-to-linear-conversion.patch new file mode 100644 index 000000000000..e0ae71f90f3c --- /dev/null +++ b/dev-qt/qtgui/files/qtgui-5.15.7-fix-wrong-to-linear-conversion.patch @@ -0,0 +1,47 @@ +From a9e67318e6a8924c4b5461656bcc6a80720ae899 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Tue, 6 Dec 2022 10:42:59 +0100 +Subject: [PATCH] Fix wrong to linear conversion + +Causing bad rendering of gamma corrected text on non-standard image +format paint devices. + +Pick-to: 6.4 6.2 5.15 +Fixes: QTBUG-109169 +Change-Id: I6d95e9a42b9ccac609071123dd4535d25e225a29 +Reviewed-by: Fabian Vogt +Reviewed-by: Eirik Aavitsland +(cherry picked from commit a09c33e1f7b5999a16bce9dd23ef8ca33d519210) +--- + src/gui/painting/qcolortrclut_p.h | 1 + + src/gui/painting/qdrawhelper.cpp | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/gui/painting/qcolortrclut_p.h b/src/gui/painting/qcolortrclut_p.h +index 76a6a60803..24fd522e6c 100644 +--- a/src/gui/painting/qcolortrclut_p.h ++++ b/src/gui/painting/qcolortrclut_p.h +@@ -118,6 +118,7 @@ public: + return QRgba64::fromRgba64(r, g, b, qAlpha(rgb32) * 257); + #endif + } ++ QRgba64 toLinear64(QRgba64) const = delete; + + QRgb toLinear(QRgb rgb32) const + { +diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp +index a61793508a..5ba2d277b7 100644 +--- a/src/gui/painting/qdrawhelper.cpp ++++ b/src/gui/painting/qdrawhelper.cpp +@@ -6091,7 +6091,7 @@ static inline void alphargbblend_argb32(quint32 *dst, uint coverage, const QRgba + static inline void rgbBlendPixel(QRgba64 &dst, int coverage, QRgba64 slinear, const QColorTrcLut *colorProfile) + { + // Do a gammacorrected RGB alphablend... +- const QRgba64 dlinear = colorProfile ? colorProfile->toLinear64(dst) : dst; ++ const QRgba64 dlinear = colorProfile ? colorProfile->toLinear(dst) : dst; + + QRgba64 blend = rgbBlend(dlinear, slinear, coverage); + +-- +2.38.1 + diff --git a/dev-qt/qtgui/qtgui-5.15.7-r1.ebuild b/dev-qt/qtgui/qtgui-5.15.7-r1.ebuild new file mode 100644 index 000000000000..8c0d97088139 --- /dev/null +++ b/dev-qt/qtgui/qtgui-5.15.7-r1.ebuild @@ -0,0 +1,186 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +QT5_MODULE="qtbase" +inherit qt5-build + +DESCRIPTION="The GUI module and platform plugins for the Qt5 framework" + +SLOT=5/${QT5_PV} # bug 707658 +IUSE="accessibility dbus egl eglfs evdev gles2-only ibus jpeg +libinput + linuxfb +png tslib tuio +udev vnc vulkan wayland +X" +REQUIRED_USE=" + || ( eglfs linuxfb vnc X ) + accessibility? ( dbus X ) + eglfs? ( egl ) + ibus? ( dbus ) + libinput? ( udev ) + X? ( gles2-only? ( egl ) ) +" + +RDEPEND=" + dev-libs/glib:2 + =dev-qt/qtcore-${QT5_PV}*:5= + dev-util/gtk-update-icon-cache + media-libs/fontconfig + media-libs/freetype:2 + media-libs/harfbuzz:= + sys-libs/zlib:= + dbus? ( =dev-qt/qtdbus-${QT5_PV}* ) + eglfs? ( + media-libs/mesa[gbm(+)] + x11-libs/libdrm + ) + evdev? ( sys-libs/mtdev ) + jpeg? ( media-libs/libjpeg-turbo:= ) + gles2-only? ( media-libs/libglvnd ) + !gles2-only? ( media-libs/libglvnd[X] ) + libinput? ( + dev-libs/libinput:= + x11-libs/libxkbcommon + ) + png? ( media-libs/libpng:= ) + tslib? ( >=x11-libs/tslib-1.21 ) + tuio? ( =dev-qt/qtnetwork-${QT5_PV}* ) + udev? ( virtual/libudev:= ) + vnc? ( =dev-qt/qtnetwork-${QT5_PV}* ) + vulkan? ( dev-util/vulkan-headers ) + X? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libxkbcommon[X] + x11-libs/xcb-util-image + x11-libs/xcb-util-keysyms + x11-libs/xcb-util-renderutil + x11-libs/xcb-util-wm + ) +" +DEPEND="${RDEPEND} + evdev? ( sys-kernel/linux-headers ) + linuxfb? ( sys-kernel/linux-headers ) + udev? ( sys-kernel/linux-headers ) +" +PDEPEND=" + ibus? ( app-i18n/ibus ) + wayland? ( =dev-qt/qtwayland-${QT5_PV}* ) +" + +QT5_TARGET_SUBDIRS=( + src/tools/qvkgen + src/gui + src/openglextensions + src/platformheaders + src/platformsupport + src/plugins/generic + src/plugins/imageformats + src/plugins/platforms + src/plugins/platforminputcontexts +) + +QT5_GENTOO_CONFIG=( + accessibility:accessibility-atspi-bridge + egl:egl: + eglfs:eglfs: + eglfs:eglfs_egldevice: + eglfs:eglfs_gbm: + evdev:evdev: + evdev:mtdev: + :fontconfig: + :system-freetype:FREETYPE + !:no-freetype: + gles2-only::OPENGL_ES + gles2-only:opengles2:OPENGL_ES_2 + !:no-gui: + :system-harfbuzz: + !:no-harfbuzz: + jpeg:system-jpeg:IMAGEFORMAT_JPEG + !jpeg:no-jpeg: + libinput + libinput:xkbcommon: + :opengl + png:png: + png:system-png:IMAGEFORMAT_PNG + !png:no-png: + tslib:tslib: + udev:libudev: + vulkan:vulkan: + X:xcb: + X:xcb-glx: + X:xcb-plugin: + X:xcb-render: + X:xcb-sm: + X:xcb-xlib: + X:xcb-xinput: +) + +QT5_GENTOO_PRIVATE_CONFIG=( + :gui +) + +PATCHES=( + "${FILESDIR}/${P}-fix-wrong-to-linear-conversion.patch" # kde/5.15 + # Approved but pending rebase: + # https://invent.kde.org/qt/qt/qtbase/-/merge_requests/211 + "${FILESDIR}/${P}-xcb-correctly-disconnect-xsettings-callbacks.patch" + # Downstream workaround the fact that QT_CONFIG(dbus) does not work for us: + "${FILESDIR}/${P}-fix-no-dbus.patch" +) + +src_prepare() { + # don't add -O3 to CXXFLAGS, bug 549140 + sed -i -e '/CONFIG\s*+=/s/optimize_full//' src/gui/gui.pro || die + + # egl_x11 is activated when both egl and X are enabled + use egl && QT5_GENTOO_CONFIG+=(X:egl_x11:) || QT5_GENTOO_CONFIG+=(egl:egl_x11:) + + qt_use_disable_config dbus dbus \ + src/platformsupport/themes/genericunix/genericunix.pri + + qt_use_disable_config tuio tuiotouch src/plugins/generic/generic.pro + + qt_use_disable_mod ibus dbus \ + src/plugins/platforminputcontexts/platforminputcontexts.pro + + use vnc || sed -i -e '/SUBDIRS += vnc/d' \ + src/plugins/platforms/platforms.pro || die + + qt5-build_src_prepare +} + +src_configure() { + local myconf=( + $(usev dbus -dbus-linked) + $(qt_use egl) + $(qt_use eglfs) + $(usev eglfs '-gbm -kms') + $(qt_use evdev) + $(qt_use evdev mtdev) + -fontconfig + -system-freetype + -gui + -system-harfbuzz + $(qt_use jpeg libjpeg system) + $(qt_use libinput) + $(qt_use linuxfb) + -opengl $(usex gles2-only es2 desktop) + $(qt_use png libpng system) + $(qt_use tslib) + $(qt_use udev libudev) + $(qt_use vulkan) + $(qt_use X xcb) + $(usev X '-xcb-xlib') + ) + if use libinput || use X; then + myconf+=( -xkbcommon ) + fi + qt5-build_src_configure +} diff --git a/dev-qt/qtprintsupport/Manifest b/dev-qt/qtprintsupport/Manifest index 4f0a055e813e..c0e428605754 100644 --- a/dev-qt/qtprintsupport/Manifest +++ b/dev-qt/qtprintsupport/Manifest @@ -1,4 +1,3 @@ -AUX qtprintsupport-5.15.5-revert-cups-support-accessible-printers.patch 1760 BLAKE2B a6b4ed143edd639376f362c41c636d8fc9924aa9a2c93584039ef5b994ae53e2eff7eb0703bf8e0bce19300e7b873098fee7235ddf2f691764f33830712b4f03 SHA512 32216a87f120af2f689c2257ce1c77db2e26017ece16df04b06454c82888b9ceb800e7d4e91eb5b4ab7de127436906f3ce8c76eaee6407f779670380026745d0 DIST qtbase-5.15-gentoo-patchset-2.tar.xz 3844 BLAKE2B 6dcb69398cf8a6b1be737e8c7bf1041529c4e704ca892cef10ba3bc5ce435c903607b64e981cf8aa12c785b3e423aa1d52bce1f67ec1bd8dbb1421dfb6f62700 SHA512 b7fd7e17bcab2f9803c7bfc0473082ee4640299c23ce8da943ef80ed181e880ebc9157bcebde28077e80e6f907aa14a59c42416b3e32f49baebd54fbe5a37497 DIST qtbase-5.15.7-gentoo-kde-1.tar.xz 798056 BLAKE2B 3c7fefa65ab6de25c2c82261ad0f1371e32acd4bd4b3303f20a5ebf36d19690df94290d102c65e4941a6c51a5d5f2db0253bafca5ac85cf480f7434405cb2671 SHA512 20ab17220489009c98d7f783a02614507e157974c7cb16f47d50d3954ccd1cd065562effc393df6e07c9ba6ad8ccd4e6b3f0bf5b5b890183b8631b8b570bf064 DIST qtbase-everywhere-opensource-src-5.15.7.tar.xz 50260196 BLAKE2B 69029a910af0e3bfe742b5870334406e03274b0677ef47f9c7c10f730ff031bae49bd21a686497215505b19a183ca395c275d8afefaaa903125297f8e693bb4d SHA512 316de71fba1d5dd91354155dcd0f77e1ce2a798f8296a8699a795ea5e86ad10b6e233299775a92e23328290f3e041240585947e89ee7bd39eb464c5f0ffec343 diff --git a/dev-qt/qtprintsupport/files/qtprintsupport-5.15.5-revert-cups-support-accessible-printers.patch b/dev-qt/qtprintsupport/files/qtprintsupport-5.15.5-revert-cups-support-accessible-printers.patch deleted file mode 100644 index 6df15e395eac..000000000000 --- a/dev-qt/qtprintsupport/files/qtprintsupport-5.15.5-revert-cups-support-accessible-printers.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 742cc6db31bff8e506bfb8db699a843ce60627e4 Mon Sep 17 00:00:00 2001 -From: Volker Hilsheimer -Date: Thu, 28 Jul 2022 16:31:18 +0200 -Subject: [PATCH] Revert "CUPS: Add support for accessible IPP printers" - -This reverts commit 2f5f276b4a2a19b9f2669b84f28ce8e970aaa39f, -after which valid printers are no longer listed anymore. - -Fixes: QTBUG-105242 -Pick-to: 6.2 6.3 6.4 5.15 -Change-Id: I6a388acff2a8033ad1052319edcf7e41a2f72c8f -Reviewed-by: Oliver Eftevaag -(cherry-picked from commit f387bb55d4060c6bfac0cd6da736c80dd9a47066) - -* asturmlechner 2022-07-28: This actually reverts commit - 8d2c1e277f984bd4d2b98a4d58f23e578b677fd8 from kde/5.15 branch. ---- - src/plugins/printsupport/cups/qcupsprintersupport.cpp | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/src/plugins/printsupport/cups/qcupsprintersupport.cpp b/src/plugins/printsupport/cups/qcupsprintersupport.cpp -index 1131d43f64..42a7a821f2 100644 ---- a/src/plugins/printsupport/cups/qcupsprintersupport.cpp -+++ b/src/plugins/printsupport/cups/qcupsprintersupport.cpp -@@ -165,12 +165,9 @@ QStringList QCupsPrinterSupport::availablePrintDeviceIds() const - list.reserve(count); - for (int i = 0; i < count; ++i) { - QString printerId = QString::fromLocal8Bit(dests[i].name); -- if (dests[i].instance) { -+ if (dests[i].instance) - printerId += QLatin1Char('/') + QString::fromLocal8Bit(dests[i].instance); -- list.append(printerId); -- } else if (cupsGetOption("printer-uri-supported", dests[i].num_options, dests[i].options)) { -- list.append(printerId); -- } -+ list.append(printerId); - } - cupsFreeDests(count, dests); - return list; --- -GitLab - diff --git a/dev-qt/qtquickcontrols2/Manifest b/dev-qt/qtquickcontrols2/Manifest index bee3586efd88..77ef967d2bfc 100644 --- a/dev-qt/qtquickcontrols2/Manifest +++ b/dev-qt/qtquickcontrols2/Manifest @@ -1,5 +1,6 @@ -AUX qtquickcontrols2-5.15.5-QTBUG-104983.patch 6812 BLAKE2B 7c01348b1a42e60e76758f729acaefa7b5a429ef00b8979b1d34bae2858a02605b56b4baea1b796556a312393a025ca016bea12f76f96ad739cc7ca100220315 SHA512 f54255bf6d341f0c041cb7ab302e135ab6cec646f764ac023b8c86d1b898d4cbe56eb8bcf4508406e66ef3bdee8467e42afeb67e24688a2b470f5f3f8c5bdbc0 DIST qtquickcontrols2-5.15.7-gentoo-kde-1.tar.xz 8132 BLAKE2B 90e9b608477168e919ea30d4571620592d993f04338fb4a0e00f7b8d846bc82978960cd4861dfe4c8d2e366b2e3f9b36848342ad496326f2cba09036eb0f5033 SHA512 bd35612f1afe7ae46a3aea4b2bb1c8c39592ba426c484c5e3b6108fd473df3903153efcc5846e8d909a575e7406325806efbb685662047a43f6079eba8059454 +DIST qtquickcontrols2-5.15.7-gentoo-kde-2.tar.xz 8720 BLAKE2B 16cc913e19cc1fc3c777859af2a8f5d30d26d94f94ef94d9b417c0162aeae0c73064f24ab26323f06d765484f27e30b954d2c4df69202ba42dd5da824091a55e SHA512 3b8351ef284335548ee9fb8f38ea0c8482369bafa44ec46d7b315617e144a5c9754fa0307a49623341cb664dba4bff15ebec89a7554c773b22957bf4157792ee DIST qtquickcontrols2-everywhere-opensource-src-5.15.7.tar.xz 8291644 BLAKE2B 031043f97b3eac00e0e979e0fa42870593f07959b735559ccd6b7732a43f19731d69c434b2c38a8fe3342cdc1e3a5d54b37924228be0628394d113d5924734e0 SHA512 f49e330593b23ab9e84874a7cee1583df9355dd68d7c25e57fba080997b860b86f9003190e5d9a5b393efcb143fd20866daf2c8088a769e3094d6cf9607febd5 +EBUILD qtquickcontrols2-5.15.7-r1.ebuild 659 BLAKE2B 3dfe42c56eba8bfa7efe7f7f941a449a756a59ae1efe1abad396702cdef24b2b1f84139c1b37c4a3b8e5dc72bf2f2d1dc67dd2560cc7f801e967640751514796 SHA512 17e3e31c2b247df80d1fa7b7f7eb98a1d5f0d0be4e87f3f4383529e4b0e42d52bdd53cd33d2b6eb1d1433af5576a15920d07ba8d1ec9d1cdcccff64af3952748 EBUILD qtquickcontrols2-5.15.7.ebuild 656 BLAKE2B 6b365a208f290401e9bddeb9e1cd2f0e94cb01473459defc4fd7c2953036bc099ad617544c3a360feb10533139c729f2f330233a0cf111f73021cbcf11c8fb51 SHA512 573f1bdb3eb3338301ae86a176a83c85d6a18eb23b76c1f24e97d9039ac97343c0c231f6af07a8f2381280cd2f8029bf60f3c8e1885888fbc97d4632d402358f MISC metadata.xml 552 BLAKE2B 8294b8e326a177905eb8b0510295d6b3cc97818c836b6b5d2940b78a5ecccc743c8818436fee3f3a61b2f984560c6fe6346d44e1e6b4fa27a7cf5a9a84f20dd4 SHA512 25f93b07946f9319e9762b9ba6c9adb5ca6348a71ebd5710c0f1690a75ca7f93af8967f323a9e11e7af04fd970a92fedf3ec30d962f85516c7b44f1ea749dbbf diff --git a/dev-qt/qtquickcontrols2/files/qtquickcontrols2-5.15.5-QTBUG-104983.patch b/dev-qt/qtquickcontrols2/files/qtquickcontrols2-5.15.5-QTBUG-104983.patch deleted file mode 100644 index f31e04d6ff4d..000000000000 --- a/dev-qt/qtquickcontrols2/files/qtquickcontrols2-5.15.5-QTBUG-104983.patch +++ /dev/null @@ -1,179 +0,0 @@ -From d0642867ab629daf36a1194274a74758111140be Mon Sep 17 00:00:00 2001 -From: Mitch Curtis -Date: Mon, 18 Jul 2022 15:21:49 +0800 -Subject: [PATCH] Fix scroll bars not showing up when binding to standalone - contentItem - -908aa77d16e00f2bccc0ddae0f8b61955c56a6a1 hid old scroll bars, but -didn't account for the situation where the old scroll bars would be put -back into place, and so they never showed up. - -In the case of the linked bug report, since there was a binding to the -ScrollView's contentItem, a default Flickable would be created. After -that binding was evaluated, the contentItem was set, causing the scroll -bars to be hidden (as part of the process of disconnecting from the old -flickable). To fix the issue, we now do the reverse of hideOldItem when -a new contentItem is set. - -Fixes: QTBUG-104983 -Pick-to: 6.2 6.3 6.4 -Change-Id: I910259cc3e8f6a6231ae6c87c7d4f0f652bd0545 -Reviewed-by: Fabian Kosmale -Reviewed-by: Nate Graham - -(cherry picked from qtdeclarative 58bae53237417f28eac6d772fa6ecab657f8a73f) ---- - src/quicktemplates2/qquickcontrol.cpp | 30 +++++++++++++ - src/quicktemplates2/qquickcontrol_p_p.h | 1 + - src/quicktemplates2/qquickscrollbar.cpp | 11 +++++ - tests/auto/controls/data/tst_scrollview.qml | 47 +++++++++++++++++++++ - 4 files changed, 89 insertions(+) - -diff --git a/src/quicktemplates2/qquickcontrol.cpp b/src/quicktemplates2/qquickcontrol.cpp -index bbbd0e622..1f4b47343 100644 ---- a/src/quicktemplates2/qquickcontrol.cpp -+++ b/src/quicktemplates2/qquickcontrol.cpp -@@ -845,6 +845,13 @@ void QQuickControlPrivate::executeBackground(bool complete) - quickCompleteDeferred(q, backgroundName(), background); - } - -+/* -+ \internal -+ -+ Hides an item that was replaced by a newer one, rather than -+ deleting it, as the item is typically created in QML and hence -+ we don't own it. -+*/ - void QQuickControlPrivate::hideOldItem(QQuickItem *item) - { - if (!item) -@@ -863,6 +870,29 @@ void QQuickControlPrivate::hideOldItem(QQuickItem *item) - #endif - } - -+/* -+ \internal -+ -+ Named "unhide" because it's used for cases where an item -+ that was previously hidden by \l hideOldItem() wants to be -+ shown by a control again, such as a ScrollBar in ScrollView. -+*/ -+void QQuickControlPrivate::unhideOldItem(QQuickControl *control, QQuickItem *item) -+{ -+ Q_ASSERT(item); -+ qCDebug(lcItemManagement) << "unhiding old item" << item; -+ -+ item->setVisible(true); -+ item->setParentItem(control); -+ -+#if QT_CONFIG(accessibility) -+ // Add the item back in to the accessibility tree. -+ QQuickAccessibleAttached *accessible = accessibleAttached(item); -+ if (accessible) -+ accessible->setIgnored(false); -+#endif -+} -+ - void QQuickControlPrivate::updateBaselineOffset() - { - Q_Q(QQuickControl); -diff --git a/src/quicktemplates2/qquickcontrol_p_p.h b/src/quicktemplates2/qquickcontrol_p_p.h -index 8e979079e..a6e624c91 100644 ---- a/src/quicktemplates2/qquickcontrol_p_p.h -+++ b/src/quicktemplates2/qquickcontrol_p_p.h -@@ -173,6 +173,7 @@ public: - virtual void executeBackground(bool complete = false); - - static void hideOldItem(QQuickItem *item); -+ static void unhideOldItem(QQuickControl *control, QQuickItem *item); - - void updateBaselineOffset(); - -diff --git a/src/quicktemplates2/qquickscrollbar.cpp b/src/quicktemplates2/qquickscrollbar.cpp -index 4e2f509db..1c4b308cd 100644 ---- a/src/quicktemplates2/qquickscrollbar.cpp -+++ b/src/quicktemplates2/qquickscrollbar.cpp -@@ -797,6 +797,14 @@ void QQuickScrollBarAttachedPrivate::initHorizontal() - if (parent && parent == flickable->parentItem()) - horizontal->stackAfter(flickable); - -+ // If a scroll bar was previously hidden (due to e.g. setting a new contentItem -+ // on a ScrollView), we need to make sure that we un-hide it. -+ // We don't bother checking if the item is actually the old one, because -+ // if it's not, all of the things the function does (setting parent, visibility, etc.) -+ // should be no-ops anyway. -+ if (auto control = qobject_cast(q_ptr->parent())) -+ QQuickControlPrivate::unhideOldItem(control, horizontal); -+ - layoutHorizontal(); - horizontal->setSize(area->property("widthRatio").toReal()); - horizontal->setPosition(area->property("xPosition").toReal()); -@@ -818,6 +826,9 @@ void QQuickScrollBarAttachedPrivate::initVertical() - if (parent && parent == flickable->parentItem()) - vertical->stackAfter(flickable); - -+ if (auto control = qobject_cast(q_ptr->parent())) -+ QQuickControlPrivate::unhideOldItem(control, vertical); -+ - layoutVertical(); - vertical->setSize(area->property("heightRatio").toReal()); - vertical->setPosition(area->property("yPosition").toReal()); -diff --git a/tests/auto/controls/data/tst_scrollview.qml b/tests/auto/controls/data/tst_scrollview.qml -index 0e8b08352..cd4931184 100644 ---- a/tests/auto/controls/data/tst_scrollview.qml -+++ b/tests/auto/controls/data/tst_scrollview.qml -@@ -576,4 +576,51 @@ TestCase { - verify(newHorizontalScrollBar.visible) - verify(!oldHorizontalScrollBar.visible) - } -+ -+ Component { -+ id: bindingToContentItemAndStandaloneFlickable -+ -+ Item { -+ width: 200 -+ height: 200 -+ -+ property alias scrollView: scrollView -+ -+ ScrollView { -+ id: scrollView -+ anchors.fill: parent -+ contentItem: listView -+ -+ property Item someBinding: contentItem -+ } -+ ListView { -+ id: listView -+ model: 10 -+ delegate: ItemDelegate { -+ text: modelData -+ width: listView.width -+ } -+ } -+ } -+ } -+ -+ // Tests that scroll bars show up for a ScrollView where -+ // - its contentItem is declared as a standalone, separate item -+ // - there is a binding to contentItem (which causes a default Flickable to be created) -+ function test_bindingToContentItemAndStandaloneFlickable() { -+ let root = createTemporaryObject(bindingToContentItemAndStandaloneFlickable, testCase) -+ verify(root) -+ -+ let control = root.scrollView -+ let verticalScrollBar = control.ScrollBar.vertical -+ let horizontalScrollBar = control.ScrollBar.horizontal -+ compare(verticalScrollBar.parent, control) -+ compare(horizontalScrollBar.parent, control) -+ verify(verticalScrollBar.visible) -+ verify(horizontalScrollBar.visible) -+ -+ mouseDrag(verticalScrollBar, verticalScrollBar.width / 2, verticalScrollBar.height / 2, 0, 50) -+ verify(verticalScrollBar.active) -+ verify(horizontalScrollBar.active) -+ } - } --- -GitLab - diff --git a/dev-qt/qtquickcontrols2/qtquickcontrols2-5.15.7-r1.ebuild b/dev-qt/qtquickcontrols2/qtquickcontrols2-5.15.7-r1.ebuild new file mode 100644 index 000000000000..0c4cd5241fff --- /dev/null +++ b/dev-qt/qtquickcontrols2/qtquickcontrols2-5.15.7-r1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=2 + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +inherit qt5-build + +DESCRIPTION="Set of next generation Qt Quick controls for the Qt5 framework" + +IUSE="widgets" + +DEPEND=" + =dev-qt/qtcore-${QT5_PV}* + =dev-qt/qtdeclarative-${QT5_PV}* + =dev-qt/qtgui-${QT5_PV}* + widgets? ( =dev-qt/qtwidgets-${QT5_PV}* ) +" +RDEPEND="${DEPEND} + =dev-qt/qtgraphicaleffects-${QT5_PV}* +" + +src_prepare() { + qt_use_disable_mod widgets widgets \ + src/imports/platform/platform.pro + + qt5-build_src_prepare +} diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest index 4d513d7797c2..62c7bbefc865 100644 --- a/dev-qt/qtwayland/Manifest +++ b/dev-qt/qtwayland/Manifest @@ -1,8 +1,8 @@ -AUX qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch 4691 BLAKE2B d817e7715759dfd6a6efc13b3b8e7742406b3af7cdf8602e134121b8d6e97e857dc82bb71e32c0ad04a04fc8f20443475bd5a251ab6eb0c83412a75201865561 SHA512 82ac704e0a57a0e6272676c329e29116a7ab4186c94a1e81fe4f503bf332b20b699930d86ff22e9a83e72be856a5711230f264a6d10991fd070601ab4e4fd67c -AUX qtwayland-5.15.3-clang.patch 405 BLAKE2B 914a7448f590cfd6e83ca32352070644bbb6c07bd794d6f86ff6346d4697f6734d4c61469f20fa27517cf14f4742df946dba1f20ac242ea50d8e712733e3c099 SHA512 41da7708a596eabbbf58baa2d081c6a870fd49ac5b284c094e7e3230df201ae29627de1470bc3a80aff3dd30166b51bf9fce53e3d6fda0f18b97452fda3cd467 DIST qtwayland-5.15.7-gentoo-kde-1.tar.xz 42912 BLAKE2B e616cdb5aef13b6350658de2d6922109b7d827536afce98d67f7b1936c91de7521a6b4f8997926334cb77e1009fd4e27e4e0aef5c78cf9ba5a6c964797d2b1e1 SHA512 23be3f4e1612a557f1eb0c17cb158897b48910e336765b6c2e06ed892b67f368dfd4ba916373bbed9d3650a1e1f39b3768db39632b4763ad103515b32a86c0c2 +DIST qtwayland-5.15.7-gentoo-kde-2.tar.xz 43720 BLAKE2B b80db3b4113ea2b80709595a7762d185576f9017e6dc089c99613cb03aad569e53bee3ca083b9ec9866c6835aee5f35cf3240cd3a681a1e038ae0fa18f62bd03 SHA512 947e2862524f83ca7f4ca6e5eee16162642cf510929ef9dad642408fe023d9b27fe88ee21cf1bd498c318ae39a278d02ae85c8aae0a552f30823a9a244250dc4 DIST qtwayland-everywhere-opensource-src-5.15.7.tar.xz 568024 BLAKE2B ed2031ea40c5618c2390865807ef33eae42a3231098f1959f0a7e9e3b8e8d70f4461647aaa11afeade0528aa4d14049b03cc566552a13dd4d1b5773ec3d16061 SHA512 a004a82ec2b4f132d597ae3c82b4079671ecdfeed09c455073e552197da2b9f921c85bef2b40be76e87e61d5ec1e7ab39ed232be26b27d9aed6e938c659965a3 DIST qtwayland-everywhere-src-6.4.0.tar.xz 836088 BLAKE2B 3efc506e1a0bc63182397d483bf352e21d39c75a7360ee3fe839527451950875748aea5cf62207ffef38b845a12c2bbbefde918d14333d1b194a4ea39b82670f SHA512 745fcc84c936c3f2fa7382291b5013679f9e57d6c680f1d352b0a132ba7cbaaea1495211f8fc4f1af85a81c711794987e4e05284d3ac06c94e92e9b601dae924 +EBUILD qtwayland-5.15.7-r1.ebuild 1008 BLAKE2B 6c530af0c321eec7d3ebabc7304bb5803b97983d0bd6b7ec032f09b91ad2456bd7300e505c931870e0b3449ed4c5afa0bf8eb0ea45ad2cd3529265dc1d722488 SHA512 a4f711eb5c1cc2c39182826abecffb3d279b61ff82eb92c2d5c9f10c5c28efad05688a0a9b771d48e147801082cfe67dbe5522cb7b5b2bf28caedbcfbce01e52 EBUILD qtwayland-5.15.7.ebuild 1002 BLAKE2B 7a4945b847da1f25bcb4f6c1deced1caced106e08ef96a26e54601448a839b4e14dac349cc6594b977bc5673520a5578cbb108e962a737f7d72eb15eaf19f08c SHA512 cb5bc1170be1a8e27b61805155749e627bd93f09402b23400622c8f43ee8fd3b5007e9bf5fb93682809ee049f93f8714dd2c27e0c05921c35cb7a26a5f0785de EBUILD qtwayland-6.4.0.ebuild 438 BLAKE2B ecb43b4035f97bde672b22faf6a1aa7a5fd0860db6bf871b4055c97b1c199840e2ba84b6720a69a3a2ff5bc8222abaead3a6ba53c282e83b1c3c114cd075115a SHA512 c9512430e1085f3e60a4fcab21036ac8aa393eb442ec2ebcc7f4161958316a9131bddbdb422fb2018f190ec99d5d51d2ba02a28503c220cc5e2c16e904445190 MISC metadata.xml 584 BLAKE2B ad42909b120209835e121a29de558d338bae4348eb55e69a94e8ac8b54f26564df0a750839bef9418ae8056a0d24f234615247a610b8287f5b0fbffbc60193f2 SHA512 86fd81d63b19fc6e95bdcb92e9da9b03861248a4e78e9de36aca6996e61644ab8bce7a60ca22ee7ad86fefc9b407a1fd0136240b8fdfa3c40a149444ab1dcbe2 diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch b/dev-qt/qtwayland/files/qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch deleted file mode 100644 index 8bffa3e08b3e..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch +++ /dev/null @@ -1,131 +0,0 @@ -From d7b34dbf072236cdfb3b64e5ad26d1ff29dfec5f Mon Sep 17 00:00:00 2001 -From: Eskil Abrahamsen Blomfeldt -Date: Thu, 22 Apr 2021 08:42:33 +0200 -Subject: client: Gracefully handle shutdown and window hiding - -When a window is hidden or destroyed, the render thread may already -be rendering. We need to properly read-lock the surface pointer -when it is in use and exit when it becomes null. - -Note that there is also a potential crash in the Mesa GL driver -where it keeps a proxy to the wl_surface, so if we delete this -while we are still rendering, it can crash inside the driver. -This is not addressed by this patch, and has not been reproduced -on any other drivers so far. - -[ChangeLog][Client] Fixed a crash that could happen when hiding -or closing windows while Qt Quick was actively rendering on -a different thread. - -Pick-to: 6.0 6.1 5.15 -Fixes: QTBUG-91264 -Fixes: QTBUG-90037 -Task-number: QTBUG-92249 -Change-Id: I029b123b83c58740321e8b90a463ced748d8bcf4 -Reviewed-by: Laszlo Agocs -Reviewed-by: David Edmundson -(cherry picked from commit b19b0fbaf775e8b8eda1e03c265a5393d618c6c0) ---- - src/client/qwaylandwindow.cpp | 17 ++++++++++++++++- - src/client/qwaylandwindow_p.h | 2 +- - .../client/wayland-egl/qwaylandglcontext.cpp | 1 - - 3 files changed, 17 insertions(+), 3 deletions(-) - -diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp -index 494911b3..0d849b57 100644 ---- a/src/client/qwaylandwindow.cpp -+++ b/src/client/qwaylandwindow.cpp -@@ -414,6 +414,7 @@ void QWaylandWindow::closePopups(QWaylandWindow *parent) - - QPlatformScreen *QWaylandWindow::calculateScreenFromSurfaceEvents() const - { -+ QReadLocker lock(&mSurfaceLock); - if (mSurface) { - if (auto *screen = mSurface->oldestEnteredScreen()) - return screen; -@@ -552,6 +553,10 @@ void QWaylandWindow::sendRecursiveExposeEvent() - - void QWaylandWindow::attach(QWaylandBuffer *buffer, int x, int y) - { -+ QReadLocker locker(&mSurfaceLock); -+ if (mSurface == nullptr) -+ return; -+ - if (buffer) { - Q_ASSERT(!buffer->committed()); - handleUpdate(); -@@ -571,6 +576,10 @@ void QWaylandWindow::attachOffset(QWaylandBuffer *buffer) - - void QWaylandWindow::damage(const QRect &rect) - { -+ QReadLocker locker(&mSurfaceLock); -+ if (mSurface == nullptr) -+ return; -+ - const int s = scale(); - if (mDisplay->compositorVersion() >= 4) - mSurface->damage_buffer(s * rect.x(), s * rect.y(), s * rect.width(), s * rect.height()); -@@ -605,6 +614,8 @@ void QWaylandWindow::commit(QWaylandBuffer *buffer, const QRegion &damage) - qCDebug(lcWaylandBackingstore) << "Buffer already committed, ignoring."; - return; - } -+ -+ QReadLocker locker(&mSurfaceLock); - if (!mSurface) - return; - -@@ -624,7 +635,9 @@ void QWaylandWindow::commit(QWaylandBuffer *buffer, const QRegion &damage) - - void QWaylandWindow::commit() - { -- mSurface->commit(); -+ QReadLocker locker(&mSurfaceLock); -+ if (mSurface != nullptr) -+ mSurface->commit(); - } - - const wl_callback_listener QWaylandWindow::callbackListener = { -@@ -725,6 +738,7 @@ QPointF QWaylandWindow::mapFromWlSurface(const QPointF &surfacePosition) const - - wl_surface *QWaylandWindow::wlSurface() - { -+ QReadLocker locker(&mSurfaceLock); - return mSurface ? mSurface->object() : nullptr; - } - -@@ -749,6 +763,7 @@ QWaylandScreen *QWaylandWindow::waylandScreen() const - - void QWaylandWindow::handleContentOrientationChange(Qt::ScreenOrientation orientation) - { -+ QReadLocker locker(&mSurfaceLock); - if (mDisplay->compositorVersion() < 2) - return; - -diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h -index d45980a8..54ac67a9 100644 ---- a/src/client/qwaylandwindow_p.h -+++ b/src/client/qwaylandwindow_p.h -@@ -288,7 +288,7 @@ private: - - static QWaylandWindow *mMouseGrab; - -- QReadWriteLock mSurfaceLock; -+ mutable QReadWriteLock mSurfaceLock; - - friend class QWaylandSubSurface; - }; -diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -index 683fe123..8f12736d 100644 ---- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -@@ -192,7 +192,6 @@ public: - } - void blit(QWaylandEglWindow *window) - { -- Q_ASSERT(window->wlSurface()); - QOpenGLTextureCache *cache = QOpenGLTextureCache::cacheForContext(m_context->context()); - - QSize surfaceSize = window->surfaceSize(); --- -2.35.0 - diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.3-clang.patch b/dev-qt/qtwayland/files/qtwayland-5.15.3-clang.patch deleted file mode 100644 index 4ad80127f516..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-5.15.3-clang.patch +++ /dev/null @@ -1,12 +0,0 @@ -https://bugs.gentoo.org/833488 ---- a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h -+++ b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h -@@ -44,6 +44,8 @@ - #include - #include - -+#include -+ - // compatibility with libdrm <= 2.4.74 - #ifndef DRM_FORMAT_RESERVED - #define DRM_FORMAT_RESERVED ((1ULL << 56) - 1) diff --git a/dev-qt/qtwayland/qtwayland-5.15.7-r1.ebuild b/dev-qt/qtwayland/qtwayland-5.15.7-r1.ebuild new file mode 100644 index 000000000000..70185ea5e611 --- /dev/null +++ b/dev-qt/qtwayland/qtwayland-5.15.7-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=2 + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +inherit qt5-build + +DESCRIPTION="Wayland platform plugin for Qt" + +SLOT=5/${QT5_PV} # bug 815646 +IUSE="vulkan X" + +DEPEND=" + dev-libs/wayland + =dev-qt/qtcore-${QT5_PV}*:5= + =dev-qt/qtdeclarative-${QT5_PV}*:5= + =dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=,X?] + media-libs/libglvnd + vulkan? ( dev-util/vulkan-headers ) + X? ( + =dev-qt/qtgui-${QT5_PV}*[-gles2-only] + x11-libs/libX11 + x11-libs/libXcomposite + ) +" +RDEPEND="${DEPEND}" +BDEPEND="dev-util/wayland-scanner" + +src_configure() { + local myqmakeargs=( + -- + $(qt_use vulkan feature-wayland-vulkan-server-buffer) + $(qt_use X feature-xcomposite-egl) + $(qt_use X feature-xcomposite-glx) + ) + qt5-build_src_configure +} + +src_install() { + qt5-build_src_install + rm "${D}${QT5_BINDIR}"/qtwaylandscanner || die +} diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest index 3a018e04220f..6a5828d4c069 100644 --- a/dev-qt/qtwebengine/Manifest +++ b/dev-qt/qtwebengine/Manifest @@ -8,7 +8,6 @@ AUX qtwebengine-5.15.3_p20220329-clang14.patch 1883 BLAKE2B 9f4afae3ea240841f8b0 AUX qtwebengine-5.15.3_p20220406-ffmpeg5.patch 8393 BLAKE2B 07dee5bd305699378353796fc6c9f06daba31d9c152c565fa9391215334b064cc926915e7d47a7d1361f8a209ea812c7eea79bfcbcbbacb49cd79d77454b5962 SHA512 12b735976924c916654fda5582239354e9ef0f99ea1ba0e768b2225b29bee4bfd10ca6d3a861874bd310ed3afd885696e78d678e84be85458efdbc16cf1039d7 AUX qtwebengine-5.15.3_p20220406-gcc12-includes.patch 1139 BLAKE2B ba451fcef0dd235f6044622913197581fe2d2f3de8b6342fd9dc0f6706c28a16d8d6b6ad5429f6f2ea3a211a3cd01b730a1b36fd1f34e61b4391d19e0db1ae91 SHA512 7104313aec55fc8eede53cc966833f8e2632d175e4206dd90da2fa42807795152a01010e2cce7bacd57f30cd3fdbbfef32624d5763210d08362beda77a5724cd AUX qtwebengine-5.15.3_p20220505-extra-gn.patch 458 BLAKE2B 0595f06d31fd83a04cc0ef9fb7567374c28c4d09c8774e6584d288aa18c2386efe699bd1d155fdee96f5960d3575baff6a6aa7a694d0c953401f80add9daf6c3 SHA512 81498f04c1ad4d73e888bba31fb1129e24990bcddb1d68111b004bba2e4fdab91698b3fe1d01bd94a0bf904e52f614cddc4ba6f70ffaf6a1d45e37a53e583629 -AUX qtwebengine-5.15.5_p20220618-fixup-CVE-2022-0796.patch 2259 BLAKE2B 77426028cd350e3e70739cf5e5827b9a6302d2fada806ba46c5bdf9394b47d47aa2f52d8f1f38e53662bdfc3eb1e6c1616e77fbefb3e9b3c685d9271597b4153 SHA512 be2e52eba0168cfedad5e72a0f766fa2e0ef9beab9c28e44d2478fc0c4187cf669d03141b04c4a37ec5cfdd1d3987ce43e1cee61a59ae18fa2101a2a2eaf8d90 AUX qtwebengine-6.4.0-no-websocket-intercept.patch 1582 BLAKE2B ca612dfe68ea051bec1a0af75806326a152fde8ece5449ceefd706eaa83911396ad4d2fc7633d53d6b54b17501a25a59928a34c82fdd88c6de4a3c7d110b1ec5 SHA512 bfaaa8f294a21390b45eafb5fabd933021208056d032169c6388a5d9f96991971c01adbb61d9293afd830114f671440f645ce2d53fe9596f390bce806cadc003 DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e DIST qtwebengine-5.15.2_p20211019-jumbo-build.patch.bz2 2930 BLAKE2B fca1d1406874d04eafb64bb4d8730512a6307ba44fb99d76f428ca1bd4a303758e0c3bd8f92a59f7bcf62e5b767c5a8ed239028bdb74ad7a8b62abf88d38c101 SHA512 61cbfbe4ff340b75ea8d356e031e932ac03fe65dd009999ff897ca4b0185d1d989490daf75ffeaaabb3e92c870c11c7ff8ad2cd6372f5363b3d774b8ecca6d89 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-fixup-CVE-2022-0796.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-fixup-CVE-2022-0796.patch deleted file mode 100644 index c38bf1bdeeb3..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-fixup-CVE-2022-0796.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 7e11d69b957595a172a3eb60db17141daed29d63 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20Br=C3=BCning?= -Date: Mon, 20 Jun 2022 17:19:58 +0200 -Subject: Fixup: CVE-2022-0796: Use after free in Media - -Commit ecc2bb74f1f accidentally introduced a build break due to an -apparent typo. - -This fixes it. - -Change-Id: I746c6f10ecd2b212b847a291677e24e527d6b922 -Reviewed-by: Michal Klocek ---- - chromium/content/renderer/media/batching_media_log.h | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/3rdparty/chromium/content/renderer/media/batching_media_log.h b/src/3rdparty/chromium/content/renderer/media/batching_media_log.h -index b68535aea42..a28d426878f 100644 ---- a/src/3rdparty/chromium/content/renderer/media/batching_media_log.h -+++ b/src/3rdparty/chromium/content/renderer/media/batching_media_log.h -@@ -72,18 +72,18 @@ class CONTENT_EXPORT BatchingMediaLog : public media::MediaLog { - // guarantees provided by MediaLog, since SendQueuedMediaEvents must also - // be synchronized with respect to AddEvent. - mutable base::Lock lock_; -- const base::TickClock* tick_clock_ GUARDED_BY(LOCK); -- base::TimeTicks last_ipc_send_time_ GUARDED_BY(LOCK); -- std::vector queued_media_events_ GUARDED_BY(LOCK); -+ const base::TickClock* tick_clock_ GUARDED_BY(lock_); -+ base::TimeTicks last_ipc_send_time_ GUARDED_BY(lock_); -+ std::vector queued_media_events_ GUARDED_BY(lock_); - - // impl for sending queued events. -- std::vector> event_handlers_ GUARDED_BY(LOCK); -+ std::vector> event_handlers_ GUARDED_BY(lock_); - - // For enforcing max 1 pending send. -- bool ipc_send_pending_ GUARDED_BY(LOCK); -+ bool ipc_send_pending_ GUARDED_BY(lock_); - - // Limits the number of events we send over IPC to one. -- std::unique_ptr last_duration_changed_event_ GUARDED_BY(LOCK); -+ std::unique_ptr last_duration_changed_event_ GUARDED_BY(lock_); - - // Holds the earliest MEDIA_ERROR_LOG_ENTRY event added to this log. This is - // most likely to contain the most specific information available describing --- -cgit v1.2.1 - -- cgit v1.2.3