diff options
Diffstat (limited to 'plugins/Mir_core/modules.cpp')
-rw-r--r-- | plugins/Mir_core/modules.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/plugins/Mir_core/modules.cpp b/plugins/Mir_core/modules.cpp index 121ed1282b..61e7344676 100644 --- a/plugins/Mir_core/modules.cpp +++ b/plugins/Mir_core/modules.cpp @@ -213,12 +213,14 @@ MIR_CORE_DLL(int) CallHookSubscribers(HANDLE hEvent, WPARAM wParam, LPARAM lPara case 5: returnVal = SendMessage(s->hwnd, s->message, wParam, lParam); break;
default: continue;
}
- if (returnVal)
- break;
+ if (returnVal) {
+ LeaveCriticalSection(&p->csHook);
+ return returnVal;
+ }
}
- // check for no hooks and call the default hook if any
- if (p->subscriberCount == 0 && p->pfnHook != 0)
+ // call the default hook if any
+ if (p->pfnHook != 0)
returnVal = p->pfnHook(wParam, lParam);
LeaveCriticalSection(&p->csHook);
|