aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kvirc/kernel/kvi_ipc.cpp17
-rw-r--r--src/kvirc/kernel/kvi_ipc.h2
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);