wxASSERT_MSG( GetChildren().GetCount() == 0, wxT("children not destroyed") );
- // reset the top-level parent's default item if it is this widget
+ // notify the parent about this window destruction
if ( m_parent )
- {
- wxTopLevelWindow *tlw = wxDynamicCast(wxGetTopLevelParent((wxWindow*)this),
- wxTopLevelWindow);
-
- if ( tlw && tlw->GetDefaultItem() == this )
- tlw->SetDefaultItem(NULL);
- if ( tlw && tlw->GetTmpDefaultItem() == this )
- tlw->SetTmpDefaultItem(NULL);
- }
-
- // reset the dangling pointer our parent window may keep to us
- if ( m_parent )
- {
m_parent->RemoveChild(this);
- }
#if wxUSE_CARET
delete m_caret;
if ( m_windowSizer )
{
- // Adjust to window size, since the return value of GetWindowSizeForVirtualSize is
- // expressed in window and not client size
- wxSize minSize = m_windowSizer->GetMinSize();
- wxSize size(GetSize());
- wxSize clientSize(GetClientSize());
-
- wxSize minWindowSize(minSize.x + size.x - clientSize.x,
- minSize.y + size.y - clientSize.y);
-
- best = GetWindowSizeForVirtualSize(minWindowSize);
-
- return best;
+ best = m_windowSizer->GetMinSize();
}
#if wxUSE_CONSTRAINTS
else if ( m_constraints )