X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/07b8d7ecc39cfc6cce17156b91c6de1cfb56ce5b..0147a7c1409829913d5cdfc29d3d1588f29c64cb:/src/gtk1/notebook.cpp

diff --git a/src/gtk1/notebook.cpp b/src/gtk1/notebook.cpp
index 1754454371..7976e5cd15 100644
--- a/src/gtk1/notebook.cpp
+++ b/src/gtk1/notebook.cpp
@@ -522,14 +522,11 @@ bool wxNotebook::DeleteAllPages()
 
     wxASSERT_MSG( GetPageCount() == 0, _T("all pages must have been deleted") );
 
-    return TRUE;
+    return wxNotebookBase::DeleteAllPages();
 }
 
 bool wxNotebook::DeletePage( int page )
 {
-    wxGtkNotebookPage* nb_page = GetNotebookPage(page);
-    wxCHECK_MSG( nb_page, FALSE, _T("invalid page in wxNotebook::DeletePage") );
-
     // GTK sets GtkNotebook.cur_page to NULL before sending the switch page
     // event so we have to store the selection internally
     if ( m_selection == -1 )
@@ -542,25 +539,23 @@ bool wxNotebook::DeletePage( int page )
         }
     }
 
-    m_pagesData.DeleteObject( nb_page );
-
+    // it will call our DoRemovePage() to do the real work
     return wxNotebookBase::DeletePage(page);
 }
 
 wxNotebookPage *wxNotebook::DoRemovePage( int page )
 {
-    wxGtkNotebookPage* nb_page = GetNotebookPage(page);
-
-    wxCHECK_MSG( nb_page, NULL, _T("wxNotebook::RemovePage: invalid page") );
+    wxNotebookPage *client = wxNotebookBase::DoRemovePage(page);
+    if ( !client )
+        return NULL;
 
-    wxNotebookPage *client = GetPage(page);
     gtk_widget_ref( client->m_widget );
     gtk_widget_unrealize( client->m_widget );
     gtk_widget_unparent( client->m_widget );
 
     gtk_notebook_remove_page( GTK_NOTEBOOK(m_widget), page );
 
-    m_pagesData.DeleteObject( nb_page );
+    m_pagesData.DeleteObject(GetNotebookPage(page));
 
     return client;
 }