meta-digi/meta-digi-dey/recipes-qt/qt5/qtwayland/0005-Client-Always-close-po...

39 lines
1.2 KiB
Diff

From 7c0833f4bc22d2d947c793f0711e3f1e1a09012c Mon Sep 17 00:00:00 2001
From: Johan Klokkhammer Helsing <johan.helsing@qt.io>
Date: Thu, 5 Dec 2019 12:24:07 +0100
Subject: [PATCH] Client: Always close popups when hiding a window
It's not just popups that may have popups open on them. Always close open
popups when hiding a window to prevent dangling pointers.
[ChangeLog][QPA plugin] Fixed a crash when re-showing a popup after hiding its
parent.
Upstream-Status: Backport from dev branch
Fixes: QTBUG-80562
Change-Id: I7cdac5c7a30e0add5ebf00259401e4d74626ce96
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
---
src/client/qwaylandwindow.cpp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
index 950486c0..0df99d9f 100644
--- a/src/client/qwaylandwindow.cpp
+++ b/src/client/qwaylandwindow.cpp
@@ -426,8 +426,7 @@ void QWaylandWindow::setVisible(bool visible)
// QWaylandShmBackingStore::beginPaint().
} else {
sendExposeEvent(QRect());
- if (window()->type() == Qt::Popup)
- closePopups(this);
+ closePopups(this);
reset();
}
}
--
2.17.1