X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ca65c0440a7163e4e37e48b1c4329709d722db47..6dd18972d509fce16afa05eba194ca21db2c48f3:/src/generic/splitter.cpp diff --git a/src/generic/splitter.cpp b/src/generic/splitter.cpp index a67ff0fcd4..93eb320d0a 100644 --- a/src/generic/splitter.cpp +++ b/src/generic/splitter.cpp @@ -36,6 +36,10 @@ #include "wx/settings.h" #endif +#ifdef __WXMAC__ + #include "wx/mac/private.h" +#endif + #include "wx/renderer.h" #include "wx/splitter.h" @@ -200,8 +204,11 @@ void wxSplitterWindow::OnMouseEvent(wxMouseEvent& event) // following the mouse movement while it drags the sash, without it we only // draw the sash at the new position but only resize the windows when the // dragging is finished +#if defined( __WXMAC__ ) && TARGET_API_MAC_OSX == 1 + bool isLive = true ; +#else bool isLive = (GetWindowStyleFlag() & wxSP_LIVE_UPDATE) != 0; - +#endif if (event.LeftDown()) { if ( SashHitTest(x, y) ) @@ -582,6 +589,12 @@ bool wxSplitterWindow::DoSetSashPosition(int sashPos) void wxSplitterWindow::SetSashPositionAndNotify(int sashPos) { + // we must reset the request here, otherwise the sash would be stuck at + // old position if the user attempted to move the sash after invalid + // (e.g. smaller than minsize) sash position was requested using + // SetSashPosition(): + m_requestedSashPosition = INT_MAX; + if ( DoSetSashPosition(sashPos) ) { wxSplitterEvent event(wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, this);