diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/kernel/kvi_ipc.cpp | 17 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_ipc.h | 2 |
2 files changed, 13 insertions, 6 deletions
diff --git a/src/kvirc/kernel/kvi_ipc.cpp b/src/kvirc/kernel/kvi_ipc.cpp index 689b5b0bb..51a3e93fd 100644 --- a/src/kvirc/kernel/kvi_ipc.cpp +++ b/src/kvirc/kernel/kvi_ipc.cpp @@ -132,6 +132,7 @@ bool kvi_sendIpcMessage(const char * message) { #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + HWND hSentinel = kvi_win_findIpcSentinel(); if(hSentinel != NULL) { @@ -140,12 +141,15 @@ cpd.dwData = KVI_WINDOWS_IPC_MESSAGE; cpd.lpData = (void *)message; DWORD dwResult; - qDebug(message); + //qDebug(message); #if defined(COMPILE_ON_WINDOWS) && !(defined(MINGW)) - ::SendMessageTimeout(hSentinel,WM_COPYDATA,(WPARAM)NULL,(LPARAM)&cpd,SMTO_BLOCK,1000,(PDWORD_PTR)&dwResult); + if(!::SendMessageTimeout(hSentinel,WM_COPYDATA,(WPARAM)NULL,(LPARAM)&cpd,SMTO_BLOCK,1000,(PDWORD_PTR)&dwResult)) #else - ::SendMessageTimeout(hSentinel,WM_COPYDATA,(WPARAM)NULL,(LPARAM)&cpd,SMTO_BLOCK,1000,&dwResult); + if(!::SendMessageTimeout(hSentinel,WM_COPYDATA,(WPARAM)NULL,(LPARAM)&cpd,SMTO_BLOCK,1000,&dwResult)) #endif + { + qDebug("Failed to send IPC message: error code 0x%x",::GetLastError()); + } return true; } #else @@ -220,7 +224,7 @@ #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - bool KviIpcSentinel::winEvent(MSG * msg) + bool KviIpcSentinel::winEvent(MSG * msg, long * result) { if(msg->message == WM_COPYDATA) { @@ -230,7 +234,10 @@ if(cpd->dwData == KVI_WINDOWS_IPC_MESSAGE) { qDebug((char *)(cpd->lpData)); - if(g_pApp)g_pApp->ipcMessage((char *)(cpd->lpData)); + if(g_pApp) + g_pApp->ipcMessage((char *)(cpd->lpData)); + if(result) + *result = 0; return true; } } diff --git a/src/kvirc/kernel/kvi_ipc.h b/src/kvirc/kernel/kvi_ipc.h index f939da067..1c6f10864 100644 --- a/src/kvirc/kernel/kvi_ipc.h +++ b/src/kvirc/kernel/kvi_ipc.h @@ -56,7 +56,7 @@ ~KviIpcSentinel(); protected: // protected members #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - virtual bool winEvent(MSG * msg); + virtual bool winEvent(MSG * msg, long * result); #else #ifdef COMPILE_X11_SUPPORT virtual bool x11Event(XEvent *e); |
