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
This commit is contained in:
Timo Kreuzer
2010-05-24 12:57:03 +00:00
parent c386b1ee3b
commit c970cbb191
@@ -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;