Author: jimtabor Date: Mon Dec 7 00:37:09 2009 New Revision: 44447
URL: http://svn.reactos.org/svn/reactos?rev=44447&view=rev Log: [Win32k] - Add debug printout to show post thread message stall when posting hook messages to another thread. See bug 4926. - Do not set current thread client hook flags, set only the requested client thread hook flag data. - Initialize Hook head structure with thread info and desktop pointers.
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/hook.c
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] Mon Dec 7 00:37:09 2009 @@ -104,8 +104,6 @@ return NULL; }
-// Hook->head.pti =? -// Hook->head.rpdesk Hook->head.h = Handle; Hook->Thread = Thread; Hook->HookId = HookId; @@ -116,7 +114,11 @@ ASSERT(W32Thread != NULL); W32Thread->fsHooks |= HOOKID_TO_FLAG(HookId);
- GetWin32ClientInfo()->fsHooks = W32Thread->fsHooks; + if (W32Thread->pClientInfo) + W32Thread->pClientInfo->fsHooks = W32Thread->fsHooks; + + Hook->head.pti = W32Thread; + Hook->head.rpdesk = W32Thread->Desktop; }
RtlInitUnicodeString(&Hook->ModuleName, NULL); @@ -347,6 +349,7 @@
if ((Hook->Thread != PsGetCurrentThread()) && (Hook->Thread != NULL)) { + DPRINT1("\nHook found by Id and posted to Thread! %d\n",HookId ); /* Post it in message queue. */ return IntCallLowLevelHook(Hook, Code, wParam, lParam); }