Author: jimtabor Date: Wed Apr 6 12:23:54 2011 New Revision: 51264
URL: http://svn.reactos.org/svn/reactos?rev=51264&view=rev Log: [Win32k] - The Reak fix to unfocused explorer minimize hang, spotted by R3dDr4g0n vins8920@hotmail.com.
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c trunk/reactos/subsystems/win32/win32k/ntuser/window.c
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/msgqueue.c [iso-8859-1] Wed Apr 6 12:23:54 2011 @@ -1353,28 +1353,14 @@ co_MsqWaitForNewMessages(PUSER_MESSAGE_QUEUE MessageQueue, PWND WndFilter, UINT MsgFilterMin, UINT MsgFilterMax) { - PTHREADINFO pti; - NTSTATUS ret = STATUS_SUCCESS; - - pti = MessageQueue->Thread->Tcb.Win32Thread; - - while ( co_MsqDispatchOneSentMessage(MessageQueue) ); - - if (pti->pcti->fsWakeBits & pti->pcti->fsChangeBits ) - { - return ret; - } - - pti->pClientInfo->cSpins = 0; - IdlePing(); + NTSTATUS ret; UserLeaveCo(); - ret = KeWaitForSingleObject(MessageQueue->NewMessages, - Executive, - UserMode, - FALSE, - NULL); + ret = KeWaitForSingleObject( MessageQueue->NewMessages, + UserRequest, + UserMode, + FALSE, + NULL ); UserEnterCo(); - IdlePong(); return ret; }
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/window.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/window.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/window.c [iso-8859-1] Wed Apr 6 12:23:54 2011 @@ -1530,7 +1530,7 @@ if (pWindow->spwndParent && pWindow->spwndParent != UserGetDesktopWindow()) { USER_REFERENCE_ENTRY Ref; - UserRefObjectCo(pWindow->spwndParent, &Ref); // Fix explorer minimize hang. + UserRefObjectCo(pWindow->spwndParent, &Ref); // Should be co_IntSendMessage please retest, Ref to Chg, revision 51254... co_IntSendMessageNoWait( pWindow->spwndParent->head.h, WM_PARENTNOTIFY,