Added patch to fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED.

This commit is contained in:
Sebastian Lackner
2015-01-24 05:15:18 +01:00
parent 804b80bb94
commit ab14a7dba0
5 changed files with 59 additions and 1 deletions

View File

@@ -0,0 +1,36 @@
From 97b7b28a83e4b6ae0bf7e1d66d8d22ac71cedf7f Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Sat, 24 Jan 2015 05:12:49 +0100
Subject: winex11: Fix handling of window attributes for WS_EX_LAYERED |
WS_EX_COMPOSITED.
---
dlls/winex11.drv/window.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 06e2294..7c4a829 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -260,7 +260,7 @@ static unsigned long get_mwm_decorations( struct x11drv_win_data *data,
if (data->shaped) return 0;
if (ex_style & WS_EX_TOOLWINDOW) return 0;
- if (ex_style & WS_EX_LAYERED) return 0;
+ if ((ex_style & (WS_EX_LAYERED | WS_EX_COMPOSITED)) == WS_EX_LAYERED) return 0;
if ((style & WS_CAPTION) == WS_CAPTION)
{
@@ -2320,7 +2320,8 @@ void CDECL X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags
BOOL needs_map = TRUE;
/* layered windows are mapped only once their attributes are set */
- if (GetWindowLongW( hwnd, GWL_EXSTYLE ) & WS_EX_LAYERED) needs_map = data->layered;
+ if ((GetWindowLongW( hwnd, GWL_EXSTYLE ) & (WS_EX_LAYERED | WS_EX_COMPOSITED)) == WS_EX_LAYERED)
+ needs_map = data->layered;
release_win_data( data );
if (needs_icon) fetch_icon_data( hwnd, 0, 0 );
if (needs_map) map_window( hwnd, new_style );
--
2.2.1

View File

@@ -0,0 +1 @@
Fixes: [37876] Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED