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;