X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1a77875bed4779fad450b289ab7e476d049ccd14..1971d23c57b3c582f32d05704914ad902ec76fa5:/src/common/wincmn.cpp diff --git a/src/common/wincmn.cpp b/src/common/wincmn.cpp index 864bb24f1a..f71daad3b5 100644 --- a/src/common/wincmn.cpp +++ b/src/common/wincmn.cpp @@ -268,6 +268,12 @@ wxWindowBase::~wxWindowBase() if ( m_tooltip ) delete m_tooltip; #endif // wxUSE_TOOLTIPS + + // reset the dangling pointer our parent window may keep to us + if ( m_parent && m_parent->GetDefaultItem() == this ) + { + m_parent->SetDefaultItem(NULL); + } } bool wxWindowBase::Destroy() @@ -1384,7 +1390,7 @@ void wxWindowBase::UpdateWindowUI() if ( event.GetSetText() ) { - wxControl *control = wxDynamicThisCast(this, wxControl); + wxControl *control = wxDynamicCastThis(wxControl); if ( control ) { #if wxUSE_TEXTCTRL @@ -1398,7 +1404,7 @@ void wxWindowBase::UpdateWindowUI() } #if wxUSE_CHECKBOX - wxCheckBox *checkbox = wxDynamicThisCast(this, wxCheckBox); + wxCheckBox *checkbox = wxDynamicCastThis(wxCheckBox); if ( checkbox ) { if ( event.GetSetChecked() ) @@ -1407,7 +1413,7 @@ void wxWindowBase::UpdateWindowUI() #endif // wxUSE_CHECKBOX #if wxUSE_RADIOBTN - wxRadioButton *radiobtn = wxDynamicThisCast(this, wxRadioButton); + wxRadioButton *radiobtn = wxDynamicCastThis(wxRadioButton); if ( radiobtn ) { if ( event.GetSetChecked() )