From 29548835934ad15172eb84782599a5c07e713035 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 13 May 2010 14:37:00 +0000 Subject: [PATCH] Document wxDocument::DeleteContents(). This method purpose was not quite clear as it was only mentioned in passing in documentation of OnCloseDocument() but not really documented itself. Also don't call it from wxDocument dtor as this is useless: the user-defined overridden version will never be called from here and the base class version does nothing. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/docview.h | 2 ++ interface/wx/docview.h | 20 ++++++++++++++++---- src/common/docview.cpp | 2 -- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/include/wx/docview.h b/include/wx/docview.h index 824e432fdc..ee7067b09d 100644 --- a/include/wx/docview.h +++ b/include/wx/docview.h @@ -129,6 +129,8 @@ public: // deletes the document if this is there are no more views. virtual void OnChangedViewList(); + // Called from OnCloseDocument(), does nothing by default but may be + // overridden. Return value is ignored. virtual bool DeleteContents(); virtual bool Draw(wxDC&); diff --git a/interface/wx/docview.h b/interface/wx/docview.h index 4dd49c4be8..dd5f3bcc19 100644 --- a/interface/wx/docview.h +++ b/interface/wx/docview.h @@ -1141,6 +1141,18 @@ public: */ virtual bool DeleteAllViews(); + /** + Virtual method called from OnCloseDocument(). + + This method may be overridden to perform any additional cleanup which + might be needed when the document is closed. + + The return value of this method is currently ignored. + + The default version does nothing and simply returns @true. + */ + virtual bool DeleteContents(); + /** Returns a pointer to the command processor associated with this document. @@ -1258,10 +1270,10 @@ public: /** This virtual function is called when the document is being closed. - The default implementation calls DeleteContents() (an empty - implementation) and sets the modified flag to @false. You can override - it to supply additional behaviour when the document is closed with - Close(). + The default implementation calls DeleteContents() (which may be + overridden to perform additional cleanup) and sets the modified flag to + @false. You can override it to supply additional behaviour when the + document is closed with Close(). Notice that previous wxWidgets versions used to call this function also from OnNewDocument(), rather counter-intuitively. This is no longer the diff --git a/src/common/docview.cpp b/src/common/docview.cpp index 04b6bb9818..03d455b528 100644 --- a/src/common/docview.cpp +++ b/src/common/docview.cpp @@ -135,8 +135,6 @@ bool wxDocument::DeleteContents() wxDocument::~wxDocument() { - DeleteContents(); - delete m_commandProcessor; if (GetDocumentManager()) -- 2.45.2