aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xwin
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-09-20 08:17:29 +0000
committermarha <marha@users.sourceforge.net>2010-09-20 08:17:29 +0000
commit9cf4320c9d18406a570d4472cbf1fe3ceaeaf555 (patch)
treeeed0b4b067343a09343103c365bb82da51361018 /xorg-server/hw/xwin
parent1845686fa00493ca3a9667b330066300ff900323 (diff)
downloadvcxsrv-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.c2
-rw-r--r--xorg-server/hw/xwin/wintrayicon.c21
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;
}