From c970cbb191dee51ff7fce4b382ed978f059b371a Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Mon, 24 May 2010 12:57:03 +0000 Subject: [PATCH] [WIN32K] When destroying a window, generate a mouse move message, so that the underlying window is notified about the mouse position and can update the pointer if neccessary. Fixes bug #4499 and bug #3893 See issue #4499 for more details. svn path=/trunk/; revision=47339 --- reactos/subsystems/win32/win32k/ntuser/window.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/reactos/subsystems/win32/win32k/ntuser/window.c b/reactos/subsystems/win32/win32k/ntuser/window.c index e9f64d292f4..ca58a3c9369 100644 --- a/reactos/subsystems/win32/win32k/ntuser/window.c +++ b/reactos/subsystems/win32/win32k/ntuser/window.c @@ -2674,6 +2674,7 @@ BOOLEAN FASTCALL co_UserDestroyWindow(PWINDOW_OBJECT Window) PWND Wnd; HWND hWnd; PTHREADINFO ti; + MSG msg; ASSERT_REFS_CO(Window); // FIXME: temp hack? @@ -2811,6 +2812,13 @@ BOOLEAN FASTCALL co_UserDestroyWindow(PWINDOW_OBJECT Window) } } + /* Generate mouse move message for the next window */ + msg.message = WM_MOUSEMOVE; + msg.wParam = IntGetSysCursorInfo()->ButtonsDown; + msg.lParam = MAKELPARAM(gpsi->ptCursor.x, gpsi->ptCursor.y); + msg.pt = gpsi->ptCursor; + MsqInsertSystemMessage(&msg); + if (!IntIsWindow(Window->hSelf)) { return TRUE;