[try 3][systray 4]: explorer: clear systray window area when icon
is changed
Kirill K. Smirnov
lich at math.spbu.ru
Thu Jan 4 01:54:01 CST 2007
I forgot to attach patch itself ;-)
-------------- next part --------------
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 1430563..ebf6d50 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -1324,12 +1325,23 @@ void X11DRV_SetWindowIcon( HWND hwnd, UI
Display *display = thread_display();
struct x11drv_win_data *data;
XWMHints* wm_hints;
-
- if (type != ICON_BIG) return; /* nothing to do here */
+ DWORD ex_style;
if (!(data = X11DRV_get_win_data( hwnd ))) return;
if (!data->whole_window) return;
+
+ ex_style = GetWindowLongW( hwnd, GWL_EXSTYLE );
+ if (ex_style & WS_EX_TRAYWINDOW)
+ {
+ WINE_TRACE("clearing systray background\n");
+ wine_tsx11_lock();
+ XClearWindow(display, data->whole_window);
+ wine_tsx11_unlock();
+ return;
+ }
+
if (!data->managed) return;
+ if (type != ICON_BIG) return; /* nothing to do here */
wine_tsx11_lock();
if (!(wm_hints = XGetWMHints( display, data->whole_window ))) wm_hints = XAllocWMHints();
More information about the wine-patches
mailing list