From 988c50229941f82fbe5b2e4ad02cf86a768dbe12 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Mon, 21 May 2007 07:10:06 +0000 Subject: [PATCH] cleaning up nav dialogs properly git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@46135 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/mac/carbon/dirdlg.cpp | 5 ++++- src/mac/carbon/filedlg.cpp | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/mac/carbon/dirdlg.cpp b/src/mac/carbon/dirdlg.cpp index 49ae77655e..df4aeff10d 100644 --- a/src/mac/carbon/dirdlg.cpp +++ b/src/mac/carbon/dirdlg.cpp @@ -77,7 +77,7 @@ wxDirDialog::wxDirDialog(wxWindow *parent, int wxDirDialog::ShowModal() { - NavDialogRef dialog; + NavDialogRef dialog = NULL; NavDialogCreationOptions options; NavReplyRecord reply ; bool disposeReply = false ; @@ -134,6 +134,9 @@ int wxDirDialog::ShowModal() // apparently cancelling shouldn't change m_path if ( err != noErr && err != userCanceledErr ) m_path = wxEmptyString ; + + if ( dialog ) + ::NavDialogDispose(dialog); return (err == noErr) ? wxID_OK : wxID_CANCEL ; } diff --git a/src/mac/carbon/filedlg.cpp b/src/mac/carbon/filedlg.cpp index 482891f49a..bee5c465a1 100644 --- a/src/mac/carbon/filedlg.cpp +++ b/src/mac/carbon/filedlg.cpp @@ -380,7 +380,10 @@ int wxFileDialog::ShowModal() ::DisposeNavObjectFilterUPP(navFilterUPP); if (err != noErr) + { + ::NavDialogDispose(dialog); return wxID_CANCEL; + } NavReplyRecord navReply; err = ::NavDialogGetReply(dialog, &navReply); @@ -411,6 +414,7 @@ int wxFileDialog::ShowModal() if (!thePath) { ::NavDisposeReply(&navReply); + ::NavDialogDispose(dialog); return wxID_CANCEL; } @@ -427,6 +431,7 @@ int wxFileDialog::ShowModal() } ::NavDisposeReply(&navReply); + ::NavDialogDispose(dialog); return (err == noErr) ? wxID_OK : wxID_CANCEL; }