diff options
author | Zhang Hao <zhanghao@uniontech.com> | 2021-03-24 19:37:04 +0800 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2021-04-14 01:05:14 +0000 |
commit | 94e03e506a0e953f72c21c4ca827174a3d1f0d73 (patch) | |
tree | 2756bcd483abfc73c2b31c27343b536251da9195 | |
parent | edcb5ed697f4b56d0923898f7ce4ff6fbbf55a36 (diff) |
Only scroll QMenu when there is a valid active action
When changing the active action via QMenu::setActiveAction
the menu will scroll to the active action, but we were
scrolling the menu also when the active action was null,
resulting in the menu scrolling back to the top.
We fix this by guarding the call to scrollMenu.
Fixes: QTBUG-92096
Pick-to: 5.15 6.0 6.1
Change-Id: I998f99ddacec32640834d59a907d569fdda458f0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-rw-r--r-- | src/widgets/widgets/qmenu.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 3f349cf8a0..282cbe420f 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -2228,7 +2228,7 @@ void QMenu::setActiveAction(QAction *act) { Q_D(QMenu); d->setCurrentAction(act, 0); - if (d->scroll) + if (d->scroll && act) d->scrollMenu(act, QMenuPrivate::QMenuScroller::ScrollCenter); } |