don't crash in dtor if the dialog had never been shown (patch 1723848) [backport from HEAD]

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@46184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-05-23 23:40:12 +00:00
parent 4d5f003a08
commit 00f028e500

View File

@@ -381,20 +381,23 @@ wxFindReplaceDialog::wxFindReplaceDialog(wxWindow *parent,
wxFindReplaceDialog::~wxFindReplaceDialog()
{
// the dialog might have been already deleted if the user closed it
// manually but in this case we should have got a notification about it and
// the flagmust have been set
if ( !m_impl->WasClosedByUser() )
if ( m_impl )
{
// if it wasn't, delete the dialog ourselves
if ( !::DestroyWindow(GetHwnd()) )
// the dialog might have been already deleted if the user closed it
// manually but in this case we should have got a notification about it
// and the flag must have been set
if ( !m_impl->WasClosedByUser() )
{
wxLogLastError(_T("DestroyWindow(find dialog)"));
// if it wasn't, delete the dialog ourselves
if ( !::DestroyWindow(GetHwnd()) )
{
wxLogLastError(_T("DestroyWindow(find dialog)"));
}
}
}
// unsubclass the parent
delete m_impl;
// unsubclass the parent
delete m_impl;
}
// prevent the base class dtor from trying to hide us!
m_isShown = false;