diff --git a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp index 7dc83c6b2d751cb593fd0750c3c106fef0c0d985..2dcacc4b46db52bd36bef36e8676e2a4ed6b0601 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<QKeyEvent*>(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; }