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

@ -37,7 +37,7 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugfixes and features included in the next upcoming release [19]:**
**Bugfixes and features included in the next upcoming release [20]:**
* Add stub for KeWaitForMultipleObjects
* Add stubs for D3DXCreateAnimationController interface
@ -47,6 +47,7 @@ Included bug fixes and improvements
* Do not append duplicate NULL characters when importing keys with regedit ([Wine Bug #37575](https://bugs.winehq.org/show_bug.cgi?id=37575))
* Fix crash in Space Rangers2 caused by missing DXTn support ([Wine Bug #24983](https://bugs.winehq.org/show_bug.cgi?id=24983))
* Fix cursor clip regression / broken raw input in multiple games ([Wine Bug #33479](https://bugs.winehq.org/show_bug.cgi?id=33479))
* Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED ([Wine Bug #37876](https://bugs.winehq.org/show_bug.cgi?id=37876))
* Fix init of LONGLONG variable with a negative value in TGA decoder
* Fix wrong colors in Wolfenstein (2009) ([Wine Bug #34692](https://bugs.winehq.org/show_bug.cgi?id=34692))
* Graphical issues in Inquisitor ([Wine Bug #32490](https://bugs.winehq.org/show_bug.cgi?id=32490))

1
debian/changelog vendored
View File

@ -15,6 +15,7 @@ wine-staging (1.7.35) UNRELEASED; urgency=low
* Added patch to implement semi-stub for IDirectPlayVoiceClient::GetCompressionTypes.
* Added patch to fix cursor clip regression / broken raw input in multiple games.
* Added patches to implement ntoskrnl driver testing framework.
* Added patch to fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED.
* Removed patch to fix RandR on some broken nVidia systems (accepted upstream).
* Removed patch to set last error on success in WSARecv (accepted upstream).
* Removed patch to fix handling of subdirectory in FtpFindFirstFile (accepted upstream).

View File

@ -181,6 +181,7 @@ patch_enable_all ()
enable_winex11_CandidateWindowPos="$1"
enable_winex11_Clipboard_HTML="$1"
enable_winex11_Window_Groups="$1"
enable_winex11_Window_Style="$1"
enable_winex11_XEMBED="$1"
enable_winex11_wglShareLists="$1"
enable_wininet_encoding="$1"
@ -571,6 +572,9 @@ patch_enable ()
winex11-Window_Groups)
enable_winex11_Window_Groups="$2"
;;
winex11-Window_Style)
enable_winex11_Window_Style="$2"
;;
winex11-XEMBED)
enable_winex11_XEMBED="$2"
;;
@ -3512,6 +3516,21 @@ if test "$enable_winex11_Window_Groups" -eq 1; then
) >> "$patchlist"
fi
# Patchset winex11-Window_Style
# |
# | This patchset fixes the following Wine bugs:
# | * [#37876] Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED
# |
# | Modified files:
# | * dlls/winex11.drv/window.c
# |
if test "$enable_winex11_Window_Style" -eq 1; then
patch_apply winex11-Window_Style/0001-winex11-Fix-handling-of-window-attributes-for-WS_EX_.patch
(
echo '+ { "Dmitry Timoshkov", "winex11: Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED.", 1 },';
) >> "$patchlist"
fi
# Patchset winex11-XEMBED
# |
# | Modified files:

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