Index: reactos/win32ss/user/ntuser/msgqueue.c =================================================================== --- reactos/win32ss/user/ntuser/msgqueue.c (revision 75484) +++ reactos/win32ss/user/ntuser/msgqueue.c (working copy) @@ -1426,9 +1426,10 @@ // PWND pwndTrack = IntChildrenWindowFromPoint(pwndMsg, msg->pt.x, msg->pt.y); // hittest = (USHORT)GetNCHitEx(pwndTrack, msg->pt); /// @todo WTF is this??? - if ( pDesk->spwndTrack != pwndTrack || // Change with tracking window or + if ( pDesk->spwndTrack && + (pDesk->spwndTrack != pwndTrack || // Change with tracking window or msg->message != WM_MOUSEMOVE || // Mouse click changes or - pDesk->htEx != hittest) // Change in current hit test states. + pDesk->htEx != hittest)) // Change in current hit test states. { TRACE("ITMM: Track Mouse Move!\n"); Index: reactos/win32ss/user/ntuser/window.c =================================================================== --- reactos/win32ss/user/ntuser/window.c (revision 75484) +++ reactos/win32ss/user/ntuser/window.c (working copy) @@ -582,6 +582,9 @@ if (Window->head.h == ThreadData->rpdesk->rpwinstaParent->ShellListView) ThreadData->rpdesk->rpwinstaParent->ShellListView = NULL; + + if (ThreadData->rpdesk->spwndTrack == Window) + ThreadData->rpdesk->spwndTrack = NULL; } /* Fixes dialog test_focus breakage due to r66237. */