diff --git a/useractions.cpp b/useractions.cpp index a38ebfc883..46739deecc 100755 --- a/useractions.cpp +++ b/useractions.cpp @@ -1919,6 +1919,9 @@ void Client::setShortcut(const QString& _cut) QString cut = rules()->checkShortcut(_cut); if (cut.isEmpty()) return setShortcutInternal(KShortcut()); + if (cut == shortcut().toString()) { + return; // no change + } // Format: // base+(abcdef)base+(abcdef) // E.g. Alt+Ctrl+(ABCDEF);Meta+X,Meta+(ABCDEF) @@ -1993,7 +1996,8 @@ void Client::delayedSetShortcut() bool Workspace::shortcutAvailable(const KShortcut& cut, Client* ignore) const { - + if (ignore && cut == ignore->shortcut()) + return true; Q_FOREACH (const QKeySequence &seq, cut.toList()) { if (!KGlobalAccel::getGlobalShortcutsByKey(seq).isEmpty()) { return false;