X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..523050b607cfb5e6f9dfcb1544eb4f49ec1978cd:/src/gtk1/notebook.cpp?ds=sidebyside

diff --git a/src/gtk1/notebook.cpp b/src/gtk1/notebook.cpp
index 3626e86c46..1554c9e801 100644
--- a/src/gtk1/notebook.cpp
+++ b/src/gtk1/notebook.cpp
@@ -214,8 +214,10 @@ END_EVENT_TABLE()
 void wxNotebook::Init()
 {
     m_imageList = (wxImageList *) NULL;
+    m_ownsImageList = FALSE;
     m_pages.DeleteContents( TRUE );
     m_lastSelection = -1;
+    m_themeEnabled = TRUE;
 }
 
 wxNotebook::wxNotebook()
@@ -238,6 +240,7 @@ wxNotebook::~wxNotebook()
       GTK_SIGNAL_FUNC(gtk_notebook_page_change_callback), (gpointer) this );
 
     DeleteAllPages();
+    if (m_ownsImageList) delete m_imageList;
 }
 
 bool wxNotebook::Create(wxWindow *parent, wxWindowID id,
@@ -387,7 +390,15 @@ void wxNotebook::AdvanceSelection( bool forward )
 
 void wxNotebook::SetImageList( wxImageList* imageList )
 {
+    if (m_ownsImageList) delete m_imageList;
     m_imageList = imageList;
+    m_ownsImageList = FALSE;
+}
+
+void wxNotebook::AssignImageList( wxImageList* imageList )
+{
+    SetImageList(imageList);
+    m_ownsImageList = TRUE;
 }
 
 bool wxNotebook::SetPageText( int page, const wxString &text )
@@ -561,6 +572,9 @@ bool wxNotebook::InsertPage( int position, wxNotebookPage* win, const wxString&
     gtk_signal_disconnect_by_func( GTK_OBJECT(m_widget),
       GTK_SIGNAL_FUNC(gtk_notebook_page_change_callback), (gpointer) this );
 
+    if (m_themeEnabled)
+        win->SetThemeEnabled(TRUE);
+
     GtkNotebook *notebook = GTK_NOTEBOOK(m_widget);
 
     wxGtkNotebookPage *page = new wxGtkNotebookPage();