From 6c1e7ddfb28511798f9e3561d03a8e8d6824f86e Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sat, 28 Feb 2015 22:00:48 +0100 Subject: [PATCH] Added patches to make various functions in d3d8 / ddraw hotpatchable (required for fraps). --- debian/changelog | 1 + ...rect3DSwapChain8-Present-hotpachable.patch | 25 ++ ...draw-Make-some-functions-hotpachable.patch | 246 ++++++++++++++++++ patches/patchinstall.sh | 86 ++++-- 4 files changed, 331 insertions(+), 27 deletions(-) create mode 100644 patches/d3d8-Hotpatch/0001-d3d8-Make-IDirect3DSwapChain8-Present-hotpachable.patch create mode 100644 patches/ddraw-Hotpatch/0001-ddraw-Make-some-functions-hotpachable.patch diff --git a/debian/changelog b/debian/changelog index c876f670..9c447d9a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -26,6 +26,7 @@ wine-staging (1.7.38) UNRELEASED; urgency=low * Added patch to implement support for NULL job handles in IsProcessInJob. * Added patch to implement support for waiting on job object. * Added patch to fix crash in clip_cursor_notify caused by uninitialized TLS. + * Added patches to make various functions in d3d8 / ddraw hotpatchable (required for fraps). * Removed patch to properly call DriverUnload when unloading device drivers (accepted upstream). * Removed patch to allow Accept-Encoding for HTTP/1.0 in wininet (accepted upstream). * Removed patch to declare pDirectInputCreateEx in a MSVC compatible way (accepted upstream). diff --git a/patches/d3d8-Hotpatch/0001-d3d8-Make-IDirect3DSwapChain8-Present-hotpachable.patch b/patches/d3d8-Hotpatch/0001-d3d8-Make-IDirect3DSwapChain8-Present-hotpachable.patch new file mode 100644 index 00000000..caa08a11 --- /dev/null +++ b/patches/d3d8-Hotpatch/0001-d3d8-Make-IDirect3DSwapChain8-Present-hotpachable.patch @@ -0,0 +1,25 @@ +From c8dd8ae321e08d94954fe011de653cc333d0cbbb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Sat, 28 Feb 2015 21:24:54 +0100 +Subject: d3d8: Make IDirect3DSwapChain8::Present hotpachable. + +--- + dlls/d3d8/swapchain.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dlls/d3d8/swapchain.c b/dlls/d3d8/swapchain.c +index 067a3e0..44fc02a 100644 +--- a/dlls/d3d8/swapchain.c ++++ b/dlls/d3d8/swapchain.c +@@ -86,7 +86,7 @@ static ULONG WINAPI d3d8_swapchain_Release(IDirect3DSwapChain8 *iface) + return ref; + } + +-static HRESULT WINAPI d3d8_swapchain_Present(IDirect3DSwapChain8 *iface, ++static HRESULT WINAPI DECLSPEC_HOTPATCH d3d8_swapchain_Present(IDirect3DSwapChain8 *iface, + const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override, + const RGNDATA *dirty_region) + { +-- +2.3.0 + diff --git a/patches/ddraw-Hotpatch/0001-ddraw-Make-some-functions-hotpachable.patch b/patches/ddraw-Hotpatch/0001-ddraw-Make-some-functions-hotpachable.patch new file mode 100644 index 00000000..a265db1a --- /dev/null +++ b/patches/ddraw-Hotpatch/0001-ddraw-Make-some-functions-hotpachable.patch @@ -0,0 +1,246 @@ +From 2e7afb2a34c951f50d2349dbc9d6453cca60a23c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Sat, 28 Feb 2015 21:30:37 +0100 +Subject: ddraw: Make some functions hotpachable. + +--- + dlls/ddraw/surface.c | 55 ++++++++++++++++++++++++++++------------------------ + 1 file changed, 30 insertions(+), 25 deletions(-) + +diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c +index a387d12..c14ba47 100644 +--- a/dlls/ddraw/surface.c ++++ b/dlls/ddraw/surface.c +@@ -1153,7 +1153,7 @@ static HRESULT WINAPI ddraw_surface1_Lock(IDirectDrawSurface *iface, RECT *rect, + * For more details, see IWineD3DSurface::UnlockRect + * + *****************************************************************************/ +-static HRESULT WINAPI ddraw_surface7_Unlock(IDirectDrawSurface7 *iface, RECT *pRect) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Unlock(IDirectDrawSurface7 *iface, RECT *pRect) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface7(iface); + HRESULT hr; +@@ -1169,7 +1169,7 @@ static HRESULT WINAPI ddraw_surface7_Unlock(IDirectDrawSurface7 *iface, RECT *pR + return hr; + } + +-static HRESULT WINAPI ddraw_surface4_Unlock(IDirectDrawSurface4 *iface, RECT *pRect) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface4_Unlock(IDirectDrawSurface4 *iface, RECT *pRect) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface4(iface); + +@@ -1178,7 +1178,7 @@ static HRESULT WINAPI ddraw_surface4_Unlock(IDirectDrawSurface4 *iface, RECT *pR + return ddraw_surface7_Unlock(&surface->IDirectDrawSurface7_iface, pRect); + } + +-static HRESULT WINAPI ddraw_surface3_Unlock(IDirectDrawSurface3 *iface, void *data) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface3_Unlock(IDirectDrawSurface3 *iface, void *data) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface3(iface); + +@@ -1188,7 +1188,7 @@ static HRESULT WINAPI ddraw_surface3_Unlock(IDirectDrawSurface3 *iface, void *da + return ddraw_surface7_Unlock(&surface->IDirectDrawSurface7_iface, NULL); + } + +-static HRESULT WINAPI ddraw_surface2_Unlock(IDirectDrawSurface2 *iface, void *data) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface2_Unlock(IDirectDrawSurface2 *iface, void *data) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface2(iface); + +@@ -1198,7 +1198,7 @@ static HRESULT WINAPI ddraw_surface2_Unlock(IDirectDrawSurface2 *iface, void *da + return ddraw_surface7_Unlock(&surface->IDirectDrawSurface7_iface, NULL); + } + +-static HRESULT WINAPI ddraw_surface1_Unlock(IDirectDrawSurface *iface, void *data) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface1_Unlock(IDirectDrawSurface *iface, void *data) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface(iface); + +@@ -1208,7 +1208,8 @@ static HRESULT WINAPI ddraw_surface1_Unlock(IDirectDrawSurface *iface, void *dat + return ddraw_surface7_Unlock(&surface->IDirectDrawSurface7_iface, NULL); + } + +-static HRESULT WINAPI ddraw_surface7_Flip(IDirectDrawSurface7 *iface, IDirectDrawSurface7 *src, DWORD flags) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Flip(IDirectDrawSurface7 *iface, ++ IDirectDrawSurface7 *src, DWORD flags) + { + struct ddraw_surface *dst_impl = impl_from_IDirectDrawSurface7(iface); + struct ddraw_surface *src_impl = unsafe_impl_from_IDirectDrawSurface7(src); +@@ -1330,7 +1331,8 @@ static HRESULT WINAPI ddraw_surface7_Flip(IDirectDrawSurface7 *iface, IDirectDra + return hr; + } + +-static HRESULT WINAPI ddraw_surface4_Flip(IDirectDrawSurface4 *iface, IDirectDrawSurface4 *dst, DWORD flags) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface4_Flip(IDirectDrawSurface4 *iface, ++ IDirectDrawSurface4 *dst, DWORD flags) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface4(iface); + struct ddraw_surface *dst_impl = unsafe_impl_from_IDirectDrawSurface4(dst); +@@ -1341,7 +1343,8 @@ static HRESULT WINAPI ddraw_surface4_Flip(IDirectDrawSurface4 *iface, IDirectDra + dst_impl ? &dst_impl->IDirectDrawSurface7_iface : NULL, flags); + } + +-static HRESULT WINAPI ddraw_surface3_Flip(IDirectDrawSurface3 *iface, IDirectDrawSurface3 *dst, DWORD flags) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface3_Flip(IDirectDrawSurface3 *iface, ++ IDirectDrawSurface3 *dst, DWORD flags) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface3(iface); + struct ddraw_surface *dst_impl = unsafe_impl_from_IDirectDrawSurface3(dst); +@@ -1352,7 +1355,8 @@ static HRESULT WINAPI ddraw_surface3_Flip(IDirectDrawSurface3 *iface, IDirectDra + dst_impl ? &dst_impl->IDirectDrawSurface7_iface : NULL, flags); + } + +-static HRESULT WINAPI ddraw_surface2_Flip(IDirectDrawSurface2 *iface, IDirectDrawSurface2 *dst, DWORD flags) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface2_Flip(IDirectDrawSurface2 *iface, ++ IDirectDrawSurface2 *dst, DWORD flags) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface2(iface); + struct ddraw_surface *dst_impl = unsafe_impl_from_IDirectDrawSurface2(dst); +@@ -1363,7 +1367,8 @@ static HRESULT WINAPI ddraw_surface2_Flip(IDirectDrawSurface2 *iface, IDirectDra + dst_impl ? &dst_impl->IDirectDrawSurface7_iface : NULL, flags); + } + +-static HRESULT WINAPI ddraw_surface1_Flip(IDirectDrawSurface *iface, IDirectDrawSurface *dst, DWORD flags) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface1_Flip(IDirectDrawSurface *iface, ++ IDirectDrawSurface *dst, DWORD flags) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface(iface); + struct ddraw_surface *dst_impl = unsafe_impl_from_IDirectDrawSurface(dst); +@@ -1512,7 +1517,7 @@ static HRESULT ddraw_surface_blt_clipped(struct ddraw_surface *dst_surface, cons + * See IWineD3DSurface::Blt for more details + * + *****************************************************************************/ +-static HRESULT WINAPI ddraw_surface7_Blt(IDirectDrawSurface7 *iface, RECT *DestRect, ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Blt(IDirectDrawSurface7 *iface, RECT *DestRect, + IDirectDrawSurface7 *SrcSurface, RECT *SrcRect, DWORD Flags, DDBLTFX *DDBltFx) + { + struct ddraw_surface *dst_surface = impl_from_IDirectDrawSurface7(iface); +@@ -1560,7 +1565,7 @@ static HRESULT WINAPI ddraw_surface7_Blt(IDirectDrawSurface7 *iface, RECT *DestR + } + } + +-static HRESULT WINAPI ddraw_surface4_Blt(IDirectDrawSurface4 *iface, RECT *dst_rect, ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface4_Blt(IDirectDrawSurface4 *iface, RECT *dst_rect, + IDirectDrawSurface4 *src_surface, RECT *src_rect, DWORD flags, DDBLTFX *fx) + { + struct ddraw_surface *dst = impl_from_IDirectDrawSurface4(iface); +@@ -1573,7 +1578,7 @@ static HRESULT WINAPI ddraw_surface4_Blt(IDirectDrawSurface4 *iface, RECT *dst_r + src ? &src->IDirectDrawSurface7_iface : NULL, src_rect, flags, fx); + } + +-static HRESULT WINAPI ddraw_surface3_Blt(IDirectDrawSurface3 *iface, RECT *dst_rect, ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface3_Blt(IDirectDrawSurface3 *iface, RECT *dst_rect, + IDirectDrawSurface3 *src_surface, RECT *src_rect, DWORD flags, DDBLTFX *fx) + { + struct ddraw_surface *dst = impl_from_IDirectDrawSurface3(iface); +@@ -1586,7 +1591,7 @@ static HRESULT WINAPI ddraw_surface3_Blt(IDirectDrawSurface3 *iface, RECT *dst_r + src_impl ? &src_impl->IDirectDrawSurface7_iface : NULL, src_rect, flags, fx); + } + +-static HRESULT WINAPI ddraw_surface2_Blt(IDirectDrawSurface2 *iface, RECT *dst_rect, ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface2_Blt(IDirectDrawSurface2 *iface, RECT *dst_rect, + IDirectDrawSurface2 *src_surface, RECT *src_rect, DWORD flags, DDBLTFX *fx) + { + struct ddraw_surface *dst = impl_from_IDirectDrawSurface2(iface); +@@ -1599,7 +1604,7 @@ static HRESULT WINAPI ddraw_surface2_Blt(IDirectDrawSurface2 *iface, RECT *dst_r + src_impl ? &src_impl->IDirectDrawSurface7_iface : NULL, src_rect, flags, fx); + } + +-static HRESULT WINAPI ddraw_surface1_Blt(IDirectDrawSurface *iface, RECT *dst_rect, ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface1_Blt(IDirectDrawSurface *iface, RECT *dst_rect, + IDirectDrawSurface *src_surface, RECT *src_rect, DWORD flags, DDBLTFX *fx) + { + struct ddraw_surface *dst = impl_from_IDirectDrawSurface(iface); +@@ -2560,7 +2565,7 @@ static HRESULT WINAPI ddraw_surface2_PageUnlock(IDirectDrawSurface2 *iface, DWOR + * DDERR_UNSUPPORTED + * + *****************************************************************************/ +-static HRESULT WINAPI ddraw_surface7_BltBatch(IDirectDrawSurface7 *iface, DDBLTBATCH *Batch, DWORD Count, DWORD Flags) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_BltBatch(IDirectDrawSurface7 *iface, DDBLTBATCH *Batch, DWORD Count, DWORD Flags) + { + TRACE("iface %p, batch %p, count %u, flags %#x.\n", iface, Batch, Count, Flags); + +@@ -2568,7 +2573,7 @@ static HRESULT WINAPI ddraw_surface7_BltBatch(IDirectDrawSurface7 *iface, DDBLTB + return DDERR_UNSUPPORTED; + } + +-static HRESULT WINAPI ddraw_surface4_BltBatch(IDirectDrawSurface4 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface4_BltBatch(IDirectDrawSurface4 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface4(iface); + +@@ -2577,7 +2582,7 @@ static HRESULT WINAPI ddraw_surface4_BltBatch(IDirectDrawSurface4 *iface, DDBLTB + return ddraw_surface7_BltBatch(&surface->IDirectDrawSurface7_iface, batch, count, flags); + } + +-static HRESULT WINAPI ddraw_surface3_BltBatch(IDirectDrawSurface3 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface3_BltBatch(IDirectDrawSurface3 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface3(iface); + +@@ -2586,7 +2591,7 @@ static HRESULT WINAPI ddraw_surface3_BltBatch(IDirectDrawSurface3 *iface, DDBLTB + return ddraw_surface7_BltBatch(&surface->IDirectDrawSurface7_iface, batch, count, flags); + } + +-static HRESULT WINAPI ddraw_surface2_BltBatch(IDirectDrawSurface2 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface2_BltBatch(IDirectDrawSurface2 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface2(iface); + +@@ -2595,7 +2600,7 @@ static HRESULT WINAPI ddraw_surface2_BltBatch(IDirectDrawSurface2 *iface, DDBLTB + return ddraw_surface7_BltBatch(&surface->IDirectDrawSurface7_iface, batch, count, flags); + } + +-static HRESULT WINAPI ddraw_surface1_BltBatch(IDirectDrawSurface *iface, DDBLTBATCH *batch, DWORD count, DWORD flags) ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface1_BltBatch(IDirectDrawSurface *iface, DDBLTBATCH *batch, DWORD count, DWORD flags) + { + struct ddraw_surface *surface = impl_from_IDirectDrawSurface(iface); + +@@ -4042,7 +4047,7 @@ static HRESULT WINAPI ddraw_surface7_GetLOD(IDirectDrawSurface7 *iface, DWORD *M + * For more details, see IWineD3DSurface::BltFast + * + *****************************************************************************/ +-static HRESULT WINAPI ddraw_surface7_BltFast(IDirectDrawSurface7 *iface, DWORD dstx, DWORD dsty, ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_BltFast(IDirectDrawSurface7 *iface, DWORD dstx, DWORD dsty, + IDirectDrawSurface7 *Source, RECT *rsrc, DWORD trans) + { + struct ddraw_surface *This = impl_from_IDirectDrawSurface7(iface); +@@ -4114,7 +4119,7 @@ static HRESULT WINAPI ddraw_surface7_BltFast(IDirectDrawSurface7 *iface, DWORD d + } + } + +-static HRESULT WINAPI ddraw_surface4_BltFast(IDirectDrawSurface4 *iface, DWORD dst_x, DWORD dst_y, ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface4_BltFast(IDirectDrawSurface4 *iface, DWORD dst_x, DWORD dst_y, + IDirectDrawSurface4 *src_surface, RECT *src_rect, DWORD flags) + { + struct ddraw_surface *dst_impl = impl_from_IDirectDrawSurface4(iface); +@@ -4127,7 +4132,7 @@ static HRESULT WINAPI ddraw_surface4_BltFast(IDirectDrawSurface4 *iface, DWORD d + src_impl ? &src_impl->IDirectDrawSurface7_iface : NULL, src_rect, flags); + } + +-static HRESULT WINAPI ddraw_surface3_BltFast(IDirectDrawSurface3 *iface, DWORD dst_x, DWORD dst_y, ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface3_BltFast(IDirectDrawSurface3 *iface, DWORD dst_x, DWORD dst_y, + IDirectDrawSurface3 *src_surface, RECT *src_rect, DWORD flags) + { + struct ddraw_surface *dst_impl = impl_from_IDirectDrawSurface3(iface); +@@ -4140,7 +4145,7 @@ static HRESULT WINAPI ddraw_surface3_BltFast(IDirectDrawSurface3 *iface, DWORD d + src_impl ? &src_impl->IDirectDrawSurface7_iface : NULL, src_rect, flags); + } + +-static HRESULT WINAPI ddraw_surface2_BltFast(IDirectDrawSurface2 *iface, DWORD dst_x, DWORD dst_y, ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface2_BltFast(IDirectDrawSurface2 *iface, DWORD dst_x, DWORD dst_y, + IDirectDrawSurface2 *src_surface, RECT *src_rect, DWORD flags) + { + struct ddraw_surface *dst_impl = impl_from_IDirectDrawSurface2(iface); +@@ -4153,7 +4158,7 @@ static HRESULT WINAPI ddraw_surface2_BltFast(IDirectDrawSurface2 *iface, DWORD d + src_impl ? &src_impl->IDirectDrawSurface7_iface : NULL, src_rect, flags); + } + +-static HRESULT WINAPI ddraw_surface1_BltFast(IDirectDrawSurface *iface, DWORD dst_x, DWORD dst_y, ++static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface1_BltFast(IDirectDrawSurface *iface, DWORD dst_x, DWORD dst_y, + IDirectDrawSurface *src_surface, RECT *src_rect, DWORD flags) + { + struct ddraw_surface *dst_impl = impl_from_IDirectDrawSurface(iface); +-- +2.3.0 + diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 1ad5f426..1fe4340e 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -69,6 +69,7 @@ patch_enable_all () enable_browseui_Progress_Dialog="$1" enable_comctl32_LoadIconMetric="$1" enable_configure_Absolute_RPATH="$1" + enable_d3d8_Hotpatch="$1" enable_d3d9_Surface_Refcount="$1" enable_d3drm_Specfile="$1" enable_d3dx9_36_AnimationController="$1" @@ -84,6 +85,7 @@ patch_enable_all () enable_d3dx9_36_Texture_Align="$1" enable_d3dx9_36_UpdateSkinnedMesh="$1" enable_dbghelp_Debug_Symbols="$1" + enable_ddraw_Hotpatch="$1" enable_ddraw_d3d_execute_buffer="$1" enable_dinput_Events="$1" enable_dsound_Fast_Mixer="$1" @@ -243,6 +245,9 @@ patch_enable () configure-Absolute_RPATH) enable_configure_Absolute_RPATH="$2" ;; + d3d8-Hotpatch) + enable_d3d8_Hotpatch="$2" + ;; d3d9-Surface_Refcount) enable_d3d9_Surface_Refcount="$2" ;; @@ -288,6 +293,9 @@ patch_enable () dbghelp-Debug_Symbols) enable_dbghelp_Debug_Symbols="$2" ;; + ddraw-Hotpatch) + enable_ddraw_Hotpatch="$2" + ;; ddraw-d3d_execute_buffer) enable_ddraw_d3d_execute_buffer="$2" ;; @@ -1258,6 +1266,18 @@ if test "$enable_configure_Absolute_RPATH" -eq 1; then ) >> "$patchlist" fi +# Patchset d3d8-Hotpatch +# | +# | Modified files: +# | * dlls/d3d8/swapchain.c +# | +if test "$enable_d3d8_Hotpatch" -eq 1; then + patch_apply d3d8-Hotpatch/0001-d3d8-Make-IDirect3DSwapChain8-Present-hotpachable.patch + ( + echo '+ { "Michael Müller", "d3d8: Make IDirect3DSwapChain8::Present hotpachable.", 1 },'; + ) >> "$patchlist" +fi + # Patchset d3d9-Surface_Refcount # | # | This patchset fixes the following Wine bugs: @@ -1516,6 +1536,18 @@ if test "$enable_dbghelp_Debug_Symbols" -eq 1; then ) >> "$patchlist" fi +# Patchset ddraw-Hotpatch +# | +# | Modified files: +# | * dlls/ddraw/surface.c +# | +if test "$enable_ddraw_Hotpatch" -eq 1; then + patch_apply ddraw-Hotpatch/0001-ddraw-Make-some-functions-hotpachable.patch + ( + echo '+ { "Michael Müller", "ddraw: Make some functions hotpachable.", 1 },'; + ) >> "$patchlist" +fi + # Patchset ddraw-d3d_execute_buffer # | # | Modified files: @@ -1576,18 +1608,6 @@ if test "$enable_dxgi_GetDesc" -eq 1; then ) >> "$patchlist" fi -# Patchset makedep-PARENTSPEC -# | -# | Modified files: -# | * tools/makedep.c -# | -if test "$enable_makedep_PARENTSPEC" -eq 1; then - patch_apply makedep-PARENTSPEC/0001-makedep-Add-support-for-PARENTSPEC-Makefile-variable.patch - ( - echo '+ { "Sebastian Lackner", "makedep: Add support for PARENTSPEC Makefile variable.", 1 },'; - ) >> "$patchlist" -fi - # Patchset ntdll-DllRedirects # | # | Modified files: @@ -1608,6 +1628,18 @@ if test "$enable_ntdll_DllRedirects" -eq 1; then ) >> "$patchlist" fi +# Patchset makedep-PARENTSPEC +# | +# | Modified files: +# | * tools/makedep.c +# | +if test "$enable_makedep_PARENTSPEC" -eq 1; then + patch_apply makedep-PARENTSPEC/0001-makedep-Add-support-for-PARENTSPEC-Makefile-variable.patch + ( + echo '+ { "Sebastian Lackner", "makedep: Add support for PARENTSPEC Makefile variable.", 1 },'; + ) >> "$patchlist" +fi + # Patchset wined3d-CSMT_Helper # | # | Modified files: @@ -3310,6 +3342,21 @@ if test "$enable_server_CreateProcess_ACLs" -eq 1; then ) >> "$patchlist" fi +# Patchset server-OpenProcess +# | +# | This patchset fixes the following Wine bugs: +# | * [#37087] Return an error when trying to open a terminated process +# | +# | Modified files: +# | * server/process.c, server/process.h +# | +if test "$enable_server_OpenProcess" -eq 1; then + patch_apply server-OpenProcess/0001-server-Return-error-when-opening-a-terminating-proce.patch + ( + echo '+ { "Michael Müller", "server: Return error when opening a terminating process.", 3 },'; + ) >> "$patchlist" +fi + # Patchset server-Misc_ACL # | # | This patchset fixes the following Wine bugs: @@ -3327,21 +3374,6 @@ if test "$enable_server_Misc_ACL" -eq 1; then ) >> "$patchlist" fi -# Patchset server-OpenProcess -# | -# | This patchset fixes the following Wine bugs: -# | * [#37087] Return an error when trying to open a terminated process -# | -# | Modified files: -# | * server/process.c, server/process.h -# | -if test "$enable_server_OpenProcess" -eq 1; then - patch_apply server-OpenProcess/0001-server-Return-error-when-opening-a-terminating-proce.patch - ( - echo '+ { "Michael Müller", "server: Return error when opening a terminating process.", 3 },'; - ) >> "$patchlist" -fi - # Patchset server-JobObjects # | # | This patchset fixes the following Wine bugs: