Author: jimtabor Date: Tue May 12 05:31:07 2009 New Revision: 40891
URL: http://svn.reactos.org/svn/reactos?rev=40891&view=rev Log: - Move update thread information hooks.
Modified: trunk/reactos/subsystems/win32/win32k/include/hook.h trunk/reactos/subsystems/win32/win32k/include/win32.h trunk/reactos/subsystems/win32/win32k/ntuser/hook.c trunk/reactos/subsystems/win32/win32k/ntuser/misc.c
Modified: trunk/reactos/subsystems/win32/win32k/include/hook.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/inc... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/hook.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/hook.h [iso-8859-1] Tue May 12 05:31:07 2009 @@ -18,7 +18,7 @@ #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 {
Modified: trunk/reactos/subsystems/win32/win32k/include/win32.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/inc... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/win32.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/win32.h [iso-8859-1] Tue May 12 05:31:07 2009 @@ -42,13 +42,13 @@ 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;
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/hook.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/hook.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/hook.c [iso-8859-1] Tue May 12 05:31:07 2009 @@ -108,12 +108,12 @@ { W32Thread = ((PTHREADINFO)Thread->Tcb.Win32Thread); ASSERT(W32Thread != NULL); - W32Thread->Hooks |= HOOKID_TO_FLAG(HookId); - - GetWin32ClientInfo()->fsHooks = W32Thread->Hooks; + W32Thread->fsHooks |= HOOKID_TO_FLAG(HookId); + + 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 @@
W32Thread = ((PTHREADINFO)Hook->Thread->Tcb.Win32Thread); ASSERT(W32Thread != NULL); - W32Thread->Hooks &= ~HOOKID_TO_FLAG(Hook->HookId); - - GetWin32ClientInfo()->fsHooks = W32Thread->Hooks; + W32Thread->fsHooks &= ~HOOKID_TO_FLAG(Hook->HookId); + + 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)]) {
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/misc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/misc.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/misc.c [iso-8859-1] Tue May 12 05:31:07 2009 @@ -524,8 +524,9 @@
/* 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;