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)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id CE020158086 for ; Fri, 10 Dec 2021 13:19:32 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E69C22BC03A; Fri, 10 Dec 2021 13:19:29 +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)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C27682BC034 for ; Fri, 10 Dec 2021 13:19:29 +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)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2D3593431AD for ; Fri, 10 Dec 2021 13:19:28 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 995CF244 for ; Fri, 10 Dec 2021 13:19:25 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1639142342.7e09ceab8329a85fe65c439afb94d85f68c8d53e.asturm@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-5.15.2-fix-crash-when-iterating-through-outputs.patch dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild X-VCS-Directories: dev-qt/qtwayland/files/ dev-qt/qtwayland/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: 7e09ceab8329a85fe65c439afb94d85f68c8d53e X-VCS-Branch: master Date: Fri, 10 Dec 2021 13:19:25 +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: 84068f50-4a7e-435b-8953-68fa126ab6f1 X-Archives-Hash: 008329a24c5f5d31a3d4e6bd48fe556b commit: 7e09ceab8329a85fe65c439afb94d85f68c8d53e Author: Andreas Sturmlechner gentoo org> AuthorDate: Fri Dec 10 12:51:05 2021 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Fri Dec 10 13:19:02 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e09ceab dev-qt/qtwayland: Try to fix crashes on monitor disconnects See also: https://codereview.qt-project.org/c/qt/qtwayland/+/381271 KDE-bug: https://bugs.kde.org/show_bug.cgi?id=438839#c53 Package-Manager: Portage-3.0.29, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner gentoo.org> ...-fix-crash-when-iterating-through-outputs.patch | 36 ++++++++++++++++++++++ dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild | 4 +++ 2 files changed, 40 insertions(+) diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.2-fix-crash-when-iterating-through-outputs.patch b/dev-qt/qtwayland/files/qtwayland-5.15.2-fix-crash-when-iterating-through-outputs.patch new file mode 100644 index 000000000000..cf37737e0226 --- /dev/null +++ b/dev-qt/qtwayland/files/qtwayland-5.15.2-fix-crash-when-iterating-through-outputs.patch @@ -0,0 +1,36 @@ +From 46ed85a80b28d519cf5887bbdce55d1bf57886c3 Mon Sep 17 00:00:00 2001 +From: David Edmundson +Date: Sun, 14 Nov 2021 13:54:19 +0000 +Subject: [PATCH] Client: Avoid processing of events when showing windows + +The only time we want to dispatch events from the wayland socket is when +the application is waiting for external events. Doing so at any other +time will cause unpredictable behavior in client code. + +This caused a crash downstream where we had outputs get altered whilst +itterating through outputs, which shouldn't happen. + +There is no benefit to flushing here, it won't make anything appear +faster as we haven't attached the buffer yet. + +Change-Id: Ie13eae4012dab96a93d8810f468d1343402b8c28 +Reviewed-by: Qt CI Bot +Reviewed-by: Aleix Pol Gonzalez +--- + src/client/qwaylandwindow.cpp | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp +index 635c92a08..b0d1c0d1c 100644 +--- a/src/client/qwaylandwindow.cpp ++++ b/src/client/qwaylandwindow.cpp +@@ -477,7 +477,6 @@ void QWaylandWindow::setVisible(bool visible) + if (window()->type() == Qt::Popup || window()->type() == Qt::ToolTip) + activePopups << this; + initWindow(); +- mDisplay->flushRequests(); + + setGeometry(windowGeometry()); + // Don't flush the events here, or else the newly visible window may start drawing, but since +-- +2.16.3 diff --git a/dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild b/dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild index 528a0d8a1745..60bd8391f0d6 100644 --- a/dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild +++ b/dev-qt/qtwayland/qtwayland-5.15.2-r16.ebuild @@ -33,6 +33,10 @@ BDEPEND=" dev-util/wayland-scanner " +PATCHES=( + "${FILESDIR}"/${P}-fix-crash-when-iterating-through-outputs.patch # KDE-bug 438839 +) + src_configure() { local myqmakeargs=( --