- SetWindowPos should send WM_MOUSEMOVE only when the window under the cursor changes
- Fixes moving winamp window

svn path=/trunk/; revision=53554
This commit is contained in:
Giannis Adamopoulos 2011-09-03 17:53:14 +00:00
parent 245ed2469c
commit c9fe2fcba4

View file

@ -950,6 +950,7 @@ co_WinPosSetWindowPos(
HDC Dc; HDC Dc;
RECTL CopyRect; RECTL CopyRect;
PWND Ancestor; PWND Ancestor;
BOOL bPointerInWindow;
ASSERT_REFS_CO(Window); ASSERT_REFS_CO(Window);
@ -963,6 +964,7 @@ co_WinPosSetWindowPos(
{ {
return FALSE; return FALSE;
} }
bPointerInWindow = IntPtInWindow(Window, gpsi->ptCursor.x, gpsi->ptCursor.y);
WinPos.hwnd = Window->head.h; WinPos.hwnd = Window->head.h;
WinPos.hwndInsertAfter = WndInsertAfter; WinPos.hwndInsertAfter = WndInsertAfter;
@ -1329,7 +1331,7 @@ co_WinPosSetWindowPos(
IntNotifyWinEvent(EVENT_OBJECT_LOCATIONCHANGE, pWnd, OBJID_WINDOW, CHILDID_SELF, WEF_SETBYWNDPTI); IntNotifyWinEvent(EVENT_OBJECT_LOCATIONCHANGE, pWnd, OBJID_WINDOW, CHILDID_SELF, WEF_SETBYWNDPTI);
} }
if(IntPtInWindow(Window, gpsi->ptCursor.x, gpsi->ptCursor.y)) if(bPointerInWindow != IntPtInWindow(Window, gpsi->ptCursor.x, gpsi->ptCursor.y))
{ {
/* Generate mouse move message */ /* Generate mouse move message */
MSG msg; MSG msg;