diff options
-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; } |