X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8e92ccef9ce18df8c67d6105ac553dba93cf0e43..6829b0e0f772d1cbda469a78885bec1b0281188e:/src/msw/window.cpp diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 45e349fff9..738f94dda0 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -546,7 +546,7 @@ wxString wxWindowMSW::GetTitle() const return wxGetWindowText(GetHWND()); } -void wxWindowMSW::CaptureMouse() +void wxWindowMSW::DoCaptureMouse() { HWND hWnd = GetHwnd(); if ( hWnd ) @@ -555,7 +555,7 @@ void wxWindowMSW::CaptureMouse() } } -void wxWindowMSW::ReleaseMouse() +void wxWindowMSW::DoReleaseMouse() { if ( !::ReleaseCapture() ) { @@ -1180,7 +1180,7 @@ void wxWindowMSW::OnIdle(wxIdleEvent& WXUNUSED(event)) // Check if we need to send a LEAVE event if ( m_mouseInWindow ) { - if ( !IsMouseInWindow() ) + if ( !IsMouseInWindow() && !HasCapture()) { // Generate a LEAVE event m_mouseInWindow = FALSE; @@ -1543,7 +1543,8 @@ void wxWindowMSW::DoSetClientSize(int width, int height) ::GetClientRect(GetHwnd(), &rectClient); // if the size is already ok, stop here (rectClient.left = top = 0) - if ( rectClient.right == width && rectClient.bottom == height ) + if ( (rectClient.right == width || width == -1) && + (rectClient.bottom == height || height == -1) ) { break; }