delete "this", together with the list it is iterating over.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22090
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
bool wxDocument::DeleteAllViews()
{
wxDocManager* manager = GetDocumentManager();
bool wxDocument::DeleteAllViews()
{
wxDocManager* manager = GetDocumentManager();
+ wxList::iterator it, en;
- wxList::compatibility_iterator node = m_documentViews.GetFirst();
- while (node)
+ for ( it = m_documentViews.begin(), en = m_documentViews.end();
+ it != en;
+ )
- wxView *view = (wxView *)node->GetData();
+ wxView *view = (wxView *)*it;
if (!view->Close())
return FALSE;
if (!view->Close())
return FALSE;
- wxList::compatibility_iterator next = node->GetNext();
+ wxList::iterator next = it; ++next;
delete view; // Deletes node implicitly
delete view; // Deletes node implicitly
}
// If we haven't yet deleted the document (for example
// if there were no views) then delete it.
}
// If we haven't yet deleted the document (for example
// if there were no views) then delete it.