commit:     6ee50c5f09b80ba9c8990f9fbff084dc378dc4e0
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  9 14:29:24 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jul  9 14:34:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ee50c5f

dev-qt/qtwayland: backport regression fix for plasmashell

Straight-to-stable given kind of a trival+important fix and
want to avoid a double stablereq bug while 6.7.2 is still
being stabilized.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/qtwayland-6.7.2-plasma-popup.patch       | 25 ++++++++++++++++++++++
 ...land-6.7.2.ebuild => qtwayland-6.7.2-r1.ebuild} |  4 ++++
 2 files changed, 29 insertions(+)

diff --git a/dev-qt/qtwayland/files/qtwayland-6.7.2-plasma-popup.patch 
b/dev-qt/qtwayland/files/qtwayland-6.7.2-plasma-popup.patch
new file mode 100644
index 000000000000..25c7918a5a8b
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-6.7.2-plasma-popup.patch
@@ -0,0 +1,25 @@
+Fixed in qtwayland-6.7.3
+
+https://mail.kde.org/pipermail/distributions/2024-July/001512.html
+https://invent.kde.org/qt/qt/qtwayland/-/commit/92bcb8f6b7a852c7a5d662fc34de561692a7a454
+From: Vlad Zahorodnii <[email protected]>
+Date: Thu, 20 Jun 2024 11:25:06 +0300
+Subject: [PATCH] Client: Ensure that guessed popup parent has a shell surface
+
+The last input window may not have a shell surface if it is a subsurface
+or that window has been just made invisible.
+--- a/src/client/qwaylandwindow.cpp
++++ b/src/client/qwaylandwindow.cpp
+@@ -1157,8 +1157,10 @@ QWaylandWindow *QWaylandWindow::guessTransientParent() 
const
+             return mTopPopup;
+     }
+ 
+-    if (window()->type() == Qt::ToolTip || window()->type() == Qt::Popup)
+-        return display()->lastInputWindow();
++    if (window()->type() == Qt::ToolTip || window()->type() == Qt::Popup) {
++        if (auto lastInputWindow = display()->lastInputWindow())
++            return closestShellSurfaceWindow(lastInputWindow->window());
++    }
+ 
+     return nullptr;
+ }

diff --git a/dev-qt/qtwayland/qtwayland-6.7.2.ebuild 
b/dev-qt/qtwayland/qtwayland-6.7.2-r1.ebuild
similarity index 96%
rename from dev-qt/qtwayland/qtwayland-6.7.2.ebuild
rename to dev-qt/qtwayland/qtwayland-6.7.2-r1.ebuild
index 1d847bfe9c81..954acc3d10d2 100644
--- a/dev-qt/qtwayland/qtwayland-6.7.2.ebuild
+++ b/dev-qt/qtwayland/qtwayland-6.7.2-r1.ebuild
@@ -28,6 +28,10 @@ DEPEND="
 "
 BDEPEND="dev-util/wayland-scanner"
 
+PATCHES=(
+       "${FILESDIR}"/${P}-plasma-popup.patch
+)
+
 CMAKE_SKIP_TESTS=(
        # segfaults for not-looked-into reasons, but not considered
        # an issue given >=seatv5 exists since wayland-1.10 (2016)

Reply via email to