From 7e7e74b988845bb61a462fea3f9fdc20aed97036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9=20van=20Geldorp?= Date: Thu, 24 Jul 2003 05:51:26 +0000 Subject: [PATCH] This time, apply the correct patch from Art Yerkes instead of an old one... svn path=/trunk/; revision=5236 --- reactos/subsys/win32k/ntuser/message.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/reactos/subsys/win32k/ntuser/message.c b/reactos/subsys/win32k/ntuser/message.c index c7e39cf3247..75feef12de0 100644 --- a/reactos/subsys/win32k/ntuser/message.c +++ b/reactos/subsys/win32k/ntuser/message.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: message.c,v 1.23 2003/07/23 17:00:55 gvg Exp $ +/* $Id: message.c,v 1.24 2003/07/24 05:51:26 gvg Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -437,22 +437,28 @@ NtUserPostThreadMessage(DWORD idThread, LPARAM lParam) { MSG Mesg; - + PUSER_MESSAGE Message; PETHREAD peThread; PW32THREAD pThread; NTSTATUS Status; - - Status = PsLookupThreadByThreadId(idThread,&peThread); + Status = PsLookupThreadByThreadId((void *)idThread,&peThread); + if( Status == STATUS_SUCCESS ) { pThread = peThread->Win32Thread; + if( !pThread || !pThread->MessageQueue ) + { + ObDereferenceObject( peThread ); + return FALSE; + } Mesg.hwnd = 0; Mesg.message = Msg; Mesg.wParam = wParam; Mesg.lParam = lParam; Message = MsqCreateMessage(&Mesg); MsqPostMessage(pThread->MessageQueue, Message); + ObDereferenceObject( peThread ); return TRUE; } else { SetLastNtError( Status );