From fb84ba59d91dcb7ee0d0ca8da6b7e15c7dfbfa6a Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 22 Sep 2008 12:52:53 +0200 Subject: [PATCH] winex11: Fix SetLayeredWindowAttributes when called on a thread that doesn't have any window. --- dlls/winex11.drv/window.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 4c03b4add8e..b9b2059cc25 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 ); + } } -- 2.11.4.GIT