Alexandre Julliard : winex11: Add window data locking to the system tray functions.
Alexandre Julliard
julliard at winehq.org
Tue Sep 18 14:04:29 CDT 2012
Module: wine
Branch: master
Commit: 41d0316522f35cecc5cafbbe48bdfe7443b69dd1
URL: http://source.winehq.org/git/wine.git/?a=commit;h=41d0316522f35cecc5cafbbe48bdfe7443b69dd1
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Sep 18 11:17:32 2012 +0200
winex11: Add window data locking to the system tray functions.
---
dlls/winex11.drv/systray.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/dlls/winex11.drv/systray.c b/dlls/winex11.drv/systray.c
index 4d9d837..819b542 100644
--- a/dlls/winex11.drv/systray.c
+++ b/dlls/winex11.drv/systray.c
@@ -564,8 +564,11 @@ static BOOL hide_icon( struct tray_icon *icon )
if (!icon->window) return TRUE; /* already hidden */
/* make sure we don't try to unmap it, it confuses some systray docks */
- if ((data = X11DRV_get_win_data( icon->window )) && data->embedded) data->mapped = FALSE;
-
+ if ((data = get_win_data( icon->window )))
+ {
+ if (data->embedded) data->mapped = FALSE;
+ release_win_data( data );
+ }
DestroyWindow(icon->window);
DestroyWindow(icon->tooltip);
icon->window = 0;
@@ -613,8 +616,8 @@ static BOOL modify_icon( struct tray_icon *icon, NOTIFYICONDATAW *nid )
if (icon->display != -1) InvalidateRect( icon->window, NULL, TRUE );
else
{
- struct x11drv_win_data *data = X11DRV_get_win_data( icon->window );
- if (data) XClearArea( gdi_display, data->whole_window, 0, 0, 0, 0, True );
+ Window win = X11DRV_get_whole_window( icon->window );
+ if (win) XClearArea( gdi_display, win, 0, 0, 0, 0, True );
}
}
}
More information about the wine-cvs
mailing list