diff options
author | Liang Qi <liang.qi@qt.io> | 2017-10-04 10:41:19 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-10-04 13:41:04 +0200 |
commit | bc5f45052fd8f9a5481a37a6a4d55c7f6cbf037d (patch) | |
tree | 2c20e6c42ccd008e431a8d485450713883eacbb5 /src/widgets/widgets/qmenubar.cpp | |
parent | b8947e9194f0f88f464448ac51f6a05113d36a33 (diff) | |
parent | 3faf8f4d48abd982be8470786cc5f61372519722 (diff) |
Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
src/corelib/global/qconfig-bootstrapped.h
src/corelib/global/qglobal.h
src/corelib/tools/qcryptographichash.cpp
src/corelib/tools/qcryptographichash.h
src/corelib/tools/qmessageauthenticationcode.cpp
src/plugins/platforms/windows/qwindowswindow.h
tests/auto/gui/kernel/qwindow/BLACKLIST
tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST
Change-Id: Ib68112de985a3d714c2071f47c10e907e4f0229a
Diffstat (limited to 'src/widgets/widgets/qmenubar.cpp')
-rw-r--r-- | src/widgets/widgets/qmenubar.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp index aa8e6a1c6a..cc6f39c439 100644 --- a/src/widgets/widgets/qmenubar.cpp +++ b/src/widgets/widgets/qmenubar.cpp @@ -289,7 +289,7 @@ void QMenuBarPrivate::setKeyboardMode(bool b) keyboardState = b; if(b) { QWidget *fw = QApplication::focusWidget(); - if (fw != q) + if (fw && fw != q && fw->window() != QApplication::activePopupWidget()) keyboardFocusWidget = fw; focusFirstAction(); q->setFocus(Qt::MenuBarFocusReason); @@ -1707,6 +1707,7 @@ void QMenuBarPrivate::_q_internalShortcutActivated(int id) } } + keyboardFocusWidget = QApplication::focusWidget(); setCurrentAction(act, true, true); if (act && !act->menu()) { activateAction(act, QAction::Trigger); |