From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 91CF115800A for ; Thu, 17 Aug 2023 23:21:52 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id AE5642BC015; Thu, 17 Aug 2023 23:21:51 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 97BD62BC015 for ; Thu, 17 Aug 2023 23:21:51 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 974CD335DBB for ; Thu, 17 Aug 2023 23:21:50 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id C5063E93 for ; Thu, 17 Aug 2023 23:21:48 +0000 (UTC) From: "Ionen Wolkens" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ionen Wolkens" Message-ID: <1692314343.69c8497c982a6e82cd1c1762e27c3cdfe52436ed.ionen@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/, dev-qt/qtwayland/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-qt/qtwayland/files/qtwayland-6.5.2-drag-drop-segfault.patch dev-qt/qtwayland/qtwayland-6.5.2-r1.ebuild dev-qt/qtwayland/qtwayland-6.5.2.ebuild X-VCS-Directories: dev-qt/qtwayland/files/ dev-qt/qtwayland/ X-VCS-Committer: ionen X-VCS-Committer-Name: Ionen Wolkens X-VCS-Revision: 69c8497c982a6e82cd1c1762e27c3cdfe52436ed X-VCS-Branch: master Date: Thu, 17 Aug 2023 23:21:48 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 78d9ef93-bd79-40a1-8096-8ba181a65218 X-Archives-Hash: d7c260a23a3b3cda0bd4745de067b9ec commit: 69c8497c982a6e82cd1c1762e27c3cdfe52436ed Author: Ionen Wolkens gentoo org> AuthorDate: Thu Aug 17 22:50:11 2023 +0000 Commit: Ionen Wolkens gentoo org> CommitDate: Thu Aug 17 23:19:03 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69c8497c dev-qt/qtwayland: backport segfault fix with drag&drop Notably manifests itself with qutebrowser. Not very tested but is just a simple null check and so no worries. Signed-off-by: Ionen Wolkens gentoo.org> .../files/qtwayland-6.5.2-drag-drop-segfault.patch | 38 ++++++++++++++++++++++ ...land-6.5.2.ebuild => qtwayland-6.5.2-r1.ebuild} | 2 ++ 2 files changed, 40 insertions(+) diff --git a/dev-qt/qtwayland/files/qtwayland-6.5.2-drag-drop-segfault.patch b/dev-qt/qtwayland/files/qtwayland-6.5.2-drag-drop-segfault.patch new file mode 100644 index 000000000000..d19522c4b8ef --- /dev/null +++ b/dev-qt/qtwayland/files/qtwayland-6.5.2-drag-drop-segfault.patch @@ -0,0 +1,38 @@ +Regression in 6.5.2 that is fixed >=6.5.3. +https://bugreports.qt.io/browse/QTBUG-115757 +https://github.com/qutebrowser/qutebrowser/issues/7827 + +https://github.com/qt/qtwayland/commit/02e9e0a2d4538eb2b3c26d3137228f8f501bcf7f +From: David Edmundson +Date: Wed, 7 Jun 2023 22:12:15 +0100 +Subject: [PATCH] client: Fix crash on dnd updates after client facing drag + ends + +A platform drag and a application-facing drag have two different +lifespans. + +The platform drag lasts until all mimedata is transferred and the client +receiving the drops marks it as finished. + +The application facing QDrag lasts until the client deletes it. We can +get a crash if we get updates during this time. + +The drop event is guarded, but not the action negotiation. + +Fixes: QTBUG-115757 +Change-Id: Ib9c047f04d65883105d4cd3f169637d0e038a63f +Reviewed-by: Eskil Abrahamsen Blomfeldt +(cherry picked from commit 22daca49b807fefba58113a06b86df4274e49f62) +Reviewed-by: David Edmundson +--- a/src/client/qwaylanddatadevice.cpp ++++ b/src/client/qwaylanddatadevice.cpp +@@ -97,6 +97,9 @@ bool QWaylandDataDevice::startDrag(QMimeData *mimeData, Qt::DropActions supporte + connect(m_dragSource.data(), &QWaylandDataSource::cancelled, this, &QWaylandDataDevice::dragSourceCancelled); + connect(m_dragSource.data(), &QWaylandDataSource::dndResponseUpdated, this, [this](bool accepted, Qt::DropAction action) { + auto drag = static_cast(QGuiApplicationPrivate::platformIntegration()->drag()); ++ if (!drag->currentDrag()) { ++ return; ++ } + // in old versions drop action is not set, so we guess + if (m_dragSource->version() < 3) { + drag->setResponse(accepted); diff --git a/dev-qt/qtwayland/qtwayland-6.5.2.ebuild b/dev-qt/qtwayland/qtwayland-6.5.2-r1.ebuild similarity index 88% rename from dev-qt/qtwayland/qtwayland-6.5.2.ebuild rename to dev-qt/qtwayland/qtwayland-6.5.2-r1.ebuild index 14d6b705e8ef..4fbc8c272b2c 100644 --- a/dev-qt/qtwayland/qtwayland-6.5.2.ebuild +++ b/dev-qt/qtwayland/qtwayland-6.5.2-r1.ebuild @@ -20,3 +20,5 @@ DEPEND=" x11-libs/libxkbcommon " RDEPEND="${DEPEND}" + +PATCHES=( "${FILESDIR}/${P}-drag-drop-segfault.patch" )