diff options
Diffstat (limited to 'src/widgets/kernel/qapplication.cpp')
-rw-r--r-- | src/widgets/kernel/qapplication.cpp | 3 |
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; |