From 733fa5c485939dc821291749f7827cc026bbe91b Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Tue, 26 Feb 2019 08:54:19 +1100 Subject: [PATCH] Rebase against f784cabd3489b20c13afd80fddbbcf5aa1b656b3 --- patches/patchinstall.sh | 65 +------------------ ...registry-keys-for-display-devices-an.patch | 61 +++++++++-------- patches/xaudio2_7-CreateFX-FXEcho/definition | 1 + patches/xaudio2_7-WMA_support/definition | 1 + patches/xaudio2_CommitChanges/definition | 3 +- 5 files changed, 39 insertions(+), 92 deletions(-) diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index b7b49658..9fb71227 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "b3c5b7da9442af840431cd7f795da20989aad42a" + echo "f784cabd3489b20c13afd80fddbbcf5aa1b656b3" } # Show version information @@ -391,9 +391,6 @@ patch_enable_all () enable_wtsapi32_EnumerateProcesses="$1" enable_wuauserv_Dummy_Service="$1" enable_wusa_MSU_Package_Installer="$1" - enable_xaudio2_7_CreateFX_FXEcho="$1" - enable_xaudio2_7_WMA_support="$1" - enable_xaudio2_CommitChanges="$1" } # Enable or disable a specific patchset @@ -1324,15 +1321,6 @@ patch_enable () wusa-MSU_Package_Installer) enable_wusa_MSU_Package_Installer="$2" ;; - xaudio2_7-CreateFX-FXEcho) - enable_xaudio2_7_CreateFX_FXEcho="$2" - ;; - xaudio2_7-WMA_support) - enable_xaudio2_7_WMA_support="$2" - ;; - xaudio2_CommitChanges) - enable_xaudio2_CommitChanges="$2" - ;; *) return 1 ;; @@ -7647,57 +7635,6 @@ if test "$enable_wusa_MSU_Package_Installer" -eq 1; then ) >> "$patchlist" fi -# Patchset xaudio2_7-CreateFX-FXEcho -# | -# | This patchset fixes the following Wine bugs: -# | * [#39402] Support FXEcho interface in CreateFX -# | -# | Modified files: -# | * dlls/xaudio2_7/xapofx.c -# | -if test "$enable_xaudio2_7_CreateFX_FXEcho" -eq 1; then - patch_apply xaudio2_7-CreateFX-FXEcho/0001-xaudio2_7-Support-FXEcho-interface-in-CreateFX.patch - ( - printf '%s\n' '+ { "Thomas Crider", "xaudio2_7: Support FXEcho interface in CreateFX.", 1 },'; - ) >> "$patchlist" -fi - -# Patchset xaudio2_7-WMA_support -# | -# | This patchset fixes the following Wine bugs: -# | * [#39402] Use ffmpeg 4.x to convert WMA format -# | -# | Modified files: -# | * configure.ac, dlls/x3daudio1_0/Makefile.in, dlls/x3daudio1_1/Makefile.in, dlls/x3daudio1_2/Makefile.in, -# | dlls/x3daudio1_3/Makefile.in, dlls/x3daudio1_4/Makefile.in, dlls/x3daudio1_5/Makefile.in, dlls/x3daudio1_6/Makefile.in, -# | dlls/x3daudio1_7/Makefile.in, dlls/xapofx1_1/Makefile.in, dlls/xapofx1_2/Makefile.in, dlls/xapofx1_3/Makefile.in, -# | dlls/xapofx1_4/Makefile.in, dlls/xapofx1_5/Makefile.in, dlls/xaudio2_0/Makefile.in, dlls/xaudio2_1/Makefile.in, -# | dlls/xaudio2_2/Makefile.in, dlls/xaudio2_3/Makefile.in, dlls/xaudio2_4/Makefile.in, dlls/xaudio2_5/Makefile.in, -# | dlls/xaudio2_6/Makefile.in, dlls/xaudio2_7/Makefile.in, dlls/xaudio2_7/xaudio_dll.c, dlls/xaudio2_7/xaudio_private.h, -# | dlls/xaudio2_8/Makefile.in, dlls/xaudio2_9/Makefile.in, include/config.h.in, include/mmreg.h -# | -if test "$enable_xaudio2_7_WMA_support" -eq 1; then - patch_apply xaudio2_7-WMA_support/0001-xaudio2-Use-ffmpeg-to-convert-WMA-formats.patch - ( - printf '%s\n' '+ { "Andrew Eikum", "xaudio2: Use ffmpeg to convert WMA formats.", 1 },'; - ) >> "$patchlist" -fi - -# Patchset xaudio2_CommitChanges -# | -# | This patchset fixes the following Wine bugs: -# | * [#44883] Return S_OK from IXAudio2Impl_CommitChanges() -# | -# | Modified files: -# | * dlls/xaudio2_7/xaudio_dll.c -# | -if test "$enable_xaudio2_CommitChanges" -eq 1; then - patch_apply xaudio2_CommitChanges/0001-xaudio2-Return-S_OK-in-IXAudio2-in-CommitChanges.patch - ( - printf '%s\n' '+ { "Thomas Crider", "xaudio2: Return S_OK in IXAudio2 in CommitChanges.", 1 },'; - ) >> "$patchlist" -fi - if test "$enable_patchlist" -eq 1; then diff --git a/patches/setupapi-Display_Device/0001-setupapi-Create-registry-keys-for-display-devices-an.patch b/patches/setupapi-Display_Device/0001-setupapi-Create-registry-keys-for-display-devices-an.patch index 94bb10db..81ae2fa6 100644 --- a/patches/setupapi-Display_Device/0001-setupapi-Create-registry-keys-for-display-devices-an.patch +++ b/patches/setupapi-Display_Device/0001-setupapi-Create-registry-keys-for-display-devices-an.patch @@ -1,16 +1,16 @@ -From 2ad71921a69eda4efea18ceca917c00cccf69abc Mon Sep 17 00:00:00 2001 +From 7e98f3407f4dfda7ef82ae236af3073029c60191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 11 Feb 2016 03:17:09 +0100 Subject: [PATCH] setupapi: Create registry keys for display devices and display drivers. --- - dlls/setupapi/devinst.c | 108 +++++++++++++++++++++++++++++++++++++++++++----- + dlls/setupapi/devinst.c | 122 ++++++++++++++++++++++++++++++++++++++++++++---- loader/wine.inf.in | 2 + - 2 files changed, 100 insertions(+), 10 deletions(-) + 2 files changed, 116 insertions(+), 8 deletions(-) diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c -index 82a45b4..9baefd3 100644 +index 537b335..1693684 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -95,6 +95,15 @@ static const WCHAR Control[] = {'C','o','n','t','r','o','l',0}; @@ -29,7 +29,7 @@ index 82a45b4..9baefd3 100644 /* is used to identify if a DeviceInfoSet pointer is valid or not */ #define SETUP_DEVICE_INFO_SET_MAGIC 0xd00ff056 -@@ -191,6 +200,90 @@ static struct device_iface *get_device_iface(HDEVINFO devinfo, const SP_DEVICE_I +@@ -190,6 +199,90 @@ static struct device_iface *get_device_iface(HDEVINFO devinfo, const SP_DEVICE_I return (struct device_iface *)data->Reserved; } @@ -120,7 +120,7 @@ index 82a45b4..9baefd3 100644 static inline void copy_device_data(SP_DEVINFO_DATA *data, const struct device *device) { data->ClassGuid = device->class; -@@ -482,8 +575,7 @@ static HKEY SETUPDI_CreateDevKey(struct device *device) +@@ -503,8 +596,7 @@ static HKEY SETUPDI_CreateDevKey(struct device *device) HKEY enumKey, key = INVALID_HANDLE_VALUE; LONG l; @@ -130,7 +130,7 @@ index 82a45b4..9baefd3 100644 if (!l) { RegCreateKeyExW(enumKey, device->instanceId, 0, NULL, 0, -@@ -2012,8 +2104,7 @@ static void SETUPDI_EnumerateMatchingInterfaces(HDEVINFO DeviceInfoSet, +@@ -2099,8 +2191,7 @@ static void SETUPDI_EnumerateMatchingInterfaces(HDEVINFO DeviceInfoSet, TRACE("%s\n", debugstr_w(enumstr)); @@ -140,7 +140,7 @@ index 82a45b4..9baefd3 100644 for (i = 0; !l; i++) { len = ARRAY_SIZE(subKeyName); -@@ -2233,8 +2324,7 @@ static void SETUPDI_EnumerateDevices(HDEVINFO DeviceInfoSet, const GUID *class, +@@ -2320,8 +2411,7 @@ static void SETUPDI_EnumerateDevices(HDEVINFO DeviceInfoSet, const GUID *class, TRACE("%p, %s, %s, %08x\n", DeviceInfoSet, debugstr_guid(class), debugstr_w(enumstr), flags); @@ -150,28 +150,35 @@ index 82a45b4..9baefd3 100644 if (enumKey != INVALID_HANDLE_VALUE) { if (enumstr) -@@ -3345,8 +3435,7 @@ static HKEY SETUPDI_OpenDevKey(struct device *device, REGSAM samDesired) - HKEY enumKey, key = INVALID_HANDLE_VALUE; - LONG l; - -- l = RegCreateKeyExW(HKEY_LOCAL_MACHINE, Enum, 0, NULL, 0, KEY_ALL_ACCESS, -- NULL, &enumKey, NULL); +@@ -3555,8 +3645,24 @@ HKEY WINAPI SetupDiOpenDevRegKey(HDEVINFO devinfo, SP_DEVINFO_DATA *device_data, + FIXME("Unhandled type %#x.\n", KeyType); + l = ERROR_CALL_NOT_IMPLEMENTED; + } +- SetLastError(l == ERROR_FILE_NOT_FOUND ? ERROR_KEY_DOES_NOT_EXIST : l); +- return l ? INVALID_HANDLE_VALUE : key; ++ return key; ++} ++ ++static BOOL SETUPDI_DeleteDevKey(struct device *device) ++{ ++ HKEY enumKey; ++ BOOL ret = FALSE; ++ LONG l; ++ + l = open_enum_key(&enumKey); - if (!l) - { - RegOpenKeyExW(enumKey, device->instanceId, 0, samDesired, &key); -@@ -3438,8 +3527,7 @@ static BOOL SETUPDI_DeleteDevKey(struct device *device) - BOOL ret = FALSE; - LONG l; ++ if (!l) ++ { ++ ret = RegDeleteTreeW(enumKey, device->instanceId); ++ RegCloseKey(enumKey); ++ } ++ else ++ SetLastError(l); ++ return ret; + } -- l = RegCreateKeyExW(HKEY_LOCAL_MACHINE, Enum, 0, NULL, 0, KEY_ALL_ACCESS, -- NULL, &enumKey, NULL); -+ l = open_enum_key(&enumKey); - if (!l) - { - ret = RegDeleteTreeW(enumKey, device->instanceId); + /*********************************************************************** diff --git a/loader/wine.inf.in b/loader/wine.inf.in -index 5a3f8c4..51e1745 100644 +index 1fe8b11..93c3afb 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in @@ -465,6 +465,8 @@ HKLM,System\CurrentControlSet\Control\ContentIndex\Language\Neutral,"Locale",0x1 diff --git a/patches/xaudio2_7-CreateFX-FXEcho/definition b/patches/xaudio2_7-CreateFX-FXEcho/definition index 916fecea..ca8592fa 100644 --- a/patches/xaudio2_7-CreateFX-FXEcho/definition +++ b/patches/xaudio2_7-CreateFX-FXEcho/definition @@ -1 +1,2 @@ Fixes: [39402] Support FXEcho interface in CreateFX +Disabled: true diff --git a/patches/xaudio2_7-WMA_support/definition b/patches/xaudio2_7-WMA_support/definition index 0d503654..45b2e521 100644 --- a/patches/xaudio2_7-WMA_support/definition +++ b/patches/xaudio2_7-WMA_support/definition @@ -1 +1,2 @@ Fixes: [39402] Use ffmpeg 4.x to convert WMA format +Disabled: true diff --git a/patches/xaudio2_CommitChanges/definition b/patches/xaudio2_CommitChanges/definition index 62b0af86..981cecf8 100644 --- a/patches/xaudio2_CommitChanges/definition +++ b/patches/xaudio2_CommitChanges/definition @@ -1 +1,2 @@ -Fixes: [44883] Return S_OK from IXAudio2Impl_CommitChanges() \ No newline at end of file +Fixes: [44883] Return S_OK from IXAudio2Impl_CommitChanges() +Disabled: true