Author: jimtabor
Date: Tue Apr 24 02:29:07 2012
New Revision: 56403
URL:
http://svn.reactos.org/svn/reactos?rev=56403&view=rev
Log:
- Fix message regressions from 54637.
Modified:
trunk/reactos/win32ss/user/ntuser/message.c
Modified: trunk/reactos/win32ss/user/ntuser/message.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/messag…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/message.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/message.c [iso-8859-1] Tue Apr 24 02:29:07 2012
@@ -1448,17 +1448,13 @@
LPARAM lParam)
{
ULONG_PTR Result = 0;
- if (!co_IntSendMessageWithCallBack( hWnd,
- Msg,
- wParam,
- lParam,
- NULL,
- 0,
- &Result))
- {
- Result = ((ULONG_PTR)-1);
- }
- return Result;
+ return co_IntSendMessageWithCallBack( hWnd,
+ Msg,
+ wParam,
+ lParam,
+ NULL,
+ 0,
+ &Result);
}
/* MSDN:
If you send a message in the range below WM_USER to the asynchronous message
@@ -1507,6 +1503,15 @@
RETURN(FALSE);
}
+ if (Msg & 0x80000000 &&
+ Window->head.pti->MessageQueue == Win32Thread->MessageQueue)
+ {
+ ERR("SMWCB: Internal Message!\n");
+ Result = (ULONG_PTR)handle_internal_message( Window, Msg, wParam, lParam );
+ if (uResult) *uResult = Result;
+ RETURN( TRUE);
+ }
+
/* See if this message type is present in the table */
MsgMemoryEntry = FindMsgMemory(Msg);
if (NULL == MsgMemoryEntry)
@@ -1532,14 +1537,6 @@
UnpackParam(lParamPacked, Msg, wParam, lParam, FALSE);
/* Never send messages to exiting threads */
RETURN(FALSE);
- }
-
- if (Msg & 0x80000000)
- {
- ERR("SMWCB: Internal Message!\n");
- Result = (ULONG_PTR)handle_internal_message( Window, Msg, wParam, lParam );
- if (uResult) *uResult = Result;
- RETURN( TRUE);
}
IntCallWndProc( Window, hWnd, Msg, wParam, lParam);
@@ -1784,7 +1781,6 @@
else
{
Ret = co_IntSendMessageNoWait( hWnd, Msg, wParam, lParam);
- if (-1 == (int) Ret || !Ret) Ret = FALSE;
}
return Ret;
}