X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a29fe70bc90b08b4f0bd4c23c1d12ad17cbbed2..88932ec82d048d006cdc81bd309f5e59aee799ac:/src/aui/floatpane.cpp diff --git a/src/aui/floatpane.cpp b/src/aui/floatpane.cpp index 343ab6eb78..f33966740a 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)