diff --git a/reactos/subsystems/win32/win32k/include/hook.h b/reactos/subsystems/win32/win32k/include/hook.h index d24a57db89f..21ef8803444 100644 --- a/reactos/subsystems/win32/win32k/include/hook.h +++ b/reactos/subsystems/win32/win32k/include/hook.h @@ -18,7 +18,7 @@ typedef struct tagHOOK #define NB_HOOKS (WH_MAXHOOK-WH_MINHOOK+1) #define HOOKID_TO_INDEX(HookId) (HookId - WH_MINHOOK) #define HOOKID_TO_FLAG(HookId) (1 << ((HookId) + 1)) -#define ISITHOOKED(HookId) (((PTHREADINFO)PsGetCurrentThreadWin32Thread())->Hooks & HOOKID_TO_FLAG(HookId)) +#define ISITHOOKED(HookId) (((PTHREADINFO)PsGetCurrentThreadWin32Thread())->fsHooks & HOOKID_TO_FLAG(HookId)) typedef struct tagHOOKTABLE { diff --git a/reactos/subsystems/win32/win32k/include/win32.h b/reactos/subsystems/win32/win32k/include/win32.h index db7b155315d..64a44db3059 100644 --- a/reactos/subsystems/win32/win32k/include/win32.h +++ b/reactos/subsystems/win32/win32k/include/win32.h @@ -42,13 +42,13 @@ typedef struct _THREADINFO HANDLE hDesktop; UINT cPaintsReady; /* Count of paints pending. */ UINT cTimersReady; /* Count of timers pending. */ + ULONG fsHooks; LIST_ENTRY PtiLink; LIST_ENTRY WindowListHead; LIST_ENTRY W32CallbackListHead; BOOLEAN IsExiting; SINGLE_LIST_ENTRY ReferencesList; - ULONG Hooks; PW32THREADINFO ThreadInfo; } THREADINFO, *PTHREADINFO; diff --git a/reactos/subsystems/win32/win32k/ntuser/hook.c b/reactos/subsystems/win32/win32k/ntuser/hook.c index b5d2eb28f35..9d8c4b18c4a 100644 --- a/reactos/subsystems/win32/win32k/ntuser/hook.c +++ b/reactos/subsystems/win32/win32k/ntuser/hook.c @@ -108,12 +108,12 @@ IntAddHook(PETHREAD Thread, int HookId, BOOLEAN Global, PWINSTATION_OBJECT WinSt { W32Thread = ((PTHREADINFO)Thread->Tcb.Win32Thread); ASSERT(W32Thread != NULL); - W32Thread->Hooks |= HOOKID_TO_FLAG(HookId); + W32Thread->fsHooks |= HOOKID_TO_FLAG(HookId); - GetWin32ClientInfo()->fsHooks = W32Thread->Hooks; + GetWin32ClientInfo()->fsHooks = W32Thread->fsHooks; if (W32Thread->ThreadInfo != NULL) - W32Thread->ThreadInfo->fsHooks = W32Thread->Hooks; + W32Thread->ThreadInfo->fsHooks = W32Thread->fsHooks; } RtlInitUnicodeString(&Hook->ModuleName, NULL); @@ -222,12 +222,12 @@ IntRemoveHook(PHOOK Hook, PWINSTATION_OBJECT WinStaObj, BOOL TableAlreadyLocked) W32Thread = ((PTHREADINFO)Hook->Thread->Tcb.Win32Thread); ASSERT(W32Thread != NULL); - W32Thread->Hooks &= ~HOOKID_TO_FLAG(Hook->HookId); + W32Thread->fsHooks &= ~HOOKID_TO_FLAG(Hook->HookId); - GetWin32ClientInfo()->fsHooks = W32Thread->Hooks; + GetWin32ClientInfo()->fsHooks = W32Thread->fsHooks; if (W32Thread->ThreadInfo != NULL) - W32Thread->ThreadInfo->fsHooks = W32Thread->Hooks; + W32Thread->ThreadInfo->fsHooks = W32Thread->fsHooks; if (0 != Table->Counts[HOOKID_TO_INDEX(Hook->HookId)]) { diff --git a/reactos/subsystems/win32/win32k/ntuser/misc.c b/reactos/subsystems/win32/win32k/ntuser/misc.c index 6ed5e4dab2d..c874ce24fdc 100644 --- a/reactos/subsystems/win32/win32k/ntuser/misc.c +++ b/reactos/subsystems/win32/win32k/ntuser/misc.c @@ -524,8 +524,9 @@ GetW32ThreadInfo(VOID) /* initialize it */ ti->ppi = GetW32ProcessInfo(); - ti->fsHooks = W32Thread->Hooks; - W32Thread->pcti = &ti->ClientThreadInfo; + ti->fsHooks = W32Thread->fsHooks; +// W32Thread->pcti = &ti->ClientThreadInfo; + W32Thread->pcti = NULL; // FIXME if (W32Thread->Desktop != NULL) { ti->pDeskInfo = W32Thread->Desktop->DesktopInfo;