summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Spoerl <axel.spoerl@qt.io>2024-03-27 16:00:37 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-03-28 09:56:24 +0000
commita158a1807edafb1e1711d17e09d5b0e4e7d8a6f3 (patch)
treecfd1eaf81fadad7e1cf53f9569dfb38a6dbb27ef
parent5b26405408f63c1e2c2ca995ab946d961cd23841 (diff)
QMenu: clear popup screen after exec()
8cd7a3d4723ca414f3fe544704a0ccb752da94b8 remembered the current screen in QMenuPrivate::popupScreen. This QPointer member is not reset, after QMenu:exec(), which makes a re-used menu remember the wrong screen, if its next usage happens on another screen. Reset the member variable at the end of QMenuPrivate::exec(). This amends 8cd7a3d4723ca414f3fe544704a0ccb752da94b8. Fixes: QTBUG-118434 Pick-to: 6.5 Change-Id: I7457ca72166346f01cf71b2706ebc20ecd71173c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 7aedcdefb81004f57e664409c0fb9f9b371ff4f0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 137706fc31b0018b69b59827176cfd06e983c39b)
-rw-r--r--src/widgets/widgets/qmenu.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp
index 3edebb388d..0110bb9d29 100644
--- a/src/widgets/widgets/qmenu.cpp
+++ b/src/widgets/widgets/qmenu.cpp
@@ -2674,6 +2674,7 @@ QAction *QMenuPrivate::exec(const QPoint &p, QAction *action, PositionFunction p
action = syncAction;
syncAction = nullptr;
eventLoop = nullptr;
+ popupScreen.clear();
return action;
}