Alexandre Julliard : winex11: Fix SetLayeredWindowAttributes when called on a thread that doesn' t have any window.
Alexandre Julliard
julliard at winehq.org
Mon Sep 22 07:04:50 CDT 2008
Module: wine
Branch: master
Commit: fb84ba59d91dcb7ee0d0ca8da6b7e15c7dfbfa6a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fb84ba59d91dcb7ee0d0ca8da6b7e15c7dfbfa6a
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Sep 22 12:52:53 2008 +0200
winex11: Fix SetLayeredWindowAttributes when called on a thread that doesn't have any window.
---
dlls/winex11.drv/window.c | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 4c03b4a..b9b2059 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -2204,9 +2204,18 @@ int X11DRV_SetWindowRgn( HWND hwnd, HRGN hrgn, BOOL redraw )
*/
void X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alpha, DWORD flags )
{
- Window win = X11DRV_get_whole_window( hwnd );
+ struct x11drv_win_data *data = X11DRV_get_win_data( hwnd );
- if (win) sync_window_opacity( thread_display(), win, key, alpha, flags );
+ if (data)
+ {
+ if (data->whole_window)
+ sync_window_opacity( thread_display(), data->whole_window, key, alpha, flags );
+ }
+ else
+ {
+ Window win = X11DRV_get_whole_window( hwnd );
+ if (win) sync_window_opacity( gdi_display, win, key, alpha, flags );
+ }
}
More information about the wine-cvs
mailing list