From f5729a6bca4fddcb9fcfe38fdcee9da327d14fb2 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Wed, 30 Mar 2005 16:40:41 +0000 Subject: [PATCH] Applied patch [ 1171467 ] Fix for DocManager not checking OnNewDocument's return value git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/docview.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/common/docview.cpp b/src/common/docview.cpp index 9946ac2..221ce1b 100644 --- a/src/common/docview.cpp +++ b/src/common/docview.cpp @@ -1225,7 +1225,12 @@ wxDocument *wxDocManager::CreateDocument(const wxString& path, long flags) { newDoc->SetDocumentName(temp->GetDocumentName()); newDoc->SetDocumentTemplate(temp); - newDoc->OnNewDocument(); + if (!newDoc->OnNewDocument() ) + { + // Document is implicitly deleted by DeleteAllViews + newDoc->DeleteAllViews(); + return NULL; + } } return newDoc; } @@ -1248,7 +1253,12 @@ wxDocument *wxDocManager::CreateDocument(const wxString& path, long flags) { newDoc->SetDocumentName(temp->GetDocumentName()); newDoc->SetDocumentTemplate(temp); - newDoc->OnNewDocument(); + if (!newDoc->OnNewDocument() ) + { + // Document is implicitly deleted by DeleteAllViews + newDoc->DeleteAllViews(); + return NULL; + } } return newDoc; } -- 2.7.4