summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlexander Volkov <a.volkov@rusbitech.ru>2019-12-03 17:34:06 +0300
committerAlexander Volkov <a.volkov@rusbitech.ru>2019-12-10 14:29:06 +0300
commit7110eb7ca14d7162d3ea4a9e00beef72473ed806 (patch)
tree3b3cf602a2e80019115874354e062bc3d6250357 /src
parentd96bbd999fbd31687e4998705300ccdb5c4bcac4 (diff)
Avoid crash in menu that was previously shown as submenu
Reset sloppyState for the previous submenu, so that if it will be shown as a menu, it will not use an incorrect pointer. Fixes: QTBUG-80528 Change-Id: If2ba8c3a664983ee76eb90d2c9a8096e2bd0a4e6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 8339ce2155752eb8fa0f49f3fe4b24f9643ae463)
Diffstat (limited to 'src')
-rw-r--r--src/widgets/widgets/qmenu.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp
index d60a484094..8c21edb221 100644
--- a/src/widgets/widgets/qmenu.cpp
+++ b/src/widgets/widgets/qmenu.cpp
@@ -791,6 +791,8 @@ void QMenuSloppyState::setSubMenuPopup(const QRect &actionRect, QAction *resetAc
m_use_reset_action = true;
m_time.stop();
m_action_rect = actionRect;
+ if (m_sub_menu)
+ QMenuPrivate::get(m_sub_menu)->sloppyState.m_parent = nullptr;
m_sub_menu = subMenu;
QMenuPrivate::get(subMenu)->sloppyState.m_parent = this;
m_reset_action = resetAction;