[0.4.10][NTUSER] Fix regression CORE-11828
authorJoachim Henze <Joachim.Henze@reactos.org>
Sun, 11 Oct 2020 21:45:48 +0000 (23:45 +0200)
committerJoachim Henze <Joachim.Henze@reactos.org>
Sun, 11 Oct 2020 21:45:48 +0000 (23:45 +0200)
Fixes symptom "mouse pointer vanishes when closing
applications via x in title-bar"

The bug in WIN32SS was unhidden by SVN r65496 == git
5c1a8109c84ed0aefdac2488ff666070a7ae52f6
, when we introduced explorer_new. The old explorer
had a workaround built within.

Many thanks to patches author James Tabor.
cherry picked from commit 0.4.14-dev-1012-g
820dbfccd015d8890d5948b6abd5089e8ab8cf86

win32ss/user/ntuser/main.c

index 73d39d3..7934e36 100644 (file)
@@ -431,6 +431,16 @@ UserDeleteW32Thread(PTHREADINFO pti)
    ExFreePoolWithTag(pti, USERTAG_THREADINFO);
 
    IntDereferenceProcessInfo(ppi);
+
+   {
+      // Find another queue for mouse cursor.
+      MSG msg;
+      msg.message = WM_MOUSEMOVE;
+      msg.wParam = UserGetMouseButtonsState();
+      msg.lParam = MAKELPARAM(gpsi->ptCursor.x, gpsi->ptCursor.y);
+      msg.pt = gpsi->ptCursor;
+      co_MsqInsertMouseMessage(&msg, 0, 0, TRUE);
+   }
 }
 
 NTSTATUS