From 82924e9a17246f6fc3a6535f29d6da1053699d5a Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sat, 30 Sep 2023 08:20:32 +1000 Subject: [PATCH] Rebase against 3db7506221e44e8091887d7eb42fe1666d422166. --- ...lement-IDirectMusicSegment8-Download.patch | 33 +++++++++++-------- ...nd-in-IDirectMusicPerformance8-PlayS.patch | 10 +++--- ...exe-when-registry-lookup-fails-first.patch | 12 +++---- staging/upstream-commit | 2 +- 4 files changed, 31 insertions(+), 26 deletions(-) diff --git a/patches/dmime-load-wave/0002-dmime-Implement-IDirectMusicSegment8-Download.patch b/patches/dmime-load-wave/0002-dmime-Implement-IDirectMusicSegment8-Download.patch index cdb7f2a3..ff0aca4b 100644 --- a/patches/dmime-load-wave/0002-dmime-Implement-IDirectMusicSegment8-Download.patch +++ b/patches/dmime-load-wave/0002-dmime-Implement-IDirectMusicSegment8-Download.patch @@ -1,4 +1,4 @@ -From cdbd2714d5454e6518b699e3cdbedd3e0a1243c5 Mon Sep 17 00:00:00 2001 +From aa953a66080d49a697101fb55a1bd950de4a59db Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 2 Dec 2022 14:41:30 +1100 Subject: [PATCH] dmime: Implement IDirectMusicSegment8 Download @@ -6,8 +6,8 @@ Subject: [PATCH] dmime: Implement IDirectMusicSegment8 Download --- dlls/dmime/dmime_private.h | 2 + dlls/dmime/performance.c | 7 ++++ - dlls/dmime/segment.c | 80 +++++++++++++++++++++++++++++++++++++- - 3 files changed, 88 insertions(+), 1 deletion(-) + dlls/dmime/segment.c | 84 +++++++++++++++++++++++++++++++++++++- + 3 files changed, 92 insertions(+), 1 deletion(-) diff --git a/dlls/dmime/dmime_private.h b/dlls/dmime/dmime_private.h index eacde4b46be..cd34378b66e 100644 @@ -23,7 +23,7 @@ index eacde4b46be..cd34378b66e 100644 * Auxiliary definitions */ diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c -index d8624427423..a707de39d50 100644 +index 111d7c60568..8a418b8df13 100644 --- a/dlls/dmime/performance.c +++ b/dlls/dmime/performance.c @@ -251,6 +251,13 @@ static inline struct performance *impl_from_IDirectMusicPerformance8(IDirectMusi @@ -41,7 +41,7 @@ index d8624427423..a707de39d50 100644 static HRESULT WINAPI performance_QueryInterface(IDirectMusicPerformance8 *iface, REFIID riid, void **ret_iface) { diff --git a/dlls/dmime/segment.c b/dlls/dmime/segment.c -index a72ec786623..ebee90eee92 100644 +index af7729f34b9..284564749df 100644 --- a/dlls/dmime/segment.c +++ b/dlls/dmime/segment.c @@ -54,6 +54,7 @@ struct segment @@ -61,11 +61,10 @@ index a72ec786623..ebee90eee92 100644 if (This->wave_data) free(This->wave_data); -@@ -517,7 +520,82 @@ static HRESULT WINAPI segment_Compose(IDirectMusicSegment8 *iface, MUSIC_TIME mt - static HRESULT WINAPI segment_Download(IDirectMusicSegment8 *iface, IUnknown *pAudioPath) +@@ -533,8 +536,87 @@ static HRESULT WINAPI segment_Compose(IDirectMusicSegment8 *iface, MUSIC_TIME mt + static HRESULT WINAPI segment_Download(IDirectMusicSegment8 *iface, IUnknown *audio_path) { struct segment *This = impl_from_IDirectMusicSegment8(iface); -- FIXME("(%p, %p): stub\n", This, pAudioPath); + IDirectMusicPerformance8 *perf; + IDirectMusicAudioPath *audio; + IDirectSound *dsound; @@ -75,11 +74,16 @@ index a72ec786623..ebee90eee92 100644 + DWORD size; + DWORD buffer = 0; + -+ TRACE("(%p, %p)\n", This, pAudioPath); + TRACE("(%p, %p)\n", This, audio_path); +- return IDirectMusicSegment8_SetParam(iface, &GUID_DownloadToAudioPath, -1, DMUS_SEG_ALLTRACKS, 0, audio_path); + -+ if (!pAudioPath) ++ if (!audio_path) + return E_INVALIDARG; + ++ hr = IDirectMusicSegment8_SetParam(iface, &GUID_DownloadToAudioPath, -1, DMUS_SEG_ALLTRACKS, 0, audio_path); ++ if (FAILED(hr)) ++ return hr; ++ + if (This->buffer) + { + TRACE("Using Cached buffer\n"); @@ -87,11 +91,11 @@ index a72ec786623..ebee90eee92 100644 + } + + /* pAudioPath can either be IDirectMusicAudioPath or IDirectMusicPerformance */ -+ hr = IUnknown_QueryInterface(pAudioPath, &IID_IDirectMusicPerformance8, (void**)&perf); ++ hr = IUnknown_QueryInterface(audio_path, &IID_IDirectMusicPerformance8, (void**)&perf); + if (FAILED(hr)) + { + TRACE("Checking for IDirectMusicAudioPath interface\n"); -+ hr = IUnknown_QueryInterface(pAudioPath, &IID_IDirectMusicAudioPath, (void**)&audio); ++ hr = IUnknown_QueryInterface(audio_path, &IID_IDirectMusicAudioPath, (void**)&audio); + if (FAILED(hr)) + { + WARN("Cannot query for IDirectMusicAudioPath\n"); @@ -142,9 +146,10 @@ index a72ec786623..ebee90eee92 100644 + hr = IDirectSoundBuffer_Unlock(This->buffer, data, This->data_size, NULL, 0); + TRACE("IDirectSoundBuffer_Unlock hr 0x%08lx\n", hr); + - return S_OK; ++ return S_OK; } + static HRESULT WINAPI segment_Unload(IDirectMusicSegment8 *iface, IUnknown *audio_path) -- -2.40.1 +2.42.0 diff --git a/patches/dmime-load-wave/0003-dmime-Play-a-sound-in-IDirectMusicPerformance8-PlayS.patch b/patches/dmime-load-wave/0003-dmime-Play-a-sound-in-IDirectMusicPerformance8-PlayS.patch index 64441c37..3f53cc38 100644 --- a/patches/dmime-load-wave/0003-dmime-Play-a-sound-in-IDirectMusicPerformance8-PlayS.patch +++ b/patches/dmime-load-wave/0003-dmime-Play-a-sound-in-IDirectMusicPerformance8-PlayS.patch @@ -1,4 +1,4 @@ -From ea9bd0ec85254305b5783e1890ded6b21d200f41 Mon Sep 17 00:00:00 2001 +From 5c84cc44881073aa756e4797a776acbde4d063ae Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Mon, 12 Dec 2022 15:20:10 +1100 Subject: [PATCH] dmime: Play a sound in IDirectMusicPerformance8 PlaySegmentEx @@ -22,10 +22,10 @@ index cd34378b66e..c83f6675333 100644 /***************************************************************************** * Auxiliary definitions diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c -index a707de39d50..2b09814cd6b 100644 +index 8a418b8df13..a0dbdbd5aad 100644 --- a/dlls/dmime/performance.c +++ b/dlls/dmime/performance.c -@@ -1053,13 +1053,26 @@ static HRESULT WINAPI performance_PlaySegmentEx(IDirectMusicPerformance8 *iface, +@@ -1075,13 +1075,26 @@ static HRESULT WINAPI performance_PlaySegmentEx(IDirectMusicPerformance8 *iface, WCHAR *pwzSegmentName, IUnknown *pTransition, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState **ppSegmentState, IUnknown *pFrom, IUnknown *pAudioPath) { @@ -59,7 +59,7 @@ index a707de39d50..2b09814cd6b 100644 static HRESULT WINAPI performance_StopEx(IDirectMusicPerformance8 *iface, IUnknown *pObjectToStop, diff --git a/dlls/dmime/segment.c b/dlls/dmime/segment.c -index ebee90eee92..8482cb21d34 100644 +index 284564749df..af76258c979 100644 --- a/dlls/dmime/segment.c +++ b/dlls/dmime/segment.c @@ -64,6 +64,12 @@ static inline struct segment *impl_from_IDirectMusicSegment8(IDirectMusicSegment @@ -76,5 +76,5 @@ index ebee90eee92..8482cb21d34 100644 { struct segment *This = impl_from_IDirectMusicSegment8(iface); -- -2.40.1 +2.42.0 diff --git a/patches/shell32-registry-lookup-app/0001-shell32-Append-.exe-when-registry-lookup-fails-first.patch b/patches/shell32-registry-lookup-app/0001-shell32-Append-.exe-when-registry-lookup-fails-first.patch index c62a1f4d..d4c422e1 100644 --- a/patches/shell32-registry-lookup-app/0001-shell32-Append-.exe-when-registry-lookup-fails-first.patch +++ b/patches/shell32-registry-lookup-app/0001-shell32-Append-.exe-when-registry-lookup-fails-first.patch @@ -1,4 +1,4 @@ -From 70e0b924b2c89bae3f5723c6397fb00df6283586 Mon Sep 17 00:00:00 2001 +From 79fbd3342a3e5c7cb2198bf2f0412db1df4b1fce Mon Sep 17 00:00:00 2001 From: Louis Lenders Date: Thu, 4 Nov 2021 21:01:24 +1100 Subject: [PATCH] shell32: Append .exe when registry lookup fails first time @@ -8,12 +8,12 @@ Subject: [PATCH] shell32: Append .exe when registry lookup fails first time 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/shell32/shlexec.c b/dlls/shell32/shlexec.c -index d24b597181f..674e1e3b0c4 100644 +index 069b96a51a1..5033330b60c 100644 --- a/dlls/shell32/shlexec.c +++ b/dlls/shell32/shlexec.c -@@ -457,7 +457,10 @@ static BOOL SHELL_TryAppPathW( LPCWSTR szName, LPWSTR lpResult, WCHAR **env) - lstrcpyW(buffer, L"Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\"); - lstrcatW(buffer, szName); +@@ -459,7 +459,10 @@ static BOOL SHELL_TryAppPathW( LPCWSTR szName, LPWSTR lpResult, WCHAR **env) + + wcscat(buffer, szName); res = RegOpenKeyExW(HKEY_LOCAL_MACHINE, buffer, 0, KEY_READ, &hkApp); - if (res) goto end; + if (res) @@ -24,5 +24,5 @@ index d24b597181f..674e1e3b0c4 100644 len = MAX_PATH*sizeof(WCHAR); res = RegQueryValueW(hkApp, NULL, lpResult, &len); -- -2.33.0 +2.42.0 diff --git a/staging/upstream-commit b/staging/upstream-commit index 1730324b..825bdca6 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -9e0487c4cc36cdbf915d35222c875d23f54958ae +3db7506221e44e8091887d7eb42fe1666d422166