diff options
author | marha <marha@users.sourceforge.net> | 2010-09-20 08:17:29 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-09-20 08:17:29 +0000 |
commit | 9cf4320c9d18406a570d4472cbf1fe3ceaeaf555 (patch) | |
tree | eed0b4b067343a09343103c365bb82da51361018 /xorg-server/hw/xwin | |
parent | 1845686fa00493ca3a9667b330066300ff900323 (diff) | |
download | vcxsrv-9cf4320c9d18406a570d4472cbf1fe3ceaeaf555.tar.gz vcxsrv-9cf4320c9d18406a570d4472cbf1fe3ceaeaf555.tar.bz2 vcxsrv-9cf4320c9d18406a570d4472cbf1fe3ceaeaf555.zip |
Make sure the tray icon in the taskbar gets destroyed upon exit
Diffstat (limited to 'xorg-server/hw/xwin')
-rw-r--r-- | xorg-server/hw/xwin/winmultiwindowwm.c | 2 | ||||
-rw-r--r-- | xorg-server/hw/xwin/wintrayicon.c | 21 |
2 files changed, 8 insertions, 15 deletions
diff --git a/xorg-server/hw/xwin/winmultiwindowwm.c b/xorg-server/hw/xwin/winmultiwindowwm.c index d6a2b2c88..b5b0fef84 100644 --- a/xorg-server/hw/xwin/winmultiwindowwm.c +++ b/xorg-server/hw/xwin/winmultiwindowwm.c @@ -1451,6 +1451,8 @@ winMultiWindowXMsgProcIOErrorHandler (Display *pDisplay) static void
winMultiWindowThreadExit(void *arg)
{
+ AbortDDX();
+
/* multiwindow client thread has exited, stop server as well */
TerminateProcess(GetCurrentProcess(),1);
}
diff --git a/xorg-server/hw/xwin/wintrayicon.c b/xorg-server/hw/xwin/wintrayicon.c index 7750932b4..52c7de3dc 100644 --- a/xorg-server/hw/xwin/wintrayicon.c +++ b/xorg-server/hw/xwin/wintrayicon.c @@ -85,25 +85,16 @@ void winDeleteNotifyIcon (winPrivScreenPtr pScreenPriv) { winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo; - NOTIFYICONDATA nid = {0}; - - nid.cbSize = sizeof (NOTIFYICONDATA); - nid.hWnd = pScreenPriv->hwndScreen; - nid.uID = pScreenInfo->dwScreen; + if (!pScreenPriv->hiconNotifyIcon) + return; + /* Delete the tray icon */ - if (!Shell_NotifyIcon (NIM_DELETE, &nid)) - { - ErrorF ("winDeleteNotifyIcon - Shell_NotifyIcon failed\n"); - return; - } + Shell_NotifyIcon (NIM_DELETE, &nid); /* Free the icon that was loaded */ - if (pScreenPriv->hiconNotifyIcon != NULL - && DestroyIcon (pScreenPriv->hiconNotifyIcon) == 0) - { - ErrorF ("winDeleteNotifyIcon - DestroyIcon failed\n"); - } + DestroyIcon (pScreenPriv->hiconNotifyIcon); + pScreenPriv->hiconNotifyIcon = NULL; } |