diff --git a/README.md b/README.md index 68d33856..ade57830 100644 --- a/README.md +++ b/README.md @@ -38,12 +38,13 @@ Wine. All those differences are also documented on the Included bug fixes and improvements =================================== -**Bugfixes and features included in the next upcoming release [13]:** +**Bugfixes and features included in the next upcoming release [14]:** * Add stub for gdiplus.GdipCreateEffect ([Wine Bug #32163](https://bugs.winehq.org/show_bug.cgi?id=32163)) * Add support for CopyFileEx progress callback ([Wine Bug #22692](https://bugs.winehq.org/show_bug.cgi?id=22692)) * Allow to cancel a file operation via progress callback ([Wine Bug #22690](https://bugs.winehq.org/show_bug.cgi?id=22690)) * Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE. ([Wine Bug #12652](https://bugs.winehq.org/show_bug.cgi?id=12652)) +* CPU-Z fails to start because GetLogicalProcessorInformationEx returns FALSE * EA Origin needs support for job objects ([Wine Bug #33723](https://bugs.winehq.org/show_bug.cgi?id=33723)) * Enforce that surfaces are flushed after ReleaseDC * Fallback to global key state for threads without a queue ([Wine Bug #27238](https://bugs.winehq.org/show_bug.cgi?id=27238)) diff --git a/debian/changelog b/debian/changelog index 9c447d9a..28a139e8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -27,6 +27,7 @@ wine-staging (1.7.38) UNRELEASED; urgency=low * Added patch to implement support for waiting on job object. * Added patch to fix crash in clip_cursor_notify caused by uninitialized TLS. * Added patches to make various functions in d3d8 / ddraw hotpatchable (required for fraps). + * Added patch to make GetLogicalProcessorInformationEx a stub which returns TRUE. * Removed patch to properly call DriverUnload when unloading device drivers (accepted upstream). * Removed patch to allow Accept-Encoding for HTTP/1.0 in wininet (accepted upstream). * Removed patch to declare pDirectInputCreateEx in a MSVC compatible way (accepted upstream). diff --git a/patches/kernel32-GetLogicalProcessorInformationEx/0001-kernel32-Make-GetLogicalProcessorInformationEx-a-stu.patch b/patches/kernel32-GetLogicalProcessorInformationEx/0001-kernel32-Make-GetLogicalProcessorInformationEx-a-stu.patch new file mode 100644 index 00000000..474aaa31 --- /dev/null +++ b/patches/kernel32-GetLogicalProcessorInformationEx/0001-kernel32-Make-GetLogicalProcessorInformationEx-a-stu.patch @@ -0,0 +1,38 @@ +From f7ea420c1ca707503214eba3c9bfce6719e66fdc Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Fri, 20 Jun 2014 21:16:39 +0200 +Subject: kernel32: Make GetLogicalProcessorInformationEx a stub which returns + TRUE. + +--- + dlls/kernel32/process.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c +index b371e73..24da577 100644 +--- a/dlls/kernel32/process.c ++++ b/dlls/kernel32/process.c +@@ -3831,8 +3831,18 @@ BOOL WINAPI GetLogicalProcessorInformation(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION + BOOL WINAPI GetLogicalProcessorInformationEx(LOGICAL_PROCESSOR_RELATIONSHIP relationship, PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX buffer, PDWORD pBufLen) + { + FIXME("(%u,%p,%p): stub\n", relationship, buffer, pBufLen); +- SetLastError(ERROR_CALL_NOT_IMPLEMENTED); +- return FALSE; ++ ++ if (!pBufLen) ++ { ++ SetLastError(ERROR_INVALID_PARAMETER); ++ return FALSE; ++ } ++ ++ /* MSDN says '[...] at least one SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX ++ * structure is written to the output buffer.' - don't be surprised if this ++ * stub doesn't work always. */ ++ *pBufLen = 0; ++ return TRUE; + } + + /*********************************************************************** +-- +2.3.0 + diff --git a/patches/kernel32-GetLogicalProcessorInformationEx/definition b/patches/kernel32-GetLogicalProcessorInformationEx/definition new file mode 100644 index 00000000..2392d95c --- /dev/null +++ b/patches/kernel32-GetLogicalProcessorInformationEx/definition @@ -0,0 +1 @@ +Fixes: CPU-Z fails to start because GetLogicalProcessorInformationEx returns FALSE diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 1fe4340e..40a4c3be 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -102,6 +102,7 @@ patch_enable_all () enable_kernel32_Console_Handles="$1" enable_kernel32_CopyFileEx="$1" enable_kernel32_GetFinalPathNameByHandle="$1" + enable_kernel32_GetLogicalProcessorInformationEx="$1" enable_kernel32_GetNumaProcessorNode="$1" enable_kernel32_GetStringTypeW="$1" enable_kernel32_GetSystemTimes="$1" @@ -344,6 +345,9 @@ patch_enable () kernel32-GetFinalPathNameByHandle) enable_kernel32_GetFinalPathNameByHandle="$2" ;; + kernel32-GetLogicalProcessorInformationEx) + enable_kernel32_GetLogicalProcessorInformationEx="$2" + ;; kernel32-GetNumaProcessorNode) enable_kernel32_GetNumaProcessorNode="$2" ;; @@ -1608,6 +1612,18 @@ if test "$enable_dxgi_GetDesc" -eq 1; then ) >> "$patchlist" fi +# Patchset makedep-PARENTSPEC +# | +# | Modified files: +# | * tools/makedep.c +# | +if test "$enable_makedep_PARENTSPEC" -eq 1; then + patch_apply makedep-PARENTSPEC/0001-makedep-Add-support-for-PARENTSPEC-Makefile-variable.patch + ( + echo '+ { "Sebastian Lackner", "makedep: Add support for PARENTSPEC Makefile variable.", 1 },'; + ) >> "$patchlist" +fi + # Patchset ntdll-DllRedirects # | # | Modified files: @@ -1628,18 +1644,6 @@ if test "$enable_ntdll_DllRedirects" -eq 1; then ) >> "$patchlist" fi -# Patchset makedep-PARENTSPEC -# | -# | Modified files: -# | * tools/makedep.c -# | -if test "$enable_makedep_PARENTSPEC" -eq 1; then - patch_apply makedep-PARENTSPEC/0001-makedep-Add-support-for-PARENTSPEC-Makefile-variable.patch - ( - echo '+ { "Sebastian Lackner", "makedep: Add support for PARENTSPEC Makefile variable.", 1 },'; - ) >> "$patchlist" -fi - # Patchset wined3d-CSMT_Helper # | # | Modified files: @@ -2262,6 +2266,22 @@ if test "$enable_kernel32_Console_Handles" -eq 1; then ) >> "$patchlist" fi +# Patchset kernel32-SetFileInformationByHandle +# | +# | Modified files: +# | * dlls/kernel32/file.c, dlls/ntdll/file.c, include/winbase.h, include/winternl.h +# | +if test "$enable_kernel32_SetFileInformationByHandle" -eq 1; then + patch_apply kernel32-SetFileInformationByHandle/0001-ntdll-Define-a-couple-more-information-classes.patch + patch_apply kernel32-SetFileInformationByHandle/0002-include-Declare-a-couple-more-file-information-class.patch + patch_apply kernel32-SetFileInformationByHandle/0003-kernel32-Implement-SetFileInformationByHandle.patch + ( + echo '+ { "Michael Müller", "ntdll: Define a couple more information classes.", 1 },'; + echo '+ { "Michael Müller", "include: Declare a couple more file information class structures.", 1 },'; + echo '+ { "Michael Müller", "kernel32: Implement SetFileInformationByHandle.", 1 },'; + ) >> "$patchlist" +fi + # Patchset ntdll-FileDispositionInformation # | # | This patchset fixes the following Wine bugs: @@ -2281,22 +2301,6 @@ if test "$enable_ntdll_FileDispositionInformation" -eq 1; then ) >> "$patchlist" fi -# Patchset kernel32-SetFileInformationByHandle -# | -# | Modified files: -# | * dlls/kernel32/file.c, dlls/ntdll/file.c, include/winbase.h, include/winternl.h -# | -if test "$enable_kernel32_SetFileInformationByHandle" -eq 1; then - patch_apply kernel32-SetFileInformationByHandle/0001-ntdll-Define-a-couple-more-information-classes.patch - patch_apply kernel32-SetFileInformationByHandle/0002-include-Declare-a-couple-more-file-information-class.patch - patch_apply kernel32-SetFileInformationByHandle/0003-kernel32-Implement-SetFileInformationByHandle.patch - ( - echo '+ { "Michael Müller", "ntdll: Define a couple more information classes.", 1 },'; - echo '+ { "Michael Müller", "include: Declare a couple more file information class structures.", 1 },'; - echo '+ { "Michael Müller", "kernel32: Implement SetFileInformationByHandle.", 1 },'; - ) >> "$patchlist" -fi - # Patchset kernel32-CopyFileEx # | # | This patchset fixes the following Wine bugs: @@ -2331,6 +2335,18 @@ if test "$enable_kernel32_GetFinalPathNameByHandle" -eq 1; then ) >> "$patchlist" fi +# Patchset kernel32-GetLogicalProcessorInformationEx +# | +# | Modified files: +# | * dlls/kernel32/process.c +# | +if test "$enable_kernel32_GetLogicalProcessorInformationEx" -eq 1; then + patch_apply kernel32-GetLogicalProcessorInformationEx/0001-kernel32-Make-GetLogicalProcessorInformationEx-a-stu.patch + ( + echo '+ { "Sebastian Lackner", "kernel32: Make GetLogicalProcessorInformationEx a stub which returns TRUE.", 1 },'; + ) >> "$patchlist" +fi + # Patchset kernel32-GetNumaProcessorNode # | # | Modified files: @@ -3342,21 +3358,6 @@ if test "$enable_server_CreateProcess_ACLs" -eq 1; then ) >> "$patchlist" fi -# Patchset server-OpenProcess -# | -# | This patchset fixes the following Wine bugs: -# | * [#37087] Return an error when trying to open a terminated process -# | -# | Modified files: -# | * server/process.c, server/process.h -# | -if test "$enable_server_OpenProcess" -eq 1; then - patch_apply server-OpenProcess/0001-server-Return-error-when-opening-a-terminating-proce.patch - ( - echo '+ { "Michael Müller", "server: Return error when opening a terminating process.", 3 },'; - ) >> "$patchlist" -fi - # Patchset server-Misc_ACL # | # | This patchset fixes the following Wine bugs: @@ -3374,6 +3375,21 @@ if test "$enable_server_Misc_ACL" -eq 1; then ) >> "$patchlist" fi +# Patchset server-OpenProcess +# | +# | This patchset fixes the following Wine bugs: +# | * [#37087] Return an error when trying to open a terminated process +# | +# | Modified files: +# | * server/process.c, server/process.h +# | +if test "$enable_server_OpenProcess" -eq 1; then + patch_apply server-OpenProcess/0001-server-Return-error-when-opening-a-terminating-proce.patch + ( + echo '+ { "Michael Müller", "server: Return error when opening a terminating process.", 3 },'; + ) >> "$patchlist" +fi + # Patchset server-JobObjects # | # | This patchset fixes the following Wine bugs: