diff --git a/patches/msvcrt-NAN/0001-msvcrt-Implement-nan.patch b/patches/msvcrt-NAN/0001-msvcrt-Implement-nan.patch deleted file mode 100644 index 3787f073..00000000 --- a/patches/msvcrt-NAN/0001-msvcrt-Implement-nan.patch +++ /dev/null @@ -1,123 +0,0 @@ -From e5645a1c812b49838249db23391d22384031d7ec Mon Sep 17 00:00:00 2001 -From: Daniel Lehman -Date: Fri, 13 Jan 2017 09:48:05 -0800 -Subject: [PATCH v2] msvcrt: Implement nan - -Windows ignores the input (https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/nan-nanf-nanl) - -Visual Studio #defines NAN differently (-inf * 0) from glibc (builtin) and has different values (0xfff80... vs 0x7ff80...) -but glibc's #define NAN value matches what Windows returns for nan(), so use that - -Signed-off-by: Daniel Lehman ---- - .../api-ms-win-crt-math-l1-1-0.spec | 6 +++--- - dlls/msvcr120/msvcr120.spec | 6 +++--- - dlls/msvcr120_app/msvcr120_app.spec | 6 +++--- - dlls/msvcrt/math.c | 25 ++++++++++++++++++++++ - dlls/ucrtbase/ucrtbase.spec | 6 +++--- - 5 files changed, 37 insertions(+), 12 deletions(-) - -diff --git a/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec -index 6a311971aff..8ff4c58c36a 100644 ---- a/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec -+++ b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec -@@ -288,9 +288,9 @@ - @ cdecl lroundl(double) ucrtbase.lroundl - @ cdecl modf(double ptr) ucrtbase.modf - @ cdecl -arch=arm,x86_64 modff(float ptr) ucrtbase.modff --@ stub nan --@ stub nanf --@ stub nanl -+@ cdecl nan(str) ucrtbase.nan -+@ cdecl nanf(str) ucrtbase.nanf -+@ cdecl nanl(str) ucrtbase.nanl - @ cdecl nearbyint(double) ucrtbase.nearbyint - @ cdecl nearbyintf(float) ucrtbase.nearbyintf - @ cdecl nearbyintl(double) ucrtbase.nearbyintl -diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec -index edd31e3cdbe..e38de79773d 100644 ---- a/dlls/msvcr120/msvcr120.spec -+++ b/dlls/msvcr120/msvcr120.spec -@@ -2293,9 +2293,9 @@ - @ cdecl memset(ptr long long) MSVCRT_memset - @ cdecl modf(double ptr) MSVCRT_modf - @ cdecl -arch=arm,x86_64 modff(float ptr) MSVCRT_modff --@ stub nan --@ stub nanf --@ stub nanl -+@ cdecl nan(str) MSVCR120_nan -+@ cdecl nanf(str) MSVCR120_nanf -+@ cdecl nanl(str) MSVCR120_nanl - @ cdecl nearbyint(double) MSVCRT_nearbyint - @ cdecl nearbyintf(float) MSVCRT_nearbyintf - @ cdecl nearbyintl(double) MSVCRT_nearbyint -diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec -index 3c1c343521a..e6ab0f73caa 100644 ---- a/dlls/msvcr120_app/msvcr120_app.spec -+++ b/dlls/msvcr120_app/msvcr120_app.spec -@@ -1956,9 +1956,9 @@ - @ cdecl memset(ptr long long) msvcr120.memset - @ cdecl modf(double ptr) msvcr120.modf - @ cdecl -arch=arm,x86_64 modff(float ptr) msvcr120.modff --@ stub nan --@ stub nanf --@ stub nanl -+@ cdecl nan(str) msvcr120.nan -+@ cdecl nanf(str) msvcr120.nanf -+@ cdecl nanl(str) msvcr120.nanl - @ cdecl nearbyint(double) msvcr120.nearbyint - @ cdecl nearbyintf(float) msvcr120.nearbyintf - @ cdecl nearbyintl(double) msvcr120.nearbyintl -diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c -index 6880d6ce0ab..323b6668c31 100644 ---- a/dlls/msvcrt/math.c -+++ b/dlls/msvcrt/math.c -@@ -2901,3 +2901,28 @@ LDOUBLE CDECL MSVCR120_lgammal(LDOUBLE x) - { - return MSVCR120_lgamma(x); - } -+ -+/********************************************************************* -+ * nan (MSVCR120.@) -+ */ -+double CDECL MSVCR120_nan(const char *tagp) -+{ -+ /* Windows ignores input (MSDN) */ -+ return NAN; -+} -+ -+/********************************************************************* -+ * nanf (MSVCR120.@) -+ */ -+float CDECL MSVCR120_nanf(const char *tagp) -+{ -+ return NAN; -+} -+ -+/********************************************************************* -+ * nanl (MSVCR120.@) -+ */ -+LDOUBLE CDECL MSVCR120_nanl(const char *tagp) -+{ -+ return MSVCR120_nan(tagp); -+} -diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec -index 4cd3760f6a2..df7cc939ef7 100644 ---- a/dlls/ucrtbase/ucrtbase.spec -+++ b/dlls/ucrtbase/ucrtbase.spec -@@ -2429,9 +2429,9 @@ - @ cdecl memset(ptr long long) MSVCRT_memset - @ cdecl modf(double ptr) MSVCRT_modf - @ cdecl -arch=arm,x86_64 modff(float ptr) MSVCRT_modff --@ stub nan --@ stub nanf --@ stub nanl -+@ cdecl nan(str) MSVCR120_nan -+@ cdecl nanf(str) MSVCR120_nanf -+@ cdecl nanl(str) MSVCR120_nanl - @ cdecl nearbyint(double) MSVCRT_nearbyint - @ cdecl nearbyintf(float) MSVCRT_nearbyintf - @ cdecl nearbyintl(double) MSVCRT_nearbyint --- -2.11.0 - diff --git a/patches/msvcrt-NAN/definition b/patches/msvcrt-NAN/definition deleted file mode 100644 index 2843d9b0..00000000 --- a/patches/msvcrt-NAN/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: Implement msvcrt.nan functions diff --git a/patches/msvideo.dll16-DrawDibProfileDisplay/0001-msvideo.dll16-Implement-DrawDibProfileDisplay.patch b/patches/msvideo.dll16-DrawDibProfileDisplay/0001-msvideo.dll16-Implement-DrawDibProfileDisplay.patch deleted file mode 100644 index 2f97e86e..00000000 --- a/patches/msvideo.dll16-DrawDibProfileDisplay/0001-msvideo.dll16-Implement-DrawDibProfileDisplay.patch +++ /dev/null @@ -1,46 +0,0 @@ -From b802f2ea4ddd860efb54eb09b766f11150b172ca Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Sat, 28 May 2016 00:00:05 +0200 -Subject: msvideo.dll16: Implement DrawDibProfileDisplay. (v2) - ---- - dlls/msvideo.dll16/msvideo.dll16.spec | 2 +- - dlls/msvideo.dll16/msvideo16.c | 9 +++++++++ - 2 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/dlls/msvideo.dll16/msvideo.dll16.spec b/dlls/msvideo.dll16/msvideo.dll16.spec -index f45f644b419..02e2c957df7 100644 ---- a/dlls/msvideo.dll16/msvideo.dll16.spec -+++ b/dlls/msvideo.dll16/msvideo.dll16.spec -@@ -35,7 +35,7 @@ - 111 stub DRAWDIBCHANGEPALETTE - 112 pascal -ret16 DrawDibRealize(word word word) DrawDibRealize16 - 113 stub DRAWDIBTIME --114 stub DRAWDIBPROFILEDISPLAY -+114 pascal -ret16 DrawDibProfileDisplay(ptr) DrawDibProfileDisplay16 - 115 stub STRETCHDIB - 118 pascal -ret16 DrawDibStart(word long) DrawDibStart16 - 119 pascal -ret16 DrawDibStop(word) DrawDibStop16 -diff --git a/dlls/msvideo.dll16/msvideo16.c b/dlls/msvideo.dll16/msvideo16.c -index 8f02cc1ebc8..28f126c957e 100644 ---- a/dlls/msvideo.dll16/msvideo16.c -+++ b/dlls/msvideo.dll16/msvideo16.c -@@ -121,6 +121,15 @@ UINT16 VFWAPI DrawDibRealize16(HDRAWDIB16 hdd, HDC16 hdc, - } - - /************************************************************************* -+ * DrawDibProfileDisplay [MSVIDEO.114] -+ */ -+BOOL16 VFWAPI DrawDibProfileDisplay16(LPBITMAPINFOHEADER lpbi) -+{ -+ TRACE("(%p)\n", lpbi); -+ return DrawDibProfileDisplay(lpbi); -+} -+ -+/************************************************************************* - * DrawDibStart [MSVIDEO.118] - */ - BOOL16 VFWAPI DrawDibStart16(HDRAWDIB16 hdd, DWORD rate) --- -2.11.0 - diff --git a/patches/msvideo.dll16-DrawDibProfileDisplay/definition b/patches/msvideo.dll16-DrawDibProfileDisplay/definition deleted file mode 100644 index b96e21d2..00000000 --- a/patches/msvideo.dll16-DrawDibProfileDisplay/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [42022] Implement DrawDibProfileDisplay in msvideo.dll16 diff --git a/patches/ntdll-NtAllocateUuids/0001-ntdll-Improve-stub-for-NtAllocateUuids.patch b/patches/ntdll-NtAllocateUuids/0001-ntdll-Improve-stub-for-NtAllocateUuids.patch index 5390976d..8a9d9fe3 100644 --- a/patches/ntdll-NtAllocateUuids/0001-ntdll-Improve-stub-for-NtAllocateUuids.patch +++ b/patches/ntdll-NtAllocateUuids/0001-ntdll-Improve-stub-for-NtAllocateUuids.patch @@ -24,7 +24,7 @@ index 28dc60c40a2..7d6c7447d79 100644 # @ stub NtAllocateUserPhysicalPages -@ stdcall NtAllocateUuids(ptr ptr ptr) +@ stdcall NtAllocateUuids(ptr ptr ptr ptr) - @ stdcall NtAllocateVirtualMemory(long ptr ptr ptr long long) + @ stdcall NtAllocateVirtualMemory(long ptr long ptr long long) @ stdcall NtAreMappedFilesTheSame(ptr ptr) @ stdcall NtAssignProcessToJobObject(long long) @@ -1035,7 +1035,7 @@ @@ -33,7 +33,7 @@ index 28dc60c40a2..7d6c7447d79 100644 # @ stub ZwAllocateUserPhysicalPages -@ stdcall -private ZwAllocateUuids(ptr ptr ptr) NtAllocateUuids +@ stdcall -private ZwAllocateUuids(ptr ptr ptr ptr) NtAllocateUuids - @ stdcall -private ZwAllocateVirtualMemory(long ptr ptr ptr long long) NtAllocateVirtualMemory + @ stdcall -private ZwAllocateVirtualMemory(long ptr long ptr long long) NtAllocateVirtualMemory @ stdcall -private ZwAreMappedFilesTheSame(ptr ptr) NtAreMappedFilesTheSame @ stdcall -private ZwAssignProcessToJobObject(long long) NtAssignProcessToJobObject diff --git a/dlls/ntdll/om.c b/dlls/ntdll/om.c @@ -65,7 +65,7 @@ index 62ceaceeea6..bba67d71c7d 100644 @ stdcall NtAllocateLocallyUniqueId(ptr) ntdll.NtAllocateLocallyUniqueId -@ stdcall NtAllocateUuids(ptr ptr ptr) ntdll.NtAllocateUuids +@ stdcall NtAllocateUuids(ptr ptr ptr ptr) ntdll.NtAllocateUuids - @ stdcall NtAllocateVirtualMemory(long ptr ptr ptr long long) ntdll.NtAllocateVirtualMemory + @ stdcall NtAllocateVirtualMemory(long ptr long ptr long long) ntdll.NtAllocateVirtualMemory @ stub NtBuildNumber @ stdcall NtClose(long) ntdll.NtClose diff --git a/include/winternl.h b/include/winternl.h diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index a22b4f11..0b19b279 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "96a48efeeade7359c8c84a8c3a0a9768fb2a6194" + echo "152b24015308286441399f9fc2be57213c762c7a" } # Show version information @@ -214,9 +214,7 @@ patch_enable_all () enable_msidb_Implementation="$1" enable_msvcr120__SetWinRTOutOfMemoryExceptionCallback="$1" enable_msvcrt_Math_Precision="$1" - enable_msvcrt_NAN="$1" enable_msvfw32_ICGetDisplayFormat="$1" - enable_msvideo_dll16_DrawDibProfileDisplay="$1" enable_msvideo16_HasThunk="$1" enable_msxml3_AllowXsltScript="$1" enable_ntdll_APC_Performance="$1" @@ -377,7 +375,6 @@ patch_enable_all () enable_vulkan_Vulkan_Implementation="$1" enable_wbemdisp_ISWbemSecurity="$1" enable_wbemprox_Printer="$1" - enable_wbemprox_fill_processor="$1" enable_widl_SLTG_Typelib_Support="$1" enable_windowscodecs_32bppGrayFloat="$1" enable_windowscodecs_32bppPRGBA="$1" @@ -855,15 +852,9 @@ patch_enable () msvcrt-Math_Precision) enable_msvcrt_Math_Precision="$2" ;; - msvcrt-NAN) - enable_msvcrt_NAN="$2" - ;; msvfw32-ICGetDisplayFormat) enable_msvfw32_ICGetDisplayFormat="$2" ;; - msvideo.dll16-DrawDibProfileDisplay) - enable_msvideo_dll16_DrawDibProfileDisplay="$2" - ;; msvideo16-HasThunk) enable_msvideo16_HasThunk="$2" ;; @@ -1344,9 +1335,6 @@ patch_enable () wbemprox-Printer) enable_wbemprox_Printer="$2" ;; - wbemprox-fill_processor) - enable_wbemprox_fill_processor="$2" - ;; widl-SLTG_Typelib_Support) enable_widl_SLTG_Typelib_Support="$2" ;; @@ -2055,13 +2043,6 @@ if test "$enable_windowscodecs_Palette_Images" -eq 1; then enable_windowscodecs_32bppGrayFloat=1 fi -if test "$enable_wbemprox_Printer" -eq 1; then - if test "$enable_wbemprox_fill_processor" -gt 1; then - abort "Patchset wbemprox-fill_processor disabled, but wbemprox-Printer depends on that." - fi - enable_wbemprox_fill_processor=1 -fi - if test "$enable_uxtheme_GTK_Theming" -eq 1; then if test "$enable_ntdll_DllRedirects" -gt 1; then abort "Patchset ntdll-DllRedirects disabled, but uxtheme-GTK_Theming depends on that." @@ -5062,19 +5043,6 @@ if test "$enable_msvcrt_Math_Precision" -eq 1; then ) >> "$patchlist" fi -# Patchset msvcrt-NAN -# | -# | Modified files: -# | * dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec, dlls/msvcr120/msvcr120.spec, -# | dlls/msvcr120_app/msvcr120_app.spec, dlls/msvcrt/math.c, dlls/ucrtbase/ucrtbase.spec -# | -if test "$enable_msvcrt_NAN" -eq 1; then - patch_apply msvcrt-NAN/0001-msvcrt-Implement-nan.patch - ( - printf '%s\n' '+ { "Daniel Lehman", "msvcrt: Implement nan.", 2 },'; - ) >> "$patchlist" -fi - # Patchset msvfw32-ICGetDisplayFormat # | # | This patchset fixes the following Wine bugs: @@ -5104,21 +5072,6 @@ if test "$enable_msvfw32_ICGetDisplayFormat" -eq 1; then ) >> "$patchlist" fi -# Patchset msvideo.dll16-DrawDibProfileDisplay -# | -# | This patchset fixes the following Wine bugs: -# | * [#42022] Implement DrawDibProfileDisplay in msvideo.dll16 -# | -# | Modified files: -# | * dlls/msvideo.dll16/msvideo.dll16.spec, dlls/msvideo.dll16/msvideo16.c -# | -if test "$enable_msvideo_dll16_DrawDibProfileDisplay" -eq 1; then - patch_apply msvideo.dll16-DrawDibProfileDisplay/0001-msvideo.dll16-Implement-DrawDibProfileDisplay.patch - ( - printf '%s\n' '+ { "Michael Müller", "msvideo.dll16: Implement DrawDibProfileDisplay.", 2 },'; - ) >> "$patchlist" -fi - # Patchset msvideo16-HasThunk # | # | This patchset fixes the following Wine bugs: @@ -7773,26 +7726,8 @@ if test "$enable_wbemdisp_ISWbemSecurity" -eq 1; then ) >> "$patchlist" fi -# Patchset wbemprox-fill_processor -# | -# | This patchset fixes the following Wine bugs: -# | * [#40392] Fix row count in fill_processor and fill_printer function -# | -# | Modified files: -# | * dlls/wbemprox/builtin.c -# | -if test "$enable_wbemprox_fill_processor" -eq 1; then - patch_apply wbemprox-fill_processor/0001-wbemprox-Only-include-matching-rows-in-the-table-row.patch - ( - printf '%s\n' '+ { "Hans Leidekker", "wbemprox: Only include matching rows in the table row count.", 1 },'; - ) >> "$patchlist" -fi - # Patchset wbemprox-Printer # | -# | This patchset has the following (direct or indirect) dependencies: -# | * wbemprox-fill_processor -# | # | This patchset fixes the following Wine bugs: # | * [#40539] Provide DeviceID, Location and PortName for printers # | diff --git a/patches/wbemprox-Printer/definition b/patches/wbemprox-Printer/definition index 034a0ac3..1692bf90 100644 --- a/patches/wbemprox-Printer/definition +++ b/patches/wbemprox-Printer/definition @@ -1,2 +1 @@ Fixes: [40539] Provide DeviceID, Location and PortName for printers -Depends: wbemprox-fill_processor diff --git a/patches/wbemprox-fill_processor/0001-wbemprox-Only-include-matching-rows-in-the-table-row.patch b/patches/wbemprox-fill_processor/0001-wbemprox-Only-include-matching-rows-in-the-table-row.patch deleted file mode 100644 index 1e7bd9df..00000000 --- a/patches/wbemprox-fill_processor/0001-wbemprox-Only-include-matching-rows-in-the-table-row.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 476ce365e5c475be94a88ef48b11f4a4191a813a Mon Sep 17 00:00:00 2001 -From: Hans Leidekker -Date: Thu, 12 Jan 2017 05:29:07 +0100 -Subject: wbemprox: Only include matching rows in the table row count. - ---- - dlls/wbemprox/builtin.c | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c -index cf9ae5c8437..14e819e5373 100644 ---- a/dlls/wbemprox/builtin.c -+++ b/dlls/wbemprox/builtin.c -@@ -2350,7 +2350,7 @@ static enum fill_status fill_printer( struct table *table, const struct expr *co - struct record_printer *rec; - enum fill_status status = FILL_STATUS_UNFILTERED; - PRINTER_INFO_2W *info; -- DWORD i, offset = 0, count = 0, size = 0; -+ DWORD i, offset = 0, count = 0, size = 0, num_rows = 0; - - EnumPrintersW( PRINTER_ENUM_LOCAL, NULL, 2, NULL, 0, &size, &count ); - if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) return FILL_STATUS_FAILED; -@@ -2382,9 +2382,10 @@ static enum fill_status fill_printer( struct table *table, const struct expr *co - continue; - } - offset += sizeof(*rec); -+ num_rows++; - } -- TRACE("created %u rows\n", count); -- table->num_rows = count; -+ TRACE("created %u rows\n", num_rows); -+ table->num_rows = num_rows; - - heap_free( info ); - return status; -@@ -2567,7 +2568,7 @@ static enum fill_status fill_processor( struct table *table, const struct expr * - static const WCHAR fmtW[] = {'C','P','U','%','u',0}; - WCHAR caption[100], device_id[14], processor_id[17], manufacturer[13], name[49] = {0}, version[50]; - struct record_processor *rec; -- UINT i, offset = 0, num_cores, num_logical_processors, count = get_processor_count(); -+ UINT i, offset = 0, num_rows = 0, num_cores, num_logical_processors, count = get_processor_count(); - enum fill_status status = FILL_STATUS_UNFILTERED; - - if (!resize_table( table, count, sizeof(*rec) )) return FILL_STATUS_FAILED; -@@ -2608,10 +2609,11 @@ static enum fill_status fill_processor( struct table *table, const struct expr * - continue; - } - offset += sizeof(*rec); -+ num_rows++; - } - -- TRACE("created %u rows\n", count); -- table->num_rows = count; -+ TRACE("created %u rows\n", num_rows); -+ table->num_rows = num_rows; - return status; - } - --- -2.11.0 - diff --git a/patches/wbemprox-fill_processor/definition b/patches/wbemprox-fill_processor/definition deleted file mode 100644 index ec7140d3..00000000 --- a/patches/wbemprox-fill_processor/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [40392] Fix row count in fill_processor and fill_printer function