From d05e8f3f5c5cf33eb715da117364997fd11c75fa Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 23 Apr 2000 07:06:15 +0000 Subject: [PATCH] wxNotebook::RemovePage() now only gives critical assert failures instead of crashing git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@7243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/notebook.cpp | 6 ++++-- src/gtk1/notebook.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/gtk/notebook.cpp b/src/gtk/notebook.cpp index 4fbff0c3df..c1eb6cb8a8 100644 --- a/src/gtk/notebook.cpp +++ b/src/gtk/notebook.cpp @@ -521,7 +521,7 @@ bool wxNotebook::DeletePage( int page ) if (!nb_page) return FALSE; /* GTK sets GtkNotebook.cur_page to NULL before sending - the switvh page event */ + the switch page event */ m_lastSelection = GetSelection(); nb_page->m_client->Destroy(); @@ -536,10 +536,12 @@ bool wxNotebook::RemovePage( int page ) { wxGtkNotebookPage* nb_page = GetNotebookPage(page); - if (!nb_page) return FALSE; + wxCHECK_MSG( nb_page, FALSE, _T("wxNotebook::RemovePage: invalid page") ); gtk_notebook_remove_page( GTK_NOTEBOOK(m_widget), page ); + nb_page->m_client->Destroy(); + m_pages.DeleteObject( nb_page ); return TRUE; diff --git a/src/gtk1/notebook.cpp b/src/gtk1/notebook.cpp index 4fbff0c3df..c1eb6cb8a8 100644 --- a/src/gtk1/notebook.cpp +++ b/src/gtk1/notebook.cpp @@ -521,7 +521,7 @@ bool wxNotebook::DeletePage( int page ) if (!nb_page) return FALSE; /* GTK sets GtkNotebook.cur_page to NULL before sending - the switvh page event */ + the switch page event */ m_lastSelection = GetSelection(); nb_page->m_client->Destroy(); @@ -536,10 +536,12 @@ bool wxNotebook::RemovePage( int page ) { wxGtkNotebookPage* nb_page = GetNotebookPage(page); - if (!nb_page) return FALSE; + wxCHECK_MSG( nb_page, FALSE, _T("wxNotebook::RemovePage: invalid page") ); gtk_notebook_remove_page( GTK_NOTEBOOK(m_widget), page ); + nb_page->m_client->Destroy(); + m_pages.DeleteObject( nb_page ); return TRUE;