[PATCH v5 0/3] MR115: ntdll: Fake success for ThreadPowerThrottlingState
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> -- v5: ntdll: Fake success for ThreadPowerThrottlingState. include: Add THREAD_POWER_THROTTLING_STATE type. winex11.drv: Define ControlMask when not available. https://gitlab.winehq.org/wine/wine/-/merge_requests/115
From: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> --- dlls/winex11.drv/bitblt.c | 2 -- dlls/winex11.drv/event.c | 6 ------ dlls/winex11.drv/keyboard.c | 7 ++++--- dlls/winex11.drv/mouse.c | 4 +--- dlls/winex11.drv/window.c | 6 +++--- dlls/winex11.drv/x11drv.h | 3 +++ dlls/winex11.drv/x11drv_main.c | 4 +--- 7 files changed, 12 insertions(+), 20 deletions(-) diff --git a/dlls/winex11.drv/bitblt.c b/dlls/winex11.drv/bitblt.c index d1e6407d87c..10388a1cc8f 100644 --- a/dlls/winex11.drv/bitblt.c +++ b/dlls/winex11.drv/bitblt.c @@ -46,8 +46,6 @@ # endif #endif -#include "windef.h" -#include "winbase.h" #include "x11drv.h" #include "winternl.h" #include "wine/debug.h" diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index cbab1dcfe13..f81d2338faf 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -39,13 +39,7 @@ #include <stdarg.h> #include <string.h> -#include "windef.h" -#include "winbase.h" - #include "x11drv.h" - -/* avoid conflict with field names in included win32 headers */ -#undef Status #include "shlobj.h" /* DROPFILES */ #include "shellapi.h" diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c index 6157548474b..7b4ad9acd8d 100644 --- a/dlls/winex11.drv/keyboard.c +++ b/dlls/winex11.drv/keyboard.c @@ -44,14 +44,13 @@ #define NONAMELESSUNION -#include "windef.h" -#include "winbase.h" +#include "x11drv.h" + #include "wingdi.h" #include "winuser.h" #include "winreg.h" #include "winnls.h" #include "ime.h" -#include "x11drv.h" #include "wine/server.h" #include "wine/debug.h" @@ -64,6 +63,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(keyboard); WINE_DECLARE_DEBUG_CHANNEL(key); +static const unsigned int ControlMask = 1 << 2; + static int min_keycode, max_keycode, keysyms_per_keycode; static KeySym *key_mapping; static WORD keyc2vkey[256], keyc2scan[256]; diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c index d0cdd3d4984..2ce03c3f12f 100644 --- a/dlls/winex11.drv/mouse.c +++ b/dlls/winex11.drv/mouse.c @@ -50,11 +50,9 @@ MAKE_FUNCPTR(XcursorLibraryLoadCursor); #define NONAMELESSUNION #define OEMRESOURCE -#include "windef.h" -#include "winbase.h" -#include "winreg.h" #include "x11drv.h" +#include "winreg.h" #include "wine/server.h" #include "wine/debug.h" diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 773fa81f5f3..07fb1515e24 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -43,14 +43,14 @@ /* avoid conflict with field names in included win32 headers */ #undef Status + #include "ntstatus.h" #define WIN32_NO_STATUS -#include "windef.h" -#include "winbase.h" + +#include "x11drv.h" #include "wingdi.h" #include "winuser.h" -#include "x11drv.h" #include "wine/debug.h" #include "wine/server.h" #include "mwm.h" diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h index 613dc0e05fe..222d7328387 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -57,6 +57,9 @@ #undef Status /* avoid conflict with wintrnl.h */ typedef int Status; +/* avoid conflict with processthreadsapi.h */ +#undef ControlMask + #include "windef.h" #include "winbase.h" #include "ntgdi.h" diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c index 40d0e750d1b..a118757dfbe 100644 --- a/dlls/winex11.drv/x11drv_main.c +++ b/dlls/winex11.drv/x11drv_main.c @@ -45,14 +45,12 @@ #include "ntstatus.h" #define WIN32_NO_STATUS -#include "windef.h" -#include "winbase.h" -#include "winreg.h" #define VK_NO_PROTOTYPES #define WINE_VK_HOST #include "x11drv.h" +#include "winreg.h" #include "xcomposite.h" #include "wine/server.h" #include "wine/debug.h" -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/115
From: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> --- include/processthreadsapi.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/processthreadsapi.h b/include/processthreadsapi.h index d266b7a727b..f2554950952 100644 --- a/include/processthreadsapi.h +++ b/include/processthreadsapi.h @@ -37,6 +37,13 @@ typedef struct _MEMORY_PRIORITY_INFORMATION ULONG MemoryPriority; } MEMORY_PRIORITY_INFORMATION, *PMEMORY_PRIORITY_INFORMATION; +typedef struct _THREAD_POWER_THROTTLING_STATE +{ + ULONG Version; + ULONG ControlMask; + ULONG StateMask; +} THREAD_POWER_THROTTLING_STATE; + WINBASEAPI HRESULT WINAPI GetThreadDescription(HANDLE,PWSTR *); WINBASEAPI HRESULT WINAPI SetThreadDescription(HANDLE,PCWSTR); WINBASEAPI BOOL WINAPI SetThreadInformation(HANDLE,THREAD_INFORMATION_CLASS,LPVOID,DWORD); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/115
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=115531 Your paranoid android. === debian11 (build log) === error: patch failed: dlls/winex11.drv/bitblt.c:46 error: patch failed: dlls/winex11.drv/event.c:39 error: patch failed: dlls/winex11.drv/keyboard.c:44 error: patch failed: dlls/winex11.drv/mouse.c:50 error: patch failed: dlls/winex11.drv/window.c:43 error: patch failed: dlls/winex11.drv/x11drv.h:57 error: patch failed: dlls/winex11.drv/x11drv_main.c:45 error: patch failed: include/processthreadsapi.h:37 Task: Patch failed to apply
From: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52956 Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ntdll/unix/thread.c | 6 ++++++ dlls/wow64/process.c | 1 + 2 files changed, 7 insertions(+) diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c index 6d937675bcb..15bb3be34b2 100644 --- a/dlls/ntdll/unix/thread.c +++ b/dlls/ntdll/unix/thread.c @@ -2255,6 +2255,12 @@ NTSTATUS WINAPI NtSetInformationThread( HANDLE handle, THREADINFOCLASS class, FIXME( "ThreadEnableAlignmentFaultFixup stub!\n" ); return STATUS_SUCCESS; + case ThreadPowerThrottlingState: + if (length != sizeof(THREAD_POWER_THROTTLING_STATE)) return STATUS_INFO_LENGTH_MISMATCH; + if (!data) return STATUS_ACCESS_VIOLATION; + FIXME( "ThreadPowerThrottling stub!\n" ); + return STATUS_SUCCESS; + case ThreadBasicInformation: case ThreadTimes: case ThreadPriority: diff --git a/dlls/wow64/process.c b/dlls/wow64/process.c index 82ca4181116..0c6726b9c6e 100644 --- a/dlls/wow64/process.c +++ b/dlls/wow64/process.c @@ -1158,6 +1158,7 @@ NTSTATUS WINAPI wow64_NtSetInformationThread( UINT *args ) case ThreadBasePriority: /* ULONG */ case ThreadHideFromDebugger: /* void */ case ThreadEnableAlignmentFaultFixup: /* BOOLEAN */ + case ThreadPowerThrottlingState: /* THREAD_POWER_THROTTLING_STATE */ return NtSetInformationThread( handle, class, ptr, len ); case ThreadImpersonationToken: /* HANDLE */ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/115
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=115532 Your paranoid android. === debian11 (build log) === error: patch failed: dlls/winex11.drv/bitblt.c:46 error: patch failed: dlls/winex11.drv/event.c:39 error: patch failed: dlls/winex11.drv/keyboard.c:44 error: patch failed: dlls/winex11.drv/mouse.c:50 error: patch failed: dlls/winex11.drv/window.c:43 error: patch failed: dlls/winex11.drv/x11drv.h:57 error: patch failed: dlls/winex11.drv/x11drv_main.c:45 error: patch failed: include/processthreadsapi.h:37 error: patch failed: dlls/ntdll/unix/thread.c:2255 error: patch failed: dlls/wow64/process.c:1158 Task: Patch failed to apply === debian11 (build log) === error: patch failed: dlls/winex11.drv/bitblt.c:46 error: patch failed: dlls/winex11.drv/event.c:39 error: patch failed: dlls/winex11.drv/keyboard.c:44 error: patch failed: dlls/winex11.drv/mouse.c:50 error: patch failed: dlls/winex11.drv/window.c:43 error: patch failed: dlls/winex11.drv/x11drv.h:57 error: patch failed: dlls/winex11.drv/x11drv_main.c:45 error: patch failed: include/processthreadsapi.h:37 error: patch failed: dlls/ntdll/unix/thread.c:2255 error: patch failed: dlls/wow64/process.c:1158 Task: Patch failed to apply
This merge request was approved by Alexandre Julliard. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/115
participants (4)
-
Alexandre Julliard (@julliard) -
Alistair Leslie-Hughes -
Alistair Leslie-Hughes (@alesliehughes) -
Marvin