summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qapplication.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/kernel/qapplication.cpp')
-rw-r--r--src/widgets/kernel/qapplication.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp
index e93eaf5b30..27ffd1cc7c 100644
--- a/src/widgets/kernel/qapplication.cpp
+++ b/src/widgets/kernel/qapplication.cpp
@@ -3534,6 +3534,7 @@ static void grabForPopup(QWidget *popup)
extern QWidget *qt_popup_down;
extern bool qt_replay_popup_mouse_event;
+extern bool qt_popup_down_closed;
void QApplicationPrivate::closePopup(QWidget *popup)
{
@@ -3543,12 +3544,14 @@ void QApplicationPrivate::closePopup(QWidget *popup)
if (popup == qt_popup_down) {
qt_button_down = nullptr;
+ qt_popup_down_closed = true;
qt_popup_down = nullptr;
}
if (QApplicationPrivate::popupWidgets->count() == 0) { // this was the last popup
delete QApplicationPrivate::popupWidgets;
QApplicationPrivate::popupWidgets = nullptr;
+ qt_popup_down_closed = false;
if (popupGrabOk) {
popupGrabOk = false;