From 1f89c15143cbff3d8a8acbd9180c1843cacda7c4 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Mon, 15 Mar 2021 18:28:35 -0500 Subject: [PATCH] Rebase against 23ffd0a7986421958c23cffce138afa389209920. --- patches/opencl-version_1_2/definition | 2 + patches/patchinstall.sh | 54 +---- ...01-windows.gaming.input-Add-stub-dll.patch | 14 +- ...nput-Implement-IGamepadStatics-stubs.patch | 8 +- ...nput-Implement-IRawGameControllerSta.patch | 12 +- patches/windows.gaming.input-dll/definition | 1 - ...1-windows.globalization-Add-stub-dll.patch | 20 +- ...01-windows.media.speech-Add-stub-dll.patch | 209 ------------------ ...eech-Implement-IInstalledVoicesStati.patch | 156 ------------- ...eech-Implement-IInstalledVoicesStati.patch | 159 ------------- ...eech-Fake-empty-IInstalledVoicesStat.patch | 53 ----- patches/windows.media.speech.dll/definition | 1 - staging/upstream-commit | 2 +- 13 files changed, 32 insertions(+), 659 deletions(-) delete mode 100644 patches/windows.media.speech.dll/0001-windows.media.speech-Add-stub-dll.patch delete mode 100644 patches/windows.media.speech.dll/0002-windows.media.speech-Implement-IInstalledVoicesStati.patch delete mode 100644 patches/windows.media.speech.dll/0003-windows.media.speech-Implement-IInstalledVoicesStati.patch delete mode 100644 patches/windows.media.speech.dll/0004-windows.media.speech-Fake-empty-IInstalledVoicesStat.patch delete mode 100644 patches/windows.media.speech.dll/definition diff --git a/patches/opencl-version_1_2/definition b/patches/opencl-version_1_2/definition index b63ae33b..cb15888c 100644 --- a/patches/opencl-version_1_2/definition +++ b/patches/opencl-version_1_2/definition @@ -1 +1,3 @@ Fixes: [46470] opencl: Add support for OpenCL 1.2. +# In the process of upstreaming. +Disabled: true diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index a41ff30f..74cb1ee3 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "4336ed0b84b3dd3097bbbbf8e4b9de2e4d444ad7" + echo "23ffd0a7986421958c23cffce138afa389209920" } # Show version information @@ -192,7 +192,6 @@ patch_enable_all () enable_oleaut32_OLEPictureImpl_SaveAsFile="$1" enable_oleaut32_OleLoadPicture="$1" enable_oleaut32_OleLoadPictureFile="$1" - enable_opencl_version_1_2="$1" enable_packager_DllMain="$1" enable_pdh_PdhLookupPerfNameByIndex_processor="$1" enable_programs_findstr="$1" @@ -253,7 +252,6 @@ patch_enable_all () enable_widl_SLTG_Typelib_Support="$1" enable_windows_gaming_input_dll="$1" enable_windows_globalization_dll="$1" - enable_windows_media_speech_dll="$1" enable_windowscodecs_GIF_Encoder="$1" enable_windowscodecs_TIFF_Support="$1" enable_wine_inf_Directory_ContextMenuHandlers="$1" @@ -645,9 +643,6 @@ patch_enable () oleaut32-OleLoadPictureFile) enable_oleaut32_OleLoadPictureFile="$2" ;; - opencl-version_1_2) - enable_opencl_version_1_2="$2" - ;; packager-DllMain) enable_packager_DllMain="$2" ;; @@ -828,9 +823,6 @@ patch_enable () windows.globalization-dll) enable_windows_globalization_dll="$2" ;; - windows.media.speech.dll) - enable_windows_media_speech_dll="$2" - ;; windowscodecs-GIF_Encoder) enable_windowscodecs_GIF_Encoder="$2" ;; @@ -1375,13 +1367,6 @@ if test "$enable_windows_globalization_dll" -eq 1; then enable_windows_gaming_input_dll=1 fi -if test "$enable_windows_gaming_input_dll" -eq 1; then - if test "$enable_windows_media_speech_dll" -gt 1; then - abort "Patchset windows.media.speech.dll disabled, but windows.gaming.input-dll depends on that." - fi - enable_windows_media_speech_dll=1 -fi - if test "$enable_user32_rawinput_mouse_experimental" -eq 1; then if test "$enable_user32_rawinput_mouse" -gt 1; then abort "Patchset user32-rawinput-mouse disabled, but user32-rawinput-mouse-experimental depends on that." @@ -3319,22 +3304,6 @@ if test "$enable_oleaut32_OleLoadPictureFile" -eq 1; then patch_apply oleaut32-OleLoadPictureFile/0003-oleaut32-Implement-OleLoadPictureFile.patch fi -# Patchset opencl-version_1_2 -# | -# | This patchset fixes the following Wine bugs: -# | * [#46470] opencl: Add support for OpenCL 1.2. -# | -# | Modified files: -# | * configure, configure.ac, dlls/opencl/opencl.c, dlls/opencl/opencl.spec, include/config.h.in -# | -if test "$enable_opencl_version_1_2" -eq 1; then - patch_apply opencl-version_1_2/0001-opencl-Add-OpenCL-1.0-function-pointer-loader.patch - patch_apply opencl-version_1_2/0002-opencl-Use-function-pointer-instead-of-call-the-func.patch - patch_apply opencl-version_1_2/0003-opencl-Add-OpenCL-1.1-implementation.patch - patch_apply opencl-version_1_2/0004-opencl-Add-OpenCL-1.2-implementation.patch - patch_apply opencl-version_1_2/0005-opencl-Expose-all-extensions-list-to-wine.patch -fi - # Patchset packager-DllMain # | # | This patchset fixes the following Wine bugs: @@ -4090,27 +4059,8 @@ if test "$enable_version_VerQueryValue" -eq 1; then patch_apply version-VerQueryValue/0001-version-Test-for-VerQueryValueA-try-2.patch fi -# Patchset windows.media.speech.dll -# | -# | This patchset fixes the following Wine bugs: -# | * [#49740] windows.media.speech: New DLL -# | -# | Modified files: -# | * configure.ac, dlls/windows.media.speech.dll/Makefile.in, dlls/windows.media.speech.dll/windows.media.speech.spec, -# | dlls/windows.media.speech.dll/windows.media.speech_main.c, loader/wine.inf.in -# | -if test "$enable_windows_media_speech_dll" -eq 1; then - patch_apply windows.media.speech.dll/0001-windows.media.speech-Add-stub-dll.patch - patch_apply windows.media.speech.dll/0002-windows.media.speech-Implement-IInstalledVoicesStati.patch - patch_apply windows.media.speech.dll/0003-windows.media.speech-Implement-IInstalledVoicesStati.patch - patch_apply windows.media.speech.dll/0004-windows.media.speech-Fake-empty-IInstalledVoicesStat.patch -fi - # Patchset windows.gaming.input-dll # | -# | This patchset has the following (direct or indirect) dependencies: -# | * windows.media.speech.dll -# | # | This patchset fixes the following Wine bugs: # | * [#49756] windows.gaming.input: New DLL # | @@ -4136,7 +4086,7 @@ fi # Patchset windows.globalization-dll # | # | This patchset has the following (direct or indirect) dependencies: -# | * windows.media.speech.dll, windows.gaming.input-dll +# | * windows.gaming.input-dll # | # | This patchset fixes the following Wine bugs: # | * [#49740] windows.globalization: New DLL diff --git a/patches/windows.gaming.input-dll/0001-windows.gaming.input-Add-stub-dll.patch b/patches/windows.gaming.input-dll/0001-windows.gaming.input-Add-stub-dll.patch index ca6905af..a90d8859 100644 --- a/patches/windows.gaming.input-dll/0001-windows.gaming.input-Add-stub-dll.patch +++ b/patches/windows.gaming.input-dll/0001-windows.gaming.input-Add-stub-dll.patch @@ -1,4 +1,4 @@ -From 101a33fbffa02e2437d4ef62bc830c6b72e29280 Mon Sep 17 00:00:00 2001 +From 029200956d78cda3fc27514adaf8d52541881367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Fri, 9 Oct 2020 13:38:18 +0200 Subject: [PATCH] windows.gaming.input: Add stub dll. @@ -17,17 +17,17 @@ Subject: [PATCH] windows.gaming.input: Add stub dll. create mode 100644 include/windows.gaming.input.idl diff --git a/configure.ac b/configure.ac -index 78720ab188f..405d1a6ecc4 100644 +index 8c092fb020c..558d2e906a2 100644 --- a/configure.ac +++ b/configure.ac -@@ -3796,6 +3796,7 @@ WINE_CONFIG_MAKEFILE(dlls/win32s16.dll16,enable_win16) +@@ -3801,6 +3801,7 @@ WINE_CONFIG_MAKEFILE(dlls/win32s16.dll16,enable_win16) WINE_CONFIG_MAKEFILE(dlls/win87em.dll16,enable_win16) WINE_CONFIG_MAKEFILE(dlls/winaspi.dll16,enable_win16) WINE_CONFIG_MAKEFILE(dlls/windebug.dll16,enable_win16) +WINE_CONFIG_MAKEFILE(dlls/windows.gaming.input.dll) - WINE_CONFIG_MAKEFILE(dlls/windows.media.speech.dll) + WINE_CONFIG_MAKEFILE(dlls/windows.media.speech) + WINE_CONFIG_MAKEFILE(dlls/windows.media.speech/tests) WINE_CONFIG_MAKEFILE(dlls/windowscodecs) - WINE_CONFIG_MAKEFILE(dlls/windowscodecs/tests) diff --git a/dlls/windows.gaming.input.dll/Makefile.in b/dlls/windows.gaming.input.dll/Makefile.in new file mode 100644 index 00000000000..d9478342294 @@ -195,10 +195,10 @@ index 00000000000..2b6abc4dd84 + return S_OK; +} diff --git a/include/Makefile.in b/include/Makefile.in -index 6c16e01a271..ac403a78a4d 100644 +index d3494dde7a0..71afc8c0c99 100644 --- a/include/Makefile.in +++ b/include/Makefile.in -@@ -748,6 +748,7 @@ SOURCES = \ +@@ -749,6 +749,7 @@ SOURCES = \ windns.h \ windows.foundation.collections.idl \ windows.foundation.idl \ diff --git a/patches/windows.gaming.input-dll/0002-windows.gaming.input-Implement-IGamepadStatics-stubs.patch b/patches/windows.gaming.input-dll/0002-windows.gaming.input-Implement-IGamepadStatics-stubs.patch index 59327f9d..03420d9b 100644 --- a/patches/windows.gaming.input-dll/0002-windows.gaming.input-Implement-IGamepadStatics-stubs.patch +++ b/patches/windows.gaming.input-dll/0002-windows.gaming.input-Implement-IGamepadStatics-stubs.patch @@ -1,4 +1,4 @@ -From ad17bb4a309b632d3075f427d46afa8870720184 Mon Sep 17 00:00:00 2001 +From c198ba64a5ccf37f06e61b2baf523773e1cdb350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Sat, 20 Feb 2021 00:51:48 +0100 Subject: [PATCH] windows.gaming.input: Implement IGamepadStatics stubs. @@ -346,17 +346,17 @@ index 575f34ccb58..b5af4e24a66 100644 + } +} diff --git a/loader/wine.inf.in b/loader/wine.inf.in -index db816327a51..79a7b2c0503 100644 +index 4cef944fb88..a1cc73d6e57 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in -@@ -713,6 +713,7 @@ HKLM,%MciExtStr%,"wmx",,"MPEGVideo" +@@ -711,6 +711,7 @@ HKLM,%MciExtStr%,"wmx",,"MPEGVideo" HKLM,%MciExtStr%,"wvx",,"MPEGVideo" [Misc] +HKLM,Software\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Gaming.Input.Gamepad,"DllPath",2,"Windows.Gaming.Input.dll" - HKLM,Software\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Media.SpeechSynthesis.SpeechSynthesizer,"DllPath",2,"Windows.Media.Speech.dll" HKLM,Software\Borland\Database Engine\Settings\SYSTEM\INIT,SHAREDMEMLOCATION,,9000 HKLM,Software\Clients\Mail,,2,"Native Mail Client" + HKLM,Software\Clients\Mail\Native Mail Client,,2,"Native Mail Client" -- 2.20.1 diff --git a/patches/windows.gaming.input-dll/0006-windows.gaming.input-Implement-IRawGameControllerSta.patch b/patches/windows.gaming.input-dll/0006-windows.gaming.input-Implement-IRawGameControllerSta.patch index 5cf510c4..7488a7c3 100644 --- a/patches/windows.gaming.input-dll/0006-windows.gaming.input-Implement-IRawGameControllerSta.patch +++ b/patches/windows.gaming.input-dll/0006-windows.gaming.input-Implement-IRawGameControllerSta.patch @@ -1,4 +1,4 @@ -From 12605782b6c72810d35780e522dfd86d9b11a89d Mon Sep 17 00:00:00 2001 +From 3398500d3ed2a90361d431d2fb630b60a6d7e8be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Mon, 12 Oct 2020 12:50:32 +0200 Subject: [PATCH] windows.gaming.input: Implement IRawGameControllerStatics @@ -189,7 +189,7 @@ index dec9d39e7a3..1a40a8ddc35 100644 0 }; diff --git a/include/Makefile.in b/include/Makefile.in -index ac403a78a4d..90e9b660633 100644 +index 71afc8c0c99..22ed5f3a2d5 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -20,6 +20,7 @@ SOURCES = \ @@ -200,7 +200,7 @@ index ac403a78a4d..90e9b660633 100644 asynot.idl \ asysta.idl \ atlbase.h \ -@@ -749,8 +750,10 @@ SOURCES = \ +@@ -750,8 +751,10 @@ SOURCES = \ windows.foundation.collections.idl \ windows.foundation.idl \ windows.gaming.input.idl \ @@ -783,17 +783,17 @@ index 00000000000..824441eaff9 + } +} diff --git a/loader/wine.inf.in b/loader/wine.inf.in -index 79a7b2c0503..71c6cac0366 100644 +index a1cc73d6e57..c10cb37a172 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in -@@ -714,6 +714,7 @@ HKLM,%MciExtStr%,"wvx",,"MPEGVideo" +@@ -712,6 +712,7 @@ HKLM,%MciExtStr%,"wvx",,"MPEGVideo" [Misc] HKLM,Software\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Gaming.Input.Gamepad,"DllPath",2,"Windows.Gaming.Input.dll" +HKLM,Software\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Gaming.Input.RawGameController,"DllPath",2,"Windows.Gaming.Input.dll" - HKLM,Software\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Media.SpeechSynthesis.SpeechSynthesizer,"DllPath",2,"Windows.Media.Speech.dll" HKLM,Software\Borland\Database Engine\Settings\SYSTEM\INIT,SHAREDMEMLOCATION,,9000 HKLM,Software\Clients\Mail,,2,"Native Mail Client" + HKLM,Software\Clients\Mail\Native Mail Client,,2,"Native Mail Client" -- 2.20.1 diff --git a/patches/windows.gaming.input-dll/definition b/patches/windows.gaming.input-dll/definition index 120b5bff..f79028c8 100644 --- a/patches/windows.gaming.input-dll/definition +++ b/patches/windows.gaming.input-dll/definition @@ -5,4 +5,3 @@ # https://source.winehq.org/patches/data/191192 # To support Death Stranding Fixes: [49756] windows.gaming.input: New DLL -Depends: windows.media.speech.dll diff --git a/patches/windows.globalization-dll/0001-windows.globalization-Add-stub-dll.patch b/patches/windows.globalization-dll/0001-windows.globalization-Add-stub-dll.patch index e82d099e..9211caca 100644 --- a/patches/windows.globalization-dll/0001-windows.globalization-Add-stub-dll.patch +++ b/patches/windows.globalization-dll/0001-windows.globalization-Add-stub-dll.patch @@ -1,4 +1,4 @@ -From 5f5660930fa0579352bdf3bbcf85b80bfbaf0b33 Mon Sep 17 00:00:00 2001 +From 7d845fec580f156ed26a0a200ddd1611e54c1ee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Fri, 28 Aug 2020 15:59:50 +0200 Subject: [PATCH] windows.globalization: Add stub dll. @@ -18,17 +18,17 @@ Subject: [PATCH] windows.globalization: Add stub dll. create mode 100644 include/windows.globalization.idl diff --git a/configure.ac b/configure.ac -index 405d1a6ecc4..e291201a541 100644 +index 558d2e906a2..036b5c2691d 100644 --- a/configure.ac +++ b/configure.ac -@@ -3797,6 +3797,7 @@ WINE_CONFIG_MAKEFILE(dlls/win87em.dll16,enable_win16) +@@ -3802,6 +3802,7 @@ WINE_CONFIG_MAKEFILE(dlls/win87em.dll16,enable_win16) WINE_CONFIG_MAKEFILE(dlls/winaspi.dll16,enable_win16) WINE_CONFIG_MAKEFILE(dlls/windebug.dll16,enable_win16) WINE_CONFIG_MAKEFILE(dlls/windows.gaming.input.dll) +WINE_CONFIG_MAKEFILE(dlls/windows.globalization.dll) - WINE_CONFIG_MAKEFILE(dlls/windows.media.speech.dll) + WINE_CONFIG_MAKEFILE(dlls/windows.media.speech) + WINE_CONFIG_MAKEFILE(dlls/windows.media.speech/tests) WINE_CONFIG_MAKEFILE(dlls/windowscodecs) - WINE_CONFIG_MAKEFILE(dlls/windowscodecs/tests) diff --git a/dlls/windows.globalization.dll/Makefile.in b/dlls/windows.globalization.dll/Makefile.in new file mode 100644 index 00000000000..25dc1cac3e6 @@ -197,10 +197,10 @@ index 00000000000..840ce08c0c5 + return S_OK; +} diff --git a/include/Makefile.in b/include/Makefile.in -index 90e9b660633..95013040926 100644 +index 22ed5f3a2d5..a868eadce4b 100644 --- a/include/Makefile.in +++ b/include/Makefile.in -@@ -751,6 +751,7 @@ SOURCES = \ +@@ -752,6 +752,7 @@ SOURCES = \ windows.foundation.idl \ windows.gaming.input.idl \ windows.gaming.input.forcefeedback.idl \ @@ -242,13 +242,13 @@ index 00000000000..c3f80999af5 +namespace Windows { +} diff --git a/loader/wine.inf.in b/loader/wine.inf.in -index 71c6cac0366..ba7b1ee08c9 100644 +index c10cb37a172..12d6d3ecb6e 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in -@@ -716,6 +716,7 @@ HKLM,%MciExtStr%,"wvx",,"MPEGVideo" +@@ -713,6 +713,7 @@ HKLM,%MciExtStr%,"wvx",,"MPEGVideo" + [Misc] HKLM,Software\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Gaming.Input.Gamepad,"DllPath",2,"Windows.Gaming.Input.dll" HKLM,Software\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Gaming.Input.RawGameController,"DllPath",2,"Windows.Gaming.Input.dll" - HKLM,Software\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Media.SpeechSynthesis.SpeechSynthesizer,"DllPath",2,"Windows.Media.Speech.dll" +HKLM,Software\Microsoft\WindowsRuntime\ActivatableClassId\Windows.System.UserProfile.GlobalizationPreferences,"DllPath",2,"Windows.Globalization.dll" HKLM,Software\Borland\Database Engine\Settings\SYSTEM\INIT,SHAREDMEMLOCATION,,9000 HKLM,Software\Clients\Mail,,2,"Native Mail Client" diff --git a/patches/windows.media.speech.dll/0001-windows.media.speech-Add-stub-dll.patch b/patches/windows.media.speech.dll/0001-windows.media.speech-Add-stub-dll.patch deleted file mode 100644 index ea98c52d..00000000 --- a/patches/windows.media.speech.dll/0001-windows.media.speech-Add-stub-dll.patch +++ /dev/null @@ -1,209 +0,0 @@ -From e01b6dd56efc033ddb8b5e3951431c57f6953751 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?R=C3=A9mi=20Bernon?= -Date: Tue, 25 Aug 2020 19:07:58 +0200 -Subject: [PATCH] windows.media.speech: Add stub dll. - ---- - configure.ac | 1 + - dlls/windows.media.speech.dll/Makefile.in | 5 + - .../windows.media.speech.spec | 3 + - .../windows.media.speech_main.c | 140 ++++++++++++++++++ - loader/wine.inf.in | 1 + - 5 files changed, 150 insertions(+) - create mode 100644 dlls/windows.media.speech.dll/Makefile.in - create mode 100644 dlls/windows.media.speech.dll/windows.media.speech.spec - create mode 100644 dlls/windows.media.speech.dll/windows.media.speech_main.c - -diff --git a/configure.ac b/configure.ac -index caff5d1fe52..78720ab188f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3796,6 +3796,7 @@ WINE_CONFIG_MAKEFILE(dlls/win32s16.dll16,enable_win16) - WINE_CONFIG_MAKEFILE(dlls/win87em.dll16,enable_win16) - WINE_CONFIG_MAKEFILE(dlls/winaspi.dll16,enable_win16) - WINE_CONFIG_MAKEFILE(dlls/windebug.dll16,enable_win16) -+WINE_CONFIG_MAKEFILE(dlls/windows.media.speech.dll) - WINE_CONFIG_MAKEFILE(dlls/windowscodecs) - WINE_CONFIG_MAKEFILE(dlls/windowscodecs/tests) - WINE_CONFIG_MAKEFILE(dlls/windowscodecsext) -diff --git a/dlls/windows.media.speech.dll/Makefile.in b/dlls/windows.media.speech.dll/Makefile.in -new file mode 100644 -index 00000000000..e1f4b3402bd ---- /dev/null -+++ b/dlls/windows.media.speech.dll/Makefile.in -@@ -0,0 +1,5 @@ -+MODULE = windows.media.speech.dll -+IMPORTS = combase uuid -+EXTRADLLFLAGS = -mno-cygwin -+C_SRCS = \ -+ windows.media.speech_main.c -diff --git a/dlls/windows.media.speech.dll/windows.media.speech.spec b/dlls/windows.media.speech.dll/windows.media.speech.spec -new file mode 100644 -index 00000000000..721493229c2 ---- /dev/null -+++ b/dlls/windows.media.speech.dll/windows.media.speech.spec -@@ -0,0 +1,3 @@ -+1 stdcall -private DllCanUnloadNow() -+2 stdcall -private DllGetActivationFactory(ptr ptr) -+3 stdcall -private DllGetClassObject(ptr ptr ptr) -diff --git a/dlls/windows.media.speech.dll/windows.media.speech_main.c b/dlls/windows.media.speech.dll/windows.media.speech_main.c -new file mode 100644 -index 00000000000..c7c14deef78 ---- /dev/null -+++ b/dlls/windows.media.speech.dll/windows.media.speech_main.c -@@ -0,0 +1,140 @@ -+#include -+ -+#define COBJMACROS -+#include "windef.h" -+#include "winbase.h" -+#include "winstring.h" -+#include "wine/debug.h" -+#include "objbase.h" -+ -+#include "initguid.h" -+#include "activation.h" -+ -+#include "windows.foundation.h" -+#include "windows.media.speechsynthesis.h" -+ -+WINE_DEFAULT_DEBUG_CHANNEL(speech); -+ -+static const char *debugstr_hstring(HSTRING hstr) -+{ -+ const WCHAR *str; -+ UINT32 len; -+ if (hstr && !((ULONG_PTR)hstr >> 16)) return "(invalid)"; -+ str = WindowsGetStringRawBuffer(hstr, &len); -+ return wine_dbgstr_wn(str, len); -+} -+ -+struct windows_media_speech -+{ -+ IActivationFactory IActivationFactory_iface; -+ LONG ref; -+}; -+ -+static inline struct windows_media_speech *impl_from_IActivationFactory(IActivationFactory *iface) -+{ -+ return CONTAINING_RECORD(iface, struct windows_media_speech, IActivationFactory_iface); -+} -+ -+static HRESULT STDMETHODCALLTYPE windows_media_speech_QueryInterface( -+ IActivationFactory *iface, REFIID iid, void **out) -+{ -+ struct windows_media_speech *impl = impl_from_IActivationFactory(iface); -+ TRACE("iface %p, iid %s, out %p stub!\n", iface, debugstr_guid(iid), out); -+ -+ if (IsEqualGUID(iid, &IID_IUnknown) || -+ IsEqualGUID(iid, &IID_IInspectable) || -+ IsEqualGUID(iid, &IID_IActivationFactory)) -+ { -+ IUnknown_AddRef(iface); -+ *out = &impl->IActivationFactory_iface; -+ return S_OK; -+ } -+ -+ FIXME("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(iid)); -+ *out = NULL; -+ return E_NOINTERFACE; -+} -+ -+static ULONG STDMETHODCALLTYPE windows_media_speech_AddRef( -+ IActivationFactory *iface) -+{ -+ struct windows_media_speech *impl = impl_from_IActivationFactory(iface); -+ ULONG ref = InterlockedIncrement(&impl->ref); -+ TRACE("iface %p, ref %u.\n", iface, ref); -+ return ref; -+} -+ -+static ULONG STDMETHODCALLTYPE windows_media_speech_Release( -+ IActivationFactory *iface) -+{ -+ struct windows_media_speech *impl = impl_from_IActivationFactory(iface); -+ ULONG ref = InterlockedDecrement(&impl->ref); -+ TRACE("iface %p, ref %u.\n", iface, ref); -+ return ref; -+} -+ -+static HRESULT STDMETHODCALLTYPE windows_media_speech_GetIids( -+ IActivationFactory *iface, ULONG *iid_count, IID **iids) -+{ -+ FIXME("iface %p, iid_count %p, iids %p stub!\n", iface, iid_count, iids); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE windows_media_speech_GetRuntimeClassName( -+ IActivationFactory *iface, HSTRING *class_name) -+{ -+ FIXME("iface %p, class_name %p stub!\n", iface, class_name); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE windows_media_speech_GetTrustLevel( -+ IActivationFactory *iface, TrustLevel *trust_level) -+{ -+ FIXME("iface %p, trust_level %p stub!\n", iface, trust_level); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE windows_media_speech_ActivateInstance( -+ IActivationFactory *iface, IInspectable **instance) -+{ -+ FIXME("iface %p, instance %p stub!\n", iface, instance); -+ return E_NOTIMPL; -+} -+ -+static const struct IActivationFactoryVtbl activation_factory_vtbl = -+{ -+ windows_media_speech_QueryInterface, -+ windows_media_speech_AddRef, -+ windows_media_speech_Release, -+ /* IInspectable methods */ -+ windows_media_speech_GetIids, -+ windows_media_speech_GetRuntimeClassName, -+ windows_media_speech_GetTrustLevel, -+ /* IActivationFactory methods */ -+ windows_media_speech_ActivateInstance, -+}; -+ -+static struct windows_media_speech windows_media_speech = -+{ -+ {&activation_factory_vtbl}, -+ 0 -+}; -+ -+HRESULT WINAPI DllCanUnloadNow(void) -+{ -+ return S_FALSE; -+} -+ -+HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID riid, void **out) -+{ -+ FIXME("clsid %s, riid %s, out %p stub!\n", debugstr_guid(clsid), debugstr_guid(riid), out); -+ return CLASS_E_CLASSNOTAVAILABLE; -+} -+ -+HRESULT WINAPI DllGetActivationFactory(HSTRING classid, IActivationFactory **factory) -+{ -+ TRACE("classid %s, factory %p.\n", debugstr_hstring(classid), factory); -+ *factory = &windows_media_speech.IActivationFactory_iface; -+ IUnknown_AddRef(*factory); -+ return S_OK; -+} -diff --git a/loader/wine.inf.in b/loader/wine.inf.in -index d5dd2d5b66b..db816327a51 100644 ---- a/loader/wine.inf.in -+++ b/loader/wine.inf.in -@@ -713,6 +713,7 @@ HKLM,%MciExtStr%,"wmx",,"MPEGVideo" - HKLM,%MciExtStr%,"wvx",,"MPEGVideo" - - [Misc] -+HKLM,Software\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Media.SpeechSynthesis.SpeechSynthesizer,"DllPath",2,"Windows.Media.Speech.dll" - HKLM,Software\Borland\Database Engine\Settings\SYSTEM\INIT,SHAREDMEMLOCATION,,9000 - HKLM,Software\Clients\Mail,,2,"Native Mail Client" - HKLM,Software\Clients\Mail\Native Mail Client,,2,"Native Mail Client" --- -2.20.1 - diff --git a/patches/windows.media.speech.dll/0002-windows.media.speech-Implement-IInstalledVoicesStati.patch b/patches/windows.media.speech.dll/0002-windows.media.speech-Implement-IInstalledVoicesStati.patch deleted file mode 100644 index 5bfa4362..00000000 --- a/patches/windows.media.speech.dll/0002-windows.media.speech-Implement-IInstalledVoicesStati.patch +++ /dev/null @@ -1,156 +0,0 @@ -From efd9cc1ddc4dd24cd605d07818942a390e9b6486 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?R=C3=A9mi=20Bernon?= -Date: Fri, 9 Oct 2020 13:53:55 +0200 -Subject: [PATCH] windows.media.speech: Implement IInstalledVoicesStatic stub. - ---- - .../windows.media.speech_main.c | 104 ++++++++++++++++++ - 1 file changed, 104 insertions(+) - -diff --git a/dlls/windows.media.speech.dll/windows.media.speech_main.c b/dlls/windows.media.speech.dll/windows.media.speech_main.c -index c7c14deef78..f12d9bab74d 100644 ---- a/dlls/windows.media.speech.dll/windows.media.speech_main.c -+++ b/dlls/windows.media.speech.dll/windows.media.speech_main.c -@@ -10,7 +10,10 @@ - #include "initguid.h" - #include "activation.h" - -+#define WIDL_using_Windows_Foundation -+#define WIDL_using_Windows_Foundation_Collections - #include "windows.foundation.h" -+#define WIDL_using_Windows_Media_SpeechSynthesis - #include "windows.media.speechsynthesis.h" - - WINE_DEFAULT_DEBUG_CHANNEL(speech); -@@ -27,6 +30,7 @@ static const char *debugstr_hstring(HSTRING hstr) - struct windows_media_speech - { - IActivationFactory IActivationFactory_iface; -+ IInstalledVoicesStatic IInstalledVoicesStatic_iface; - LONG ref; - }; - -@@ -35,6 +39,98 @@ static inline struct windows_media_speech *impl_from_IActivationFactory(IActivat - return CONTAINING_RECORD(iface, struct windows_media_speech, IActivationFactory_iface); - } - -+static inline struct windows_media_speech *impl_from_IInstalledVoicesStatic(IInstalledVoicesStatic *iface) -+{ -+ return CONTAINING_RECORD(iface, struct windows_media_speech, IInstalledVoicesStatic_iface); -+} -+ -+static HRESULT STDMETHODCALLTYPE installed_voices_static_QueryInterface( -+ IInstalledVoicesStatic *iface, REFIID iid, void **out) -+{ -+ TRACE("iface %p, iid %s, out %p stub!\n", iface, debugstr_guid(iid), out); -+ -+ if (IsEqualGUID(iid, &IID_IUnknown) || -+ IsEqualGUID(iid, &IID_IAgileObject) || -+ IsEqualGUID(iid, &IID_IInspectable) || -+ IsEqualGUID(iid, &IID_IInstalledVoicesStatic)) -+ { -+ IUnknown_AddRef(iface); -+ *out = iface; -+ return S_OK; -+ } -+ -+ WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(iid)); -+ *out = NULL; -+ return E_NOINTERFACE; -+} -+ -+static ULONG STDMETHODCALLTYPE installed_voices_static_AddRef( -+ IInstalledVoicesStatic *iface) -+{ -+ struct windows_media_speech *impl = impl_from_IInstalledVoicesStatic(iface); -+ ULONG ref = InterlockedIncrement(&impl->ref); -+ TRACE("iface %p, ref %u.\n", iface, ref); -+ return ref; -+} -+ -+static ULONG STDMETHODCALLTYPE installed_voices_static_Release( -+ IInstalledVoicesStatic *iface) -+{ -+ struct windows_media_speech *impl = impl_from_IInstalledVoicesStatic(iface); -+ ULONG ref = InterlockedDecrement(&impl->ref); -+ TRACE("iface %p, ref %u.\n", iface, ref); -+ return ref; -+} -+ -+static HRESULT STDMETHODCALLTYPE installed_voices_static_GetIids( -+ IInstalledVoicesStatic *iface, ULONG *iid_count, IID **iids) -+{ -+ FIXME("iface %p, iid_count %p, iids %p stub!\n", iface, iid_count, iids); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE installed_voices_static_GetRuntimeClassName( -+ IInstalledVoicesStatic *iface, HSTRING *class_name) -+{ -+ FIXME("iface %p, class_name %p stub!\n", iface, class_name); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE installed_voices_static_GetTrustLevel( -+ IInstalledVoicesStatic *iface, TrustLevel *trust_level) -+{ -+ FIXME("iface %p, trust_level %p stub!\n", iface, trust_level); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE installed_voices_static_get_AllVoices( -+ IInstalledVoicesStatic *iface, IVectorView_VoiceInformation **value) -+{ -+ FIXME("iface %p, value %p stub!\n", iface, value); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE installed_voices_static_get_DefaultVoice( -+ IInstalledVoicesStatic *iface, IVoiceInformation **value) -+{ -+ FIXME("iface %p, value %p stub!\n", iface, value); -+ return E_NOTIMPL; -+} -+ -+static const struct IInstalledVoicesStaticVtbl installed_voices_static_vtbl = -+{ -+ installed_voices_static_QueryInterface, -+ installed_voices_static_AddRef, -+ installed_voices_static_Release, -+ /* IInspectable methods */ -+ installed_voices_static_GetIids, -+ installed_voices_static_GetRuntimeClassName, -+ installed_voices_static_GetTrustLevel, -+ /* IInstalledVoicesStatic methods */ -+ installed_voices_static_get_AllVoices, -+ installed_voices_static_get_DefaultVoice, -+}; -+ - static HRESULT STDMETHODCALLTYPE windows_media_speech_QueryInterface( - IActivationFactory *iface, REFIID iid, void **out) - { -@@ -50,6 +146,13 @@ static HRESULT STDMETHODCALLTYPE windows_media_speech_QueryInterface( - return S_OK; - } - -+ if (IsEqualGUID(iid, &IID_IInstalledVoicesStatic)) -+ { -+ IUnknown_AddRef(iface); -+ *out = &impl->IInstalledVoicesStatic_iface; -+ return S_OK; -+ } -+ - FIXME("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(iid)); - *out = NULL; - return E_NOINTERFACE; -@@ -117,6 +220,7 @@ static const struct IActivationFactoryVtbl activation_factory_vtbl = - static struct windows_media_speech windows_media_speech = - { - {&activation_factory_vtbl}, -+ {&installed_voices_static_vtbl}, - 0 - }; - --- -2.20.1 - diff --git a/patches/windows.media.speech.dll/0003-windows.media.speech-Implement-IInstalledVoicesStati.patch b/patches/windows.media.speech.dll/0003-windows.media.speech-Implement-IInstalledVoicesStati.patch deleted file mode 100644 index 1b793c3b..00000000 --- a/patches/windows.media.speech.dll/0003-windows.media.speech-Implement-IInstalledVoicesStati.patch +++ /dev/null @@ -1,159 +0,0 @@ -From af5401ddc8d760f18eb73aaed30078b1c1fca6d2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?R=C3=A9mi=20Bernon?= -Date: Tue, 13 Oct 2020 17:02:57 +0200 -Subject: [PATCH] windows.media.speech: Implement - IInstalledVoicesStatic::AllVoices stub. - ---- - .../windows.media.speech_main.c | 113 +++++++++++++++++- - 1 file changed, 112 insertions(+), 1 deletion(-) - -diff --git a/dlls/windows.media.speech.dll/windows.media.speech_main.c b/dlls/windows.media.speech.dll/windows.media.speech_main.c -index f12d9bab74d..69f434c87c4 100644 ---- a/dlls/windows.media.speech.dll/windows.media.speech_main.c -+++ b/dlls/windows.media.speech.dll/windows.media.speech_main.c -@@ -31,6 +31,7 @@ struct windows_media_speech - { - IActivationFactory IActivationFactory_iface; - IInstalledVoicesStatic IInstalledVoicesStatic_iface; -+ IVectorView_VoiceInformation IVectorView_VoiceInformation_iface; - LONG ref; - }; - -@@ -44,6 +45,113 @@ static inline struct windows_media_speech *impl_from_IInstalledVoicesStatic(IIns - return CONTAINING_RECORD(iface, struct windows_media_speech, IInstalledVoicesStatic_iface); - } - -+static inline struct windows_media_speech *impl_from_IVectorView_VoiceInformation(IVectorView_VoiceInformation *iface) -+{ -+ return CONTAINING_RECORD(iface, struct windows_media_speech, IVectorView_VoiceInformation_iface); -+} -+ -+static HRESULT STDMETHODCALLTYPE vector_view_voice_information_QueryInterface( -+ IVectorView_VoiceInformation *iface, REFIID iid, void **out) -+{ -+ TRACE("iface %p, iid %s, out %p stub!\n", iface, debugstr_guid(iid), out); -+ -+ if (IsEqualGUID(iid, &IID_IUnknown) || -+ IsEqualGUID(iid, &IID_IInspectable) || -+ IsEqualGUID(iid, &IID_IVectorView_VoiceInformation)) -+ { -+ IUnknown_AddRef(iface); -+ *out = iface; -+ return S_OK; -+ } -+ -+ WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(iid)); -+ *out = NULL; -+ return E_NOINTERFACE; -+} -+ -+static ULONG STDMETHODCALLTYPE vector_view_voice_information_AddRef( -+ IVectorView_VoiceInformation *iface) -+{ -+ struct windows_media_speech *impl = impl_from_IVectorView_VoiceInformation(iface); -+ ULONG ref = InterlockedIncrement(&impl->ref); -+ TRACE("iface %p, ref %u.\n", iface, ref); -+ return ref; -+} -+ -+static ULONG STDMETHODCALLTYPE vector_view_voice_information_Release( -+ IVectorView_VoiceInformation *iface) -+{ -+ struct windows_media_speech *impl = impl_from_IVectorView_VoiceInformation(iface); -+ ULONG ref = InterlockedDecrement(&impl->ref); -+ TRACE("iface %p, ref %u.\n", iface, ref); -+ return ref; -+} -+ -+static HRESULT STDMETHODCALLTYPE vector_view_voice_information_GetIids( -+ IVectorView_VoiceInformation *iface, ULONG *iid_count, IID **iids) -+{ -+ FIXME("iface %p, iid_count %p, iids %p stub!\n", iface, iid_count, iids); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE vector_view_voice_information_GetRuntimeClassName( -+ IVectorView_VoiceInformation *iface, HSTRING *class_name) -+{ -+ FIXME("iface %p, class_name %p stub!\n", iface, class_name); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE vector_view_voice_information_GetTrustLevel( -+ IVectorView_VoiceInformation *iface, TrustLevel *trust_level) -+{ -+ FIXME("iface %p, trust_level %p stub!\n", iface, trust_level); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE vector_view_voice_information_GetAt( -+ IVectorView_VoiceInformation *iface, ULONG index, IVoiceInformation **value) -+{ -+ FIXME("iface %p, index %#x, value %p stub!\n", iface, index, value); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE vector_view_voice_information_get_Size( -+ IVectorView_VoiceInformation *iface, ULONG *value) -+{ -+ FIXME("iface %p, value %p stub!\n", iface, value); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE vector_view_voice_information_IndexOf( -+ IVectorView_VoiceInformation *iface, IVoiceInformation *element, ULONG *index, BOOLEAN *value) -+{ -+ FIXME("iface %p, element %p, index %p, value %p stub!\n", iface, element, index, value); -+ return E_NOTIMPL; -+} -+ -+static HRESULT STDMETHODCALLTYPE vector_view_voice_information_GetMany( -+ IVectorView_VoiceInformation *iface, ULONG start_index, IVoiceInformation **items, UINT *value) -+{ -+ FIXME("iface %p, start_index %#x, items %p, value %p stub!\n", iface, start_index, items, value); -+ return E_NOTIMPL; -+} -+ -+static const struct IVectorView_VoiceInformationVtbl vector_view_voice_information_vtbl = -+{ -+ vector_view_voice_information_QueryInterface, -+ vector_view_voice_information_AddRef, -+ vector_view_voice_information_Release, -+ /* IInspectable methods */ -+ vector_view_voice_information_GetIids, -+ vector_view_voice_information_GetRuntimeClassName, -+ vector_view_voice_information_GetTrustLevel, -+ /* IVectorView methods */ -+ vector_view_voice_information_GetAt, -+ vector_view_voice_information_get_Size, -+ vector_view_voice_information_IndexOf, -+ vector_view_voice_information_GetMany, -+}; -+ - static HRESULT STDMETHODCALLTYPE installed_voices_static_QueryInterface( - IInstalledVoicesStatic *iface, REFIID iid, void **out) - { -@@ -106,8 +214,10 @@ static HRESULT STDMETHODCALLTYPE installed_voices_static_GetTrustLevel( - static HRESULT STDMETHODCALLTYPE installed_voices_static_get_AllVoices( - IInstalledVoicesStatic *iface, IVectorView_VoiceInformation **value) - { -+ struct windows_media_speech *impl = impl_from_IInstalledVoicesStatic(iface); - FIXME("iface %p, value %p stub!\n", iface, value); -- return E_NOTIMPL; -+ *value = &impl->IVectorView_VoiceInformation_iface; -+ return S_OK; - } - - static HRESULT STDMETHODCALLTYPE installed_voices_static_get_DefaultVoice( -@@ -221,6 +331,7 @@ static struct windows_media_speech windows_media_speech = - { - {&activation_factory_vtbl}, - {&installed_voices_static_vtbl}, -+ {&vector_view_voice_information_vtbl}, - 0 - }; - --- -2.20.1 - diff --git a/patches/windows.media.speech.dll/0004-windows.media.speech-Fake-empty-IInstalledVoicesStat.patch b/patches/windows.media.speech.dll/0004-windows.media.speech-Fake-empty-IInstalledVoicesStat.patch deleted file mode 100644 index a6c20095..00000000 --- a/patches/windows.media.speech.dll/0004-windows.media.speech-Fake-empty-IInstalledVoicesStat.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 4b0875adffb2552b89fa5c04a6eb8a50d36ab6a8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?R=C3=A9mi=20Bernon?= -Date: Fri, 9 Oct 2020 14:06:33 +0200 -Subject: [PATCH] windows.media.speech: Fake empty - IInstalledVoicesStatic::AllVoices vector. - ---- - .../windows.media.speech_main.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/dlls/windows.media.speech.dll/windows.media.speech_main.c b/dlls/windows.media.speech.dll/windows.media.speech_main.c -index 69f434c87c4..bc075b16f17 100644 ---- a/dlls/windows.media.speech.dll/windows.media.speech_main.c -+++ b/dlls/windows.media.speech.dll/windows.media.speech_main.c -@@ -112,28 +112,31 @@ static HRESULT STDMETHODCALLTYPE vector_view_voice_information_GetAt( - IVectorView_VoiceInformation *iface, ULONG index, IVoiceInformation **value) - { - FIXME("iface %p, index %#x, value %p stub!\n", iface, index, value); -- return E_NOTIMPL; -+ return S_OK; - } - - static HRESULT STDMETHODCALLTYPE vector_view_voice_information_get_Size( - IVectorView_VoiceInformation *iface, ULONG *value) - { - FIXME("iface %p, value %p stub!\n", iface, value); -- return E_NOTIMPL; -+ *value = 0; -+ return S_OK; - } - - static HRESULT STDMETHODCALLTYPE vector_view_voice_information_IndexOf( - IVectorView_VoiceInformation *iface, IVoiceInformation *element, ULONG *index, BOOLEAN *value) - { - FIXME("iface %p, element %p, index %p, value %p stub!\n", iface, element, index, value); -- return E_NOTIMPL; -+ *value = FALSE; -+ return S_OK; - } - - static HRESULT STDMETHODCALLTYPE vector_view_voice_information_GetMany( - IVectorView_VoiceInformation *iface, ULONG start_index, IVoiceInformation **items, UINT *value) - { - FIXME("iface %p, start_index %#x, items %p, value %p stub!\n", iface, start_index, items, value); -- return E_NOTIMPL; -+ *value = 0; -+ return S_OK; - } - - static const struct IVectorView_VoiceInformationVtbl vector_view_voice_information_vtbl = --- -2.20.1 - diff --git a/patches/windows.media.speech.dll/definition b/patches/windows.media.speech.dll/definition deleted file mode 100644 index 79a44dde..00000000 --- a/patches/windows.media.speech.dll/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [49740] windows.media.speech: New DLL diff --git a/staging/upstream-commit b/staging/upstream-commit index 64190b05..1172964f 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -4336ed0b84b3dd3097bbbbf8e4b9de2e4d444ad7 +23ffd0a7986421958c23cffce138afa389209920