From: Alex Henrie alexhenrie24@gmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58837 --- dlls/kernel32/kernel32.spec | 2 +- dlls/kernel32/thread.c | 2 +- include/winbase.h | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index 3bb49206c6b..7721f87e4ad 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -645,7 +645,7 @@ @ stdcall GetCurrentProcessorNumber() NTDLL.NtGetCurrentProcessorNumber @ stdcall GetCurrentProcessorNumberEx(ptr) NTDLL.RtlGetCurrentProcessorNumberEx @ stdcall -norelay GetCurrentThread() KERNEL32_GetCurrentThread -@ stdcall -norelay GetCurrentThreadId() KERNEL32_GetCurrentThreadId +@ stdcall -norelay GetCurrentThreadId() @ stdcall -import GetCurrentThreadStackLimits(ptr ptr) @ stdcall -arch=win64 GetCurrentUmsThread() @ stdcall -import GetDateFormatA(long long ptr str ptr long) diff --git a/dlls/kernel32/thread.c b/dlls/kernel32/thread.c index 2ecc3bb5ed8..f0b3932880b 100644 --- a/dlls/kernel32/thread.c +++ b/dlls/kernel32/thread.c @@ -154,7 +154,7 @@ DWORD WINAPI KERNEL32_GetCurrentProcessId(void) * RETURNS * current thread identifier */ -DWORD WINAPI KERNEL32_GetCurrentThreadId(void) +DWORD WINAPI GetCurrentThreadId(void) { return HandleToULong(NtCurrentTeb()->ClientId.UniqueThread); } diff --git a/include/winbase.h b/include/winbase.h index c96f58a61b3..e593e8e0c9b 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -2677,11 +2677,15 @@ static FORCEINLINE HANDLE WINAPI GetCurrentThread(void) return (HANDLE)~(ULONG_PTR)1; }
+#ifndef _KERNEL32_ + static FORCEINLINE DWORD WINAPI GetCurrentThreadId(void) { return HandleToULong( ((HANDLE *)NtCurrentTeb())[9] ); }
+#endif + static FORCEINLINE DWORD WINAPI GetLastError(void) { return *(DWORD *)((void **)NtCurrentTeb() + 13);