From 6a17ca35f7c65522cfd7e918653fe0c908417f2a Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Fri, 11 Jan 2002 17:49:04 +0000 Subject: [PATCH] destructor fix in case it is not a real dialog git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/mac/carbon/toplevel.cpp | 10 +++++++--- src/mac/toplevel.cpp | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/mac/carbon/toplevel.cpp b/src/mac/carbon/toplevel.cpp index baeb703641..12f077a7cd 100644 --- a/src/mac/carbon/toplevel.cpp +++ b/src/mac/carbon/toplevel.cpp @@ -101,6 +101,7 @@ void wxTopLevelWindowMac::Init() m_maximizeOnShow = FALSE; m_macNoEraseUpdateRgn = NewRgn() ; m_macNeedsErasing = false ; + m_macWindow = NULL ; } bool wxTopLevelWindowMac::Create(wxWindow *parent, @@ -130,9 +131,12 @@ bool wxTopLevelWindowMac::Create(wxWindow *parent, wxTopLevelWindowMac::~wxTopLevelWindowMac() { - wxToolTip::NotifyWindowDelete(m_macWindow) ; - UMADisposeWindow( (WindowRef) m_macWindow ) ; - + if ( m_macWindow ) + { + wxToolTip::NotifyWindowDelete(m_macWindow) ; + UMADisposeWindow( (WindowRef) m_macWindow ) ; + } + wxRemoveMacWindowAssociation( this ) ; wxTopLevelWindows.DeleteObject(this); diff --git a/src/mac/toplevel.cpp b/src/mac/toplevel.cpp index baeb703641..12f077a7cd 100644 --- a/src/mac/toplevel.cpp +++ b/src/mac/toplevel.cpp @@ -101,6 +101,7 @@ void wxTopLevelWindowMac::Init() m_maximizeOnShow = FALSE; m_macNoEraseUpdateRgn = NewRgn() ; m_macNeedsErasing = false ; + m_macWindow = NULL ; } bool wxTopLevelWindowMac::Create(wxWindow *parent, @@ -130,9 +131,12 @@ bool wxTopLevelWindowMac::Create(wxWindow *parent, wxTopLevelWindowMac::~wxTopLevelWindowMac() { - wxToolTip::NotifyWindowDelete(m_macWindow) ; - UMADisposeWindow( (WindowRef) m_macWindow ) ; - + if ( m_macWindow ) + { + wxToolTip::NotifyWindowDelete(m_macWindow) ; + UMADisposeWindow( (WindowRef) m_macWindow ) ; + } + wxRemoveMacWindowAssociation( this ) ; wxTopLevelWindows.DeleteObject(this); -- 2.45.2