// Don't do anything if the size didn't really change.
if ( size != old_size )
{
+ int newPosition = -1;
+
// Apply gravity if we use it.
int delta = (int) ( (size - old_size)*m_sashGravity );
if ( delta != 0 )
{
- int newPosition = m_sashPosition + delta;
+ newPosition = m_sashPosition + delta;
if( newPosition < m_minimumPaneSize )
newPosition = m_minimumPaneSize;
- SetSashPositionAndNotify(newPosition);
}
- if ( m_sashPosition >= size - 5 )
- SetSashPositionAndNotify(wxMax(10, size - 40));
- m_lastSize = wxSize(w,h);
+ // Also check if the second window became too small.
+ newPosition = AdjustSashPosition(newPosition == -1
+ ? m_sashPosition
+ : newPosition);
+ if ( newPosition != m_sashPosition )
+ SetSashPositionAndNotify(newPosition);
}
}