diff --git a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp index 7dc83c6b2d7..2dcacc4b46d 100644 --- a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp +++ b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp @@ -116,8 +116,6 @@ void ShortcutSettings::finish() bool ShortcutSettings::eventFilter(QObject *o, QEvent *e) { - Q_UNUSED(o) - if ( e->type() == QEvent::KeyPress ) { QKeyEvent *k = static_cast(e); handleKeyEvent(k); @@ -125,9 +123,15 @@ bool ShortcutSettings::eventFilter(QObject *o, QEvent *e) } if ( e->type() == QEvent::Shortcut || - e->type() == QEvent::ShortcutOverride || - e->type() == QEvent::KeyRelease ) + e->type() == QEvent::KeyRelease ) { return true; + } + + if (e->type() == QEvent::ShortcutOverride) { + // for shortcut overrides, we need to accept as well + e->accept(); + return true; + } return false; }