X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c70da1a2431f5391739514d3eeffd4b3b96c4508..17d98558b35b75e3cad68d96841b4fa5a0c7e6ee:/src/common/docview.cpp?ds=inline diff --git a/src/common/docview.cpp b/src/common/docview.cpp index 71c1b15b1f..e2ff18c915 100644 --- a/src/common/docview.cpp +++ b/src/common/docview.cpp @@ -1036,14 +1036,8 @@ wxFileHistory *wxDocManager::OnCreateFileHistory() void wxDocManager::OnFileClose(wxCommandEvent& WXUNUSED(event)) { wxDocument *doc = GetCurrentDocument(); - if (!doc) - return; - if (doc->Close()) - { - doc->DeleteAllViews(); - if (m_docs.Member(doc)) - delete doc; - } + if (doc) + CloseDocument(doc); } void wxDocManager::OnFileCloseAll(wxCommandEvent& WXUNUSED(event)) @@ -1093,7 +1087,7 @@ void wxDocManager::OnMRUFile(wxCommandEvent& event) // Check if the id is in the range assigned to MRU list entries. const int id = event.GetId(); if ( id >= wxID_FILE1 && - id < wxID_FILE1 + m_fileHistory->GetBaseId() ) + id < wxID_FILE1 + static_cast(m_fileHistory->GetCount()) ) { DoOpenMRUFile(id - wxID_FILE1); } @@ -1414,6 +1408,7 @@ wxDocument *wxDocManager::CreateDocument(const wxString& pathOrig, long flags) { // file already open, just activate it and return ActivateDocument(doc); + return doc; } } } @@ -1953,8 +1948,7 @@ bool wxDocChildFrameAnyBase::CloseView(wxCloseEvent& event) // deleted directly not by us as indicated by its doc child frame // pointer still being set m_childView->SetDocChildFrame(NULL); - delete m_childView; - m_childView = NULL; + wxDELETE(m_childView); } m_childDocument = NULL;