summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2012-09-28 11:50:04 +0000
committerGeorge Hazan <george.hazan@gmail.com>2012-09-28 11:50:04 +0000
commiteb93c9842bc5dae03d6cc6df7bef86b620329196 (patch)
tree79fb0a5d502139379c6adeb39d3bbc8ecac79f89
parent2f25b32b58fcfc4322051b9a25d2adb211fb6de9 (diff)
NotifyFastHook - new core function to call event hooks in the same thread, it never switches to the main thread to execute event's hooks
git-svn-id: http://svn.miranda-ng.org/main/trunk@1704 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rw-r--r--bin10/lib/mir_core.libbin29498 -> 29718 bytes
-rw-r--r--include/m_core.h1
-rw-r--r--src/mir_core/mir_core.def2
-rw-r--r--src/mir_core/modules.cpp10
4 files changed, 13 insertions, 0 deletions
diff --git a/bin10/lib/mir_core.lib b/bin10/lib/mir_core.lib
index 3f95da8dc2..a9496214cf 100644
--- a/bin10/lib/mir_core.lib
+++ b/bin10/lib/mir_core.lib
Binary files differ
diff --git a/include/m_core.h b/include/m_core.h
index e0534750be..e617b0ca98 100644
--- a/include/m_core.h
+++ b/include/m_core.h
@@ -137,6 +137,7 @@ MIR_CORE_DLL(int) DestroyHookableEvent(HANDLE hEvent);
MIR_CORE_DLL(int) SetHookDefaultForHookableEvent(HANDLE hEvent, MIRANDAHOOK pfnHook);
MIR_CORE_DLL(int) CallPluginEventHook(HINSTANCE hInst, HANDLE hEvent, WPARAM wParam, LPARAM lParam);
MIR_CORE_DLL(int) NotifyEventHooks(HANDLE hEvent, WPARAM wParam, LPARAM lParam);
+MIR_CORE_DLL(int) NotifyFastHook(HANDLE hEvent, WPARAM wParam, LPARAM lParam);
MIR_CORE_DLL(HANDLE) HookEvent(const char* name, MIRANDAHOOK hookProc);
MIR_CORE_DLL(HANDLE) HookEventParam(const char* name, MIRANDAHOOKPARAM hookProc, LPARAM lParam);
diff --git a/src/mir_core/mir_core.def b/src/mir_core/mir_core.def
index 0a13752fff..9e4253fc91 100644
--- a/src/mir_core/mir_core.def
+++ b/src/mir_core/mir_core.def
@@ -131,3 +131,5 @@ CmdLine_GetOption @128
CmdLine_Parse @129
Utf8CheckString @130
GetSubscribersCount @131
+NotifyFastHook @132
+
diff --git a/src/mir_core/modules.cpp b/src/mir_core/modules.cpp
index 4e9a518d26..7ab515e469 100644
--- a/src/mir_core/modules.cpp
+++ b/src/mir_core/modules.cpp
@@ -275,6 +275,16 @@ MIR_CORE_DLL(int) NotifyEventHooks(HANDLE hEvent, WPARAM wParam, LPARAM lParam)
return item->result;
}
+MIR_CORE_DLL(int) NotifyFastHook(HANDLE hEvent, WPARAM wParam, LPARAM lParam)
+{
+ switch ( checkHook((THook*)hEvent)) {
+ case hookInvalid: return -1;
+ case hookEmpty: return 0;
+ }
+
+ return CallHookSubscribers((THook*)hEvent, wParam, lParam);
+}
+
extern "C" MIR_CORE_DLL(int) GetSubscribersCount(THook* pHook)
{
switch ( checkHook(pHook)) {