From d807c55e94629f0f1e9421e0a43b83f5a7d0ffd1 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Mon, 16 Mar 2015 08:24:51 +0100 Subject: [PATCH] Added patch to improve stub for ID3DXEffectImpl_CloneEffect, mark upstream bug 25138 as fixes. --- README.md | 5 ++-- debian/changelog | 1 + patches/d3dx9_25-ID3DXEffect/definition | 2 +- ...-stub-for-ID3DXEffectImpl_CloneEffec.patch | 30 +++++++++++++++++++ patches/d3dx9_36-CloneEffect/definition | 1 + patches/patchinstall.sh | 19 ++++++++++++ 6 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 patches/d3dx9_36-CloneEffect/0001-d3dx9_36-Improve-stub-for-ID3DXEffectImpl_CloneEffec.patch create mode 100644 patches/d3dx9_36-CloneEffect/definition diff --git a/README.md b/README.md index 033be1a6..91f0d8e0 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Wine. All those differences are also documented on the Included bug fixes and improvements =================================== -**Bugfixes and features included in the next upcoming release [12]:** +**Bugfixes and features included in the next upcoming release [13]:** * Add stub for PowerCreateRequest * Fix caps lock state issues with multiple processes ([Wine Bug #35907](https://bugs.winehq.org/show_bug.cgi?id=35907)) @@ -46,10 +46,11 @@ Included bug fixes and improvements * Fix wrong return values in _ismbckata * Fix wrong return values of RtlFindActivationContextSectionString for NULL data * Fix wrong version of ID3DXEffect interface for d3dx9_24 -* Fix wrong version of ID3DXEffect interface for d3dx9_25 +* Fix wrong version of ID3DXEffect interface for d3dx9_25 ([Wine Bug #25138](https://bugs.winehq.org/show_bug.cgi?id=25138)) * GetMessage should remove already seen messages with higher priority ([Wine Bug #28884](https://bugs.winehq.org/show_bug.cgi?id=28884)) * Implement _ismbckata and _mbctohira ([Wine Bug #38226](https://bugs.winehq.org/show_bug.cgi?id=38226)) * Implement locking and synchronization of key states ([Wine Bug #31899](https://bugs.winehq.org/show_bug.cgi?id=31899)) +* Improve stub for ID3DXEffectImpl_CloneEffect * Invalidate key state cache globally after calling LL hooks ([Wine Bug #29871](https://bugs.winehq.org/show_bug.cgi?id=29871)) * Python PIP needs better NtQueryInformationJobObject stub diff --git a/debian/changelog b/debian/changelog index ed998eaa..5095555c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,6 +15,7 @@ wine-staging (1.7.39) UNRELEASED; urgency=low * Added patch to fix Wine Staging Bug #162 - Caesar III demo installer crashes. * Added patch to fix wrong return values of RtlFindActivationContextSectionString for NULL data (by Mark Jansen). * Added patch to implement _ismbckata and _mbctohira, moreover fix wrong return value of _ismbckata. + * Added patch to improve stub for ID3DXEffectImpl_CloneEffect. * Removed patch to avoid hardcoded values for sizeof(GUID) (accepted upstream). * Removed patches for SLGetWindowsInformationDWORD (accepted upstream). -- Sebastian Lackner Mon, 09 Mar 2015 16:52:35 +0100 diff --git a/patches/d3dx9_25-ID3DXEffect/definition b/patches/d3dx9_25-ID3DXEffect/definition index 1dc8997a..6aff9356 100644 --- a/patches/d3dx9_25-ID3DXEffect/definition +++ b/patches/d3dx9_25-ID3DXEffect/definition @@ -1 +1 @@ -Fixes: Fix wrong version of ID3DXEffect interface for d3dx9_25 +Fixes: [25138] Fix wrong version of ID3DXEffect interface for d3dx9_25 diff --git a/patches/d3dx9_36-CloneEffect/0001-d3dx9_36-Improve-stub-for-ID3DXEffectImpl_CloneEffec.patch b/patches/d3dx9_36-CloneEffect/0001-d3dx9_36-Improve-stub-for-ID3DXEffectImpl_CloneEffec.patch new file mode 100644 index 00000000..fb3dfe1f --- /dev/null +++ b/patches/d3dx9_36-CloneEffect/0001-d3dx9_36-Improve-stub-for-ID3DXEffectImpl_CloneEffec.patch @@ -0,0 +1,30 @@ +From f820c1d1f8ef2a4d76f06515ecff8b45bae23d4e Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Mon, 16 Mar 2015 08:18:33 +0100 +Subject: d3dx9_36: Improve stub for ID3DXEffectImpl_CloneEffect. + +--- + dlls/d3dx9_36/effect.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c +index 8e2f850..18d952f 100644 +--- a/dlls/d3dx9_36/effect.c ++++ b/dlls/d3dx9_36/effect.c +@@ -3363,7 +3363,12 @@ static HRESULT WINAPI ID3DXEffectImpl_CloneEffect(ID3DXEffect *iface, + + FIXME("(%p)->(%p, %p): stub\n", This, device, effect); + +- return E_NOTIMPL; ++ if (!effect) ++ return D3DXERR_INVALIDDATA; ++ ++ iface->lpVtbl->AddRef(iface); ++ *effect = iface; ++ return S_OK; + } + + static HRESULT WINAPI ID3DXEffectImpl_SetRawValue(ID3DXEffect *iface, +-- +2.3.2 + diff --git a/patches/d3dx9_36-CloneEffect/definition b/patches/d3dx9_36-CloneEffect/definition new file mode 100644 index 00000000..886f3228 --- /dev/null +++ b/patches/d3dx9_36-CloneEffect/definition @@ -0,0 +1 @@ +Fixes: Improve stub for ID3DXEffectImpl_CloneEffect diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 8fd67885..c652a431 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -78,6 +78,7 @@ patch_enable_all () enable_d3dx9_25_ID3DXEffect="$1" enable_d3dx9_26_ID3DXEffect="$1" enable_d3dx9_36_AnimationController="$1" + enable_d3dx9_36_CloneEffect="$1" enable_d3dx9_36_D3DXStubs="$1" enable_d3dx9_36_DDS="$1" enable_d3dx9_36_DXTn="$1" @@ -286,6 +287,9 @@ patch_enable () d3dx9_36-AnimationController) enable_d3dx9_36_AnimationController="$2" ;; + d3dx9_36-CloneEffect) + enable_d3dx9_36_CloneEffect="$2" + ;; d3dx9_36-D3DXStubs) enable_d3dx9_36_D3DXStubs="$2" ;; @@ -1400,6 +1404,9 @@ fi # Patchset d3dx9_25-ID3DXEffect # | +# | This patchset fixes the following Wine bugs: +# | * [#25138] Fix wrong version of ID3DXEffect interface for d3dx9_25 +# | # | Modified files: # | * dlls/d3dx9_25/Makefile.in, dlls/d3dx9_25/d3dx9_25.spec, dlls/d3dx9_25/effect.c, include/d3dx9effect.h # | @@ -1489,6 +1496,18 @@ if test "$enable_d3dx9_36_AnimationController" -eq 1; then ) >> "$patchlist" fi +# Patchset d3dx9_36-CloneEffect +# | +# | Modified files: +# | * dlls/d3dx9_36/effect.c +# | +if test "$enable_d3dx9_36_CloneEffect" -eq 1; then + patch_apply d3dx9_36-CloneEffect/0001-d3dx9_36-Improve-stub-for-ID3DXEffectImpl_CloneEffec.patch + ( + echo '+ { "Sebastian Lackner", "d3dx9_36: Improve stub for ID3DXEffectImpl_CloneEffect.", 1 },'; + ) >> "$patchlist" +fi + # Patchset d3dx9_36-D3DXStubs # | # | This patchset fixes the following Wine bugs: