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/nt…
==============================================================================
--- 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);
}