X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..32a2fbc8688b8357543456859d2a56766341795f:/src/msw/notebook.cpp?ds=sidebyside

diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp
index 3ff4dd87ce..2022f361f9 100644
--- a/src/msw/notebook.cpp
+++ b/src/msw/notebook.cpp
@@ -110,7 +110,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxNotifyEvent)
 // common part of all ctors
 void wxNotebook::Init()
 {
-  m_bOwnsImageList = FALSE;
   m_imageList = NULL;
   m_nSelection = -1;
 }
@@ -162,7 +161,7 @@ bool wxNotebook::Create(wxWindow *parent,
   if ( m_windowStyle & wxTC_MULTILINE )
     tabStyle |= TCS_MULTILINE;
   if ( m_windowStyle & wxBORDER )
-    tabStyle &= WS_BORDER;
+    tabStyle |= WS_BORDER;
   if (m_windowStyle & wxNB_FIXEDWIDTH)
     tabStyle |= TCS_FIXEDWIDTH ;
   if (m_windowStyle & wxNB_BOTTOM)
@@ -193,15 +192,10 @@ bool wxNotebook::Create(wxWindow *parent,
   return TRUE;
 }
 
-// dtor
-wxNotebook::~wxNotebook()
-{
-  if (m_bOwnsImageList) delete m_pImageList;
-}
-
 // ----------------------------------------------------------------------------
 // wxNotebook accessors
 // ----------------------------------------------------------------------------
+
 int wxNotebook::GetPageCount() const
 {
   // consistency check
@@ -275,21 +269,12 @@ bool wxNotebook::SetPageImage(int nPage, int nImage)
 
 void wxNotebook::SetImageList(wxImageList* imageList)
 {
-  if ( m_bOwnsImageList )
+  wxNotebookBase::SetImageList(imageList);
+
+  if ( imageList )
   {
-      delete m_imageList;
+    TabCtrl_SetImageList(m_hwnd, (HIMAGELIST)imageList->GetHIMAGELIST());
   }
-
-  m_bOwnsImageList = FALSE;
-  m_imageList = imageList;
-
-  TabCtrl_SetImageList(m_hwnd, (HIMAGELIST)imageList->GetHIMAGELIST());
-}
-
-void wxNotebook::AssignImageList(wxImageList* imageList)
-{
-  SetImageList(imageList);
-  m_bOwnsImageList = TRUE;
 }
 
 // ----------------------------------------------------------------------------
@@ -341,7 +326,7 @@ bool wxNotebook::DeletePage(int nPage)
   TabCtrl_DeleteItem(m_hwnd, nPage);
 
   delete m_pages[nPage];
-  m_pages.Remove(nPage);
+  m_pages.RemoveAt(nPage);
 
   if ( m_pages.IsEmpty() ) {
       // no selection if the notebook became empty
@@ -357,13 +342,12 @@ bool wxNotebook::DeletePage(int nPage)
 // remove one page from the notebook, without deleting
 wxNotebookPage *wxNotebook::DoRemovePage(int nPage)
 {
-  wxCHECK_MSG( IS_VALID_PAGE(nPage), NULL, wxT("notebook page out of range") );
+  wxNotebookPage *pageRemoved = wxNotebookBase::DoRemovePage(nPage);
+  if ( !pageRemoved )
+      return NULL;
 
   TabCtrl_DeleteItem(m_hwnd, nPage);
 
-  wxNotebookPage *pageRemoved = m_pages[nPage];
-  m_pages.Remove(nPage);
-
   if ( m_pages.IsEmpty() )
     m_nSelection = -1;
   else