Author: jimtabor
Date: Mon Apr 7 00:01:34 2008
New Revision: 32887
URL:
http://svn.reactos.org/svn/reactos?rev=32887&view=rev
Log:
- Plugged in client thread information, tested with Qemu.
- Add small fix to IntBroadcastSystemMessage structure.
Modified:
trunk/reactos/dll/win32/user32/windows/message.c
trunk/reactos/subsystems/win32/win32k/ntuser/misc.c
Modified: trunk/reactos/dll/win32/user32/windows/message.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/m…
==============================================================================
--- trunk/reactos/dll/win32/user32/windows/message.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/user32/windows/message.c [iso-8859-1] Mon Apr 7 00:01:34
2008
@@ -2310,10 +2310,8 @@
BOOL WINAPI IsInsideMessagePumpHook()
{
-// PCLIENTTHREADINFO pcti =
((PW32CLIENTINFO)GetWin32ClientInfo())->pClientThreadInfo;
-// return (gfMessagePumpHook && pcti && (pcti->dwcPumpHook >
0));
- if(!gfMessagePumpHook) return FALSE;
- return TRUE;
+ PCLIENTTHREADINFO pcti =
((PW32CLIENTINFO)GetWin32ClientInfo())->pClientThreadInfo;
+ return (gfMessagePumpHook && pcti && (pcti->dwcPumpHook > 0));
}
void WINAPI ResetMessagePumpHook(PUSER_MESSAGE_PUMP_ADDRESSES Addresses)
@@ -2558,7 +2556,7 @@
typedef struct _BROADCASTPARM
{
DWORD flags;
- LPDWORD recipients;
+ DWORD recipients;
HDESK hDesk;
HWND hWnd;
LUID luid;
@@ -2620,7 +2618,7 @@
parm.hDesk = NULL;
parm.hWnd = NULL;
parm.flags = dwflags;
- parm.recipients = lpdwRecipients;
+ parm.recipients = *lpdwRecipients;
if (dwflags & BSF_LUID) parm.luid = pBSMInfo->luid;
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/misc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/misc.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/misc.c [iso-8859-1] Mon Apr 7 00:01:34
2008
@@ -436,7 +436,7 @@
{
PTEB Teb;
PW32THREADINFO ti;
-// PW32CLIENTINFO ci;
+ PW32CLIENTINFO ci;
PW32THREAD W32Thread = PsGetCurrentThreadWin32Thread();
if (W32Thread == NULL)
@@ -476,7 +476,7 @@
W32Thread->ThreadInfo = ti;
/* update the TEB */
Teb = NtCurrentTeb();
-// ci = GetWin32ClientInfo();
+ ci = ((PW32CLIENTINFO)Teb->Win32ClientInfo);
_SEH_TRY
{
ProbeForWrite(Teb,
@@ -484,7 +484,7 @@
sizeof(ULONG));
Teb->Win32ThreadInfo =
UserHeapAddressToUser(W32Thread->ThreadInfo);
-// ci->pClientThreadInfo =
UserHeapAddressToUser(&ti->ClientThreadInfo);
+ ci->pClientThreadInfo = &ti->ClientThreadInfo;
}
_SEH_HANDLE
{