Author: jimtabor
Date: Sun Oct 30 15:44:31 2011
New Revision: 54275
URL:
http://svn.reactos.org/svn/reactos?rev=54275&view=rev
Log:
[Win32k]
- don't hangup on the user while in send message.
Modified:
trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c [iso-8859-1] Sun Oct 30
15:44:31 2011
@@ -663,6 +663,7 @@
PUSER_SENT_MESSAGE SaveMsg, Message;
PLIST_ENTRY Entry;
PTHREADINFO pti;
+ BOOL Ret;
LRESULT Result = 0;
if (IsListEmpty(&MessageQueue->SentMessagesListHead))
@@ -732,7 +733,8 @@
RemoveEntryList(&Message->ListEntry);
InsertTailList(&Message->CallBackSenderQueue->SentMessagesListHead,
&Message->ListEntry);
TRACE("Callback Message not processed yet. Requeuing the message\n");
- return (FALSE);
+ Ret = FALSE;
+ goto Exit;
}
}
else
@@ -760,7 +762,8 @@
MsqWakeQueue(Message->CallBackSenderQueue, QS_SENDMESSAGE, TRUE);
IntDereferenceMessageQueue(Message->CallBackSenderQueue);
}
- return (TRUE);
+ Ret = TRUE;
+ goto Exit;
}
/* remove the message from the dispatching list if needed, so lock the sender's
message queue */
@@ -808,12 +811,13 @@
/* free the message */
ExFreePoolWithTag(Message, TAG_USRMSG);
-
+ Ret = TRUE;
+Exit:
/* do not hangup on the user if this is reentering */
if (!SaveMsg) pti->pcti->CTI_flags &= ~CTI_INSENDMESSAGE;
pti->pusmCurrent = SaveMsg;
- return(TRUE);
+ return Ret;
}
VOID APIENTRY