Send mouse leave events in HandleMouseMove if HAVE_TRACKMOUSEEVENT is defined and the window has captured the mouse. This used to be done in OnInternalIdle, which now only sends leave events when HAVE_TRACKMOUSEEVENT is *not* defined. Patch from Jamie Gadd, posted 9/10/2005 on wx-dev.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
f9daf953d6
commit
cff58b5299
@ -4626,6 +4626,18 @@ bool wxWindowMSW::HandleMouseMove(int x, int y, WXUINT flags)
|
||||
(void)GetEventHandler()->ProcessEvent(event);
|
||||
}
|
||||
}
|
||||
#ifdef HAVE_TRACKMOUSEEVENT
|
||||
else
|
||||
{
|
||||
// Check if we need to send a LEAVE event
|
||||
// Windows doesn't send WM_MOUSELEAVE if the mouse has been captured so
|
||||
// send it here if we are using native mouse leave tracking
|
||||
if ( HasCapture() && !IsMouseInWindow() )
|
||||
{
|
||||
GenerateMouseLeave();
|
||||
}
|
||||
}
|
||||
#endif // HAVE_TRACKMOUSEEVENT
|
||||
|
||||
#if wxUSE_MOUSEEVENT_HACK
|
||||
// Window gets a click down message followed by a mouse move message even
|
||||
|
Loading…
Reference in New Issue
Block a user