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/me... ============================================================================== --- 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/ntu... ============================================================================== --- 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 {