summaryrefslogtreecommitdiff
path: root/message_notify/messagenotify.cpp
diff options
context:
space:
mode:
authorsje <sje@4f64403b-2f21-0410-a795-97e2b3489a10>2007-02-11 23:12:17 +0000
committersje <sje@4f64403b-2f21-0410-a795-97e2b3489a10>2007-02-11 23:12:17 +0000
commit6dcf1d3495e2e11183a4eaf7c04982da1df1acf9 (patch)
treec0af5274c9cb8371bf7f81739b7735d02c41c213 /message_notify/messagenotify.cpp
parent21c835f71979bcf78ca95879354dfee9e90443c5 (diff)
use threadex function to ensure thread creation
git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@118 4f64403b-2f21-0410-a795-97e2b3489a10
Diffstat (limited to 'message_notify/messagenotify.cpp')
-rw-r--r--message_notify/messagenotify.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/message_notify/messagenotify.cpp b/message_notify/messagenotify.cpp
index cde42b1..c3d5132 100644
--- a/message_notify/messagenotify.cpp
+++ b/message_notify/messagenotify.cpp
@@ -27,7 +27,7 @@ DWORD focusTimerId = 0;
PLUGININFO pluginInfo={
sizeof(PLUGININFO),
"Message Notify",
- PLUGIN_MAKE_VERSION(0,1,3,0),
+ PLUGIN_MAKE_VERSION(0,1,3,1),
"Show a popup when a message is received",
"Scott Ellis",
"mail@scottellis.com.au",
@@ -258,9 +258,12 @@ int OnDatabaseEventPreAdd(WPARAM wParam, LPARAM lParam) {
cd->blobsize = 0;
// spawn a thread to deal with the copied data
- if(thread_api)
- CallService(MS_SYSTEM_FORK_THREAD, (WPARAM)sttCheckWindowProc, (LPARAM)(VOID *)cd);
- else {
+ if(thread_api) {
+ FORK_THREADEX_PARAMS tparam = {0};
+ tparam.arg = (VOID *)cd;
+ tparam.pFunc = sttCheckWindowProc;
+ CallService(MS_SYSTEM_FORK_THREAD_EX, 0, (LPARAM)&tparam);
+ } else {
cd->hEvent = CreateEvent(0, 0, 0, 0);
CloseHandle((HANDLE)_beginthreadex(0, 0, sttCheckWindowProc, (VOID *)cd, 0, 0));
WaitForSingleObject(cd->hEvent, INFINITE);
@@ -360,7 +363,7 @@ extern "C" int __declspec(dllexport) Load(PLUGINLINK *link)
hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0);
}
- thread_api = (ServiceExists(MS_SYSTEM_FORK_THREAD) != 0);
+ thread_api = (ServiceExists(MS_SYSTEM_FORK_THREAD_EX) != 0);
InitWindowList();