diff options
Diffstat (limited to 'source/l/qt6/patches/92bcb8f6b7a852c7a5d662fc34de561692a7a454.patch')
-rw-r--r-- | source/l/qt6/patches/92bcb8f6b7a852c7a5d662fc34de561692a7a454.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/source/l/qt6/patches/92bcb8f6b7a852c7a5d662fc34de561692a7a454.patch b/source/l/qt6/patches/92bcb8f6b7a852c7a5d662fc34de561692a7a454.patch new file mode 100644 index 000000000..ac63876c7 --- /dev/null +++ b/source/l/qt6/patches/92bcb8f6b7a852c7a5d662fc34de561692a7a454.patch @@ -0,0 +1,37 @@ +From 92bcb8f6b7a852c7a5d662fc34de561692a7a454 Mon Sep 17 00:00:00 2001 +From: Vlad Zahorodnii <vlad.zahorodnii@kde.org> +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. + +Change-Id: Iad11c68659579429ddc5d9ba0038975b25da8e0d +Reviewed-by: David Edmundson <davidedmundson@kde.org> +(cherry picked from commit 52c406cec149634680489faeeaf06bb1258cd12f) +Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> +(cherry picked from commit 7d04c18531276c94bfdf2f9a955d6f02554b28b2) +--- + src/client/qwaylandwindow.cpp | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp +index 22aeba102..c3725ffc9 100644 +--- 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; + } +-- +GitLab + |