diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index e7d2782a..01e4ca27 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "a1af412482d36c4046061faa676ff7bc774f40eb" + echo "b4a5556da983c7ebc8a25b228100c08947024c59" } # Show version information @@ -229,7 +229,6 @@ patch_enable_all () enable_wined3d_SWVP_shaders="$1" enable_wined3d_Silence_FIXMEs="$1" enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$1" - enable_wined3d_adapter_create_output="$1" enable_wined3d_bindless_texture="$1" enable_wined3d_mesa_texture_download="$1" enable_wined3d_rotate_WINED3D_SWAP_EFFECT_DISCARD="$1" @@ -712,9 +711,6 @@ patch_enable () wined3d-WINED3DFMT_B8G8R8X8_UNORM) enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM="$2" ;; - wined3d-adapter_create_output) - enable_wined3d_adapter_create_output="$2" - ;; wined3d-bindless-texture) enable_wined3d_bindless_texture="$2" ;; @@ -3499,18 +3495,6 @@ if test "$enable_wined3d_WINED3DFMT_B8G8R8X8_UNORM" -eq 1; then patch_apply wined3d-WINED3DFMT_B8G8R8X8_UNORM/0001-wined3d-Implement-WINED3DFMT_B8G8R8X8_UNORM-to-WINED.patch fi -# Patchset wined3d-adapter_create_output -# | -# | This patchset fixes the following Wine bugs: -# | * [#53497] wined3d: Use wined3d_array_reserve() in wined3d_adapter_create_output() -# | -# | Modified files: -# | * dlls/wined3d/directx.c, dlls/wined3d/wined3d_private.h -# | -if test "$enable_wined3d_adapter_create_output" -eq 1; then - patch_apply wined3d-adapter_create_output/0001-wined3d-Use-wined3d_array_reserve-in-wined3d_adapter.patch -fi - # Patchset wined3d-bindless-texture # | # | This patchset fixes the following Wine bugs: diff --git a/patches/user32-recursive-activation/0001-user32-focus-Prevent-a-recursive-loop-with-the-activ.patch b/patches/user32-recursive-activation/0001-user32-focus-Prevent-a-recursive-loop-with-the-activ.patch index 67ec5c86..33e5b6b8 100644 --- a/patches/user32-recursive-activation/0001-user32-focus-Prevent-a-recursive-loop-with-the-activ.patch +++ b/patches/user32-recursive-activation/0001-user32-focus-Prevent-a-recursive-loop-with-the-activ.patch @@ -1,4 +1,4 @@ -From bdef98a34241f02651374715cc03f90faef96bc0 Mon Sep 17 00:00:00 2001 +From 0845b0fa1713fbab8494e7709c78b771db111286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= Date: Mon, 22 Jul 2019 15:29:25 +0300 Subject: [PATCH] user32/focus: Prevent a recursive loop with the activation @@ -34,7 +34,7 @@ index 63388e2250e..6ddac9cc7d3 100644 if (GetWindowLongW( hwnd, GWL_STYLE ) & WS_MINIMIZE) diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c -index a478a549fb2..ac0b51dfd73 100644 +index bc5266d038f..e77875c3745 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -1569,7 +1569,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) @@ -53,7 +53,7 @@ index a478a549fb2..ac0b51dfd73 100644 - /* call CBT hook chain */ - cbt.fMouse = mouse; - cbt.hWndActive = previous; -- if (call_hooks( WH_CBT, HCBT_ACTIVATE, (WPARAM)hwnd, (LPARAM)&cbt, TRUE )) return FALSE; +- if (call_hooks( WH_CBT, HCBT_ACTIVATE, (WPARAM)hwnd, (LPARAM)&cbt )) return FALSE; - - if (is_window( previous )) + /* Prevent a recursive activation loop with the activation messages */ @@ -68,7 +68,7 @@ index a478a549fb2..ac0b51dfd73 100644 + /* call CBT hook chain */ + cbt.fMouse = mouse; + cbt.hWndActive = previous; -+ if (call_hooks( WH_CBT, HCBT_ACTIVATE, (WPARAM)hwnd, (LPARAM)&cbt, TRUE )) ++ if (call_hooks( WH_CBT, HCBT_ACTIVATE, (WPARAM)hwnd, (LPARAM)&cbt )) + goto clear_flags; + + if (is_window(previous)) @@ -83,7 +83,7 @@ index a478a549fb2..ac0b51dfd73 100644 @@ -1607,7 +1615,11 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) if (send_message( hwnd, WM_QUERYNEWPALETTE, 0, 0 )) send_message_timeout( HWND_BROADCAST, WM_PALETTEISCHANGING, (WPARAM)hwnd, 0, - SMTO_ABORTIFHUNG, 2000, NULL, FALSE ); + SMTO_ABORTIFHUNG, 2000, FALSE ); - if (!is_window(hwnd)) return FALSE; + if (!is_window(hwnd)) + { @@ -120,10 +120,10 @@ index a478a549fb2..ac0b51dfd73 100644 /********************************************************************** diff --git a/dlls/win32u/ntuser_private.h b/dlls/win32u/ntuser_private.h -index 3ecd7424f77..cc27526235d 100644 +index 9f93feea407..db5ef584fd8 100644 --- a/dlls/win32u/ntuser_private.h +++ b/dlls/win32u/ntuser_private.h -@@ -105,6 +105,7 @@ typedef struct tagWND +@@ -104,6 +104,7 @@ typedef struct tagWND #define WIN_NEEDS_SHOW_OWNEDPOPUP 0x0020 /* WM_SHOWWINDOW:SC_SHOW must be sent in the next ShowOwnedPopup call */ #define WIN_CHILDREN_MOVED 0x0040 /* children may have moved, ignore stored positions */ #define WIN_HAS_IME_WIN 0x0080 /* the window has been registered with imm32 */ diff --git a/patches/wined3d-adapter_create_output/0001-wined3d-Use-wined3d_array_reserve-in-wined3d_adapter.patch b/patches/wined3d-adapter_create_output/0001-wined3d-Use-wined3d_array_reserve-in-wined3d_adapter.patch deleted file mode 100644 index babd13dd..00000000 --- a/patches/wined3d-adapter_create_output/0001-wined3d-Use-wined3d_array_reserve-in-wined3d_adapter.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 58468f4759224dd9b71370a185c09ba9ee907d18 Mon Sep 17 00:00:00 2001 -From: Zebediah Figura -Date: Mon, 8 Aug 2022 17:27:47 +0000 -Subject: [PATCH] wined3d: Use wined3d_array_reserve() in - wined3d_adapter_create_output(). - -This also has the effect of consistently zero-initializing the wined3d_output structure. - -Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53497 ---- - dlls/wined3d/directx.c | 14 ++------------ - dlls/wined3d/wined3d_private.h | 2 +- - 2 files changed, 3 insertions(+), 13 deletions(-) - -diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c -index 20be9817158..1b6c44d95a5 100644 ---- a/dlls/wined3d/directx.c -+++ b/dlls/wined3d/directx.c -@@ -3410,21 +3410,11 @@ static struct wined3d_adapter *wined3d_adapter_no3d_create(unsigned int ordinal, - - static BOOL wined3d_adapter_create_output(struct wined3d_adapter *adapter, const WCHAR *output_name) - { -- struct wined3d_output *outputs; - HRESULT hr; - -- if (!adapter->outputs && !(adapter->outputs = heap_calloc(1, sizeof(*adapter->outputs)))) -- { -+ if (!wined3d_array_reserve((void **)&adapter->outputs, &adapter->outputs_size, -+ adapter->output_count + 1, sizeof(*adapter->outputs))) - return FALSE; -- } -- else -- { -- if (!(outputs = heap_realloc(adapter->outputs, -- sizeof(*adapter->outputs) * (adapter->output_count + 1)))) -- return FALSE; -- -- adapter->outputs = outputs; -- } - - if (FAILED(hr = wined3d_output_init(&adapter->outputs[adapter->output_count], - adapter->output_count, adapter, output_name))) -diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h -index c529cd8efa6..3256d0aa9a6 100644 ---- a/dlls/wined3d/wined3d_private.h -+++ b/dlls/wined3d/wined3d_private.h -@@ -3537,7 +3537,7 @@ struct wined3d_adapter - struct wined3d_d3d_info d3d_info; - struct wined3d_driver_info driver_info; - struct wined3d_output *outputs; -- unsigned int output_count; -+ SIZE_T output_count, outputs_size; - D3DKMT_HANDLE kmt_adapter; - UINT64 vram_bytes_used; - GUID driver_uuid; --- -2.35.1 - diff --git a/patches/wined3d-adapter_create_output/definition b/patches/wined3d-adapter_create_output/definition deleted file mode 100644 index 8be21576..00000000 --- a/patches/wined3d-adapter_create_output/definition +++ /dev/null @@ -1,3 +0,0 @@ -Fixes: [53497] wined3d: Use wined3d_array_reserve() in wined3d_adapter_create_output() -# Fixes a regression for some applications failing to start -# Bug 52396 is an example. diff --git a/staging/upstream-commit b/staging/upstream-commit index 2b43e982..48f87da2 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -8e27f6c2ef327d6d643e29a271245e76aa6f4792 +b4a5556da983c7ebc8a25b228100c08947024c59