diff --git a/GreenshotPlugin/Controls/HotkeyControl.cs b/GreenshotPlugin/Controls/HotkeyControl.cs index 0e40a9cbc..af12f6d93 100644 --- a/GreenshotPlugin/Controls/HotkeyControl.cs +++ b/GreenshotPlugin/Controls/HotkeyControl.cs @@ -512,18 +512,21 @@ namespace GreenshotPlugin.Controls { /// /// true if the message was handled public static bool HandleMessages(ref Message m) { - if (m.Msg == WM_HOTKEY) { - // Call handler - if (IsWindows7OrOlder) { - KeyHandlers[(int)m.WParam](); - } else { - if (EventDelay.Check()) { - KeyHandlers[(int)m.WParam](); - } - } + if (m.Msg != WM_HOTKEY) + { + return false; + } + // Call handler + if (!IsWindows7OrOlder && !EventDelay.Check()) + { return true; } - return false; + HotKeyHandler handler; + if (KeyHandlers.TryGetValue((int)m.WParam, out handler)) + { + handler(); + } + return true; } public static string GetKeyName(Keys givenKey) {