diff options
author | Liang Qi <liang.qi@qt.io> | 2017-04-18 10:43:17 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-04-18 10:46:22 +0200 |
commit | 18934bcb0c388eb4723043cb5001702fecaf90bc (patch) | |
tree | 59f4f1e5de00fa49e49bace1a38f1bce52e48457 /src/widgets/widgets/qmenu.cpp | |
parent | bc5454d2c41873349ea32c42aca8fc794cba442e (diff) | |
parent | d1210281e41008ce2e3510aa5cfb3ebea1c57734 (diff) |
Merge remote-tracking branch 'origin/5.8' into 5.9
Conflicts:
src/corelib/global/qglobal.cpp
Change-Id: I375fa4afa662fa411a15f212ebd5f2f0dffdba7f
Diffstat (limited to 'src/widgets/widgets/qmenu.cpp')
-rw-r--r-- | src/widgets/widgets/qmenu.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 995a08e310..cf3fc9a9f6 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -667,6 +667,7 @@ void QMenuSloppyState::reset() m_enabled = false; m_first_mouse = true; m_init_guard = false; + m_use_reset_action = true; m_uni_dir_discarded_count = 0; m_time.stop(); m_reset_action = Q_NULLPTR; @@ -719,6 +720,7 @@ void QMenuSloppyState::setSubMenuPopup(const QRect &actionRect, QAction *resetAc { m_enabled = true; m_init_guard = true; + m_use_reset_action = true; m_time.stop(); m_action_rect = actionRect; m_sub_menu = subMenu; @@ -779,10 +781,12 @@ void QMenuSloppyState::timeout() if (m_sub_menu) menu_priv->hideMenu(m_sub_menu); - if (reallyHasMouse) - menu_priv->setCurrentAction(m_reset_action,0); - else + if (reallyHasMouse) { + if (m_use_reset_action) + menu_priv->setCurrentAction(m_reset_action, 0); + } else { menu_priv->setCurrentAction(Q_NULLPTR, 0); + } } //return the top causedPopup.widget that is not a QMenu |