- Fix problem with share pointer. See bug 3503. It seems to be a problem with ntdll and msvcrt.

svn path=/trunk/; revision=34433
This commit is contained in:
James Tabor 2008-07-12 01:00:58 +00:00
parent f7a34846ba
commit 613a10e37b

View file

@ -1081,13 +1081,13 @@ BOOL
STDCALL STDCALL
InSendMessage(VOID) InSendMessage(VOID)
{ {
PCLIENTTHREADINFO pcti = ((PW32CLIENTINFO)GetWin32ClientInfo())->pClientThreadInfo; PCLIENTTHREADINFO pcti = SharedPtrToUser(((PW32CLIENTINFO)GetWin32ClientInfo())->pClientThreadInfo);
if ( pcti ) if ( pcti )
return (pcti->CTI_flags & CTI_INSENDMESSAGE); return (pcti->CTI_flags & CTI_INSENDMESSAGE);
else else
/* return(NtUserGetThreadState(THREADSTATE_INSENDMESSAGE) != ISMEX_NOSEND); */
return FALSE; return FALSE;
/* return(NtUserGetThreadState(THREADSTATE_INSENDMESSAGE) != ISMEX_NOSEND);*/
} }
@ -1099,7 +1099,7 @@ STDCALL
InSendMessageEx( InSendMessageEx(
LPVOID lpReserved) LPVOID lpReserved)
{ {
PCLIENTTHREADINFO pcti = ((PW32CLIENTINFO)GetWin32ClientInfo())->pClientThreadInfo; PCLIENTTHREADINFO pcti = SharedPtrToUser(((PW32CLIENTINFO)GetWin32ClientInfo())->pClientThreadInfo);
if (pcti && !(pcti->CTI_flags & CTI_INSENDMESSAGE)) return ISMEX_NOSEND; if (pcti && !(pcti->CTI_flags & CTI_INSENDMESSAGE)) return ISMEX_NOSEND;
else else
@ -2312,7 +2312,7 @@ DWORD gfMessagePumpHook = 0;
BOOL WINAPI IsInsideMessagePumpHook() BOOL WINAPI IsInsideMessagePumpHook()
{ {
PCLIENTTHREADINFO pcti = ((PW32CLIENTINFO)GetWin32ClientInfo())->pClientThreadInfo; PCLIENTTHREADINFO pcti = SharedPtrToUser(((PW32CLIENTINFO)GetWin32ClientInfo())->pClientThreadInfo);
return (gfMessagePumpHook && pcti && (pcti->dwcPumpHook > 0)); return (gfMessagePumpHook && pcti && (pcti->dwcPumpHook > 0));
} }