diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 34347d4f..30da77fe 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "dc08a2d5eacfc57f7a56cdfc740ff5a728fe3206" + echo "b173a96237b1f1c02c642f3d4a57ecb507ebc664" } # Show version information diff --git a/patches/winex11-UpdateLayeredWindow/0001-winex11-Fix-alpha-blending-in-X11DRV_UpdateLayeredWi.patch b/patches/winex11-UpdateLayeredWindow/0001-winex11-Fix-alpha-blending-in-X11DRV_UpdateLayeredWi.patch index e9f39c34..2c43aa01 100644 --- a/patches/winex11-UpdateLayeredWindow/0001-winex11-Fix-alpha-blending-in-X11DRV_UpdateLayeredWi.patch +++ b/patches/winex11-UpdateLayeredWindow/0001-winex11-Fix-alpha-blending-in-X11DRV_UpdateLayeredWi.patch @@ -1,4 +1,4 @@ -From 4321aa370da9a3df82831cf0bcc697ce9f6af868 Mon Sep 17 00:00:00 2001 +From 5fe1a81fa6564f2d201bd3e225ac3bc4f41a2d2e Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Tue, 24 Jan 2017 12:37:46 +0100 Subject: [PATCH] winex11: Fix alpha blending in X11DRV_UpdateLayeredWindow. @@ -9,10 +9,10 @@ Based on a patch by Dmitry Timoshkov. 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c -index 6d79f06..81cb2b3 100644 +index 4dfb1bb6f76..8fb1a4a2786 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c -@@ -430,14 +430,11 @@ static void sync_window_region( struct x11drv_win_data *data, HRGN win_region ) +@@ -434,14 +434,11 @@ static void sync_window_region( struct x11drv_win_data *data, HRGN win_region ) /*********************************************************************** @@ -30,7 +30,7 @@ index 6d79f06..81cb2b3 100644 if (opacity == 0xffffffff) XDeleteProperty( display, win, x11drv_atom(_NET_WM_WINDOW_OPACITY) ); -@@ -1559,7 +1556,7 @@ static void create_whole_window( struct x11drv_win_data *data ) +@@ -1608,7 +1605,7 @@ static void create_whole_window( struct x11drv_win_data *data ) /* set the window opacity */ if (!GetLayeredWindowAttributes( data->hwnd, &key, &alpha, &layered_flags )) layered_flags = 0; @@ -39,7 +39,7 @@ index 6d79f06..81cb2b3 100644 XFlush( data->display ); /* make sure the window exists before we start painting to it */ -@@ -1691,7 +1688,7 @@ void CDECL X11DRV_SetWindowStyle( HWND hwnd, INT offset, STYLESTRUCT *style ) +@@ -1740,7 +1737,7 @@ void CDECL X11DRV_SetWindowStyle( HWND hwnd, INT offset, STYLESTRUCT *style ) { data->layered = FALSE; set_window_visual( data, &default_visual, FALSE ); @@ -48,7 +48,7 @@ index 6d79f06..81cb2b3 100644 if (data->surface) set_surface_color_key( data->surface, CLR_INVALID ); } done: -@@ -2570,7 +2567,7 @@ void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph +@@ -2668,7 +2665,7 @@ void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph set_window_visual( data, &default_visual, FALSE ); if (data->whole_window) @@ -57,7 +57,7 @@ index 6d79f06..81cb2b3 100644 if (data->surface) set_surface_color_key( data->surface, (flags & LWA_COLORKEY) ? key : CLR_INVALID ); -@@ -2594,7 +2591,7 @@ void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph +@@ -2692,7 +2689,7 @@ void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph Window win = X11DRV_get_whole_window( hwnd ); if (win) { @@ -66,7 +66,7 @@ index 6d79f06..81cb2b3 100644 if (flags & LWA_COLORKEY) FIXME( "LWA_COLORKEY not supported on foreign process window %p\n", hwnd ); } -@@ -2610,7 +2607,6 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO +@@ -2708,7 +2705,6 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO { struct window_surface *surface; struct x11drv_win_data *data; @@ -74,7 +74,7 @@ index 6d79f06..81cb2b3 100644 COLORREF color_key = (info->dwFlags & ULW_COLORKEY) ? info->crKey : CLR_INVALID; char buffer[FIELD_OFFSET( BITMAPINFO, bmiColors[256] )]; BITMAPINFO *bmi = (BITMAPINFO *)buffer; -@@ -2638,6 +2634,10 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO +@@ -2736,6 +2732,10 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO } else set_surface_color_key( surface, color_key ); @@ -83,9 +83,9 @@ index 6d79f06..81cb2b3 100644 + (info->dwFlags & ULW_ALPHA) ? info->pblend->SourceConstantAlpha : 0xff ); + if (surface) window_surface_add_ref( surface ); + mapped = data->mapped; release_win_data( data ); - -@@ -2661,16 +2661,15 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO +@@ -2769,16 +2769,15 @@ BOOL CDECL X11DRV_UpdateLayeredWindow( HWND hwnd, const UPDATELAYEREDWINDOWINFO { IntersectRect( &rect, &rect, info->prcDirty ); memcpy( src_bits, dst_bits, bmi->bmiHeader.biSizeImage ); @@ -107,5 +107,5 @@ index 6d79f06..81cb2b3 100644 { memcpy( dst_bits, src_bits, bmi->bmiHeader.biSizeImage ); -- -2.7.4 +2.34.1 diff --git a/staging/upstream-commit b/staging/upstream-commit index a5766ca0..4286162a 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -d03984709d87d6eaa0e2e7746f0db5d8fdf81b5a +b173a96237b1f1c02c642f3d4a57ecb507ebc664