X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a29fe70bc90b08b4f0bd4c23c1d12ad17cbbed2..4381c90d1f2546c4f495ecad93c5338919809872:/src/aui/floatpane.cpp diff --git a/src/aui/floatpane.cpp b/src/aui/floatpane.cpp index 343ab6eb78..abd4e20be2 100644 --- a/src/aui/floatpane.cpp +++ b/src/aui/floatpane.cpp @@ -216,6 +216,9 @@ void wxAuiFloatingFrame::OnMoveEvent(wxMoveEvent& event) return; } + // as on OSX moving windows are not getting all move events, only sporadically, this difference + // is almost always big on OSX, so avoid this early exit opportunity +#ifndef __WXOSX__ // skip if moving too fast to avoid massive redraws and // jumping hint windows if ((abs(winRect.x - m_lastRect.x) > 3) || @@ -235,6 +238,7 @@ void wxAuiFloatingFrame::OnMoveEvent(wxMoveEvent& event) return; } +#endif // prevent frame redocking during resize if (m_lastRect.GetSize() != winRect.GetSize()) @@ -281,7 +285,10 @@ void wxAuiFloatingFrame::OnMoveEvent(wxMoveEvent& event) if (m_last3Rect.IsEmpty()) return; - OnMoving(event.GetRect(), dir); + if ( event.GetEventType() == wxEVT_MOVING ) + OnMoving(event.GetRect(), dir); + else + OnMoving(wxRect(event.GetPosition(),GetSize()), dir); } void wxAuiFloatingFrame::OnIdle(wxIdleEvent& event) @@ -337,7 +344,7 @@ void wxAuiFloatingFrame::OnActivate(wxActivateEvent& event) } // utility function which determines the state of the mouse button -// (independant of having a wxMouseEvent handy) - utimately a better +// (independent of having a wxMouseEvent handy) - utimately a better // mechanism for this should be found (possibly by adding the // functionality to wxWidgets itself) bool wxAuiFloatingFrame::isMouseDown()