}
else
{
- SetSashPositionAndNotify(posSashNew);
+ DoSetSashPosition(posSashNew);
m_needUpdating = true;
}
}
// SetSashPosition():
m_requestedSashPosition = INT_MAX;
- if ( DoSetSashPosition(sashPos) )
- {
- wxSplitterEvent event(wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, this);
- event.m_data.pos = m_sashPosition;
+ // note that we must send the event in any case, i.e. even if the sash
+ // position hasn't changed and DoSetSashPosition() returns false because we
+ // must generate a CHANGED event at the end of resizing
+ DoSetSashPosition(sashPos);
- (void)DoSendEvent(event);
- }
+ wxSplitterEvent event(wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, this);
+ event.m_data.pos = m_sashPosition;
+
+ (void)DoSendEvent(event);
}
// Position and size subwindows.
wxASSERT_MSG( (!window || (window && window->GetParent() == this)),
_T("windows in the splitter should have it as parent!") );
- if (! window->IsShown())
+ if (window && !window->IsShown())
window->Show();
m_windowOne = window;