X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ce7fe42e848cc0c9058dae906c3a7bded50681e6..65ebf13ab624c3be98a9c4028fc107a1e9ec4a9c:/src/osx/notebook_osx.cpp diff --git a/src/osx/notebook_osx.cpp b/src/osx/notebook_osx.cpp index 90dc488863..50cc1bacfe 100644 --- a/src/osx/notebook_osx.cpp +++ b/src/osx/notebook_osx.cpp @@ -173,11 +173,19 @@ wxNotebookPage* wxNotebook::DoRemovePage(size_t nPage) wxNotebookPage* page = m_pages[nPage] ; m_pages.RemoveAt(nPage); + m_images.RemoveAt(nPage); MacSetupTabs(); - if (m_selection >= (int)GetPageCount()) - m_selection = GetPageCount() - 1; + if ( m_selection >= (int)nPage ) + { + if ( GetPageCount() == 0 ) + m_selection = wxNOT_FOUND; + else + m_selection = m_selection ? m_selection - 1 : 0; + + GetPeer()->SetValue( m_selection + 1 ) ; + } if (m_selection >= 0) m_pages[m_selection]->Show(true); @@ -190,7 +198,8 @@ wxNotebookPage* wxNotebook::DoRemovePage(size_t nPage) // remove all pages bool wxNotebook::DeleteAllPages() { - WX_CLEAR_ARRAY(m_pages) ; + WX_CLEAR_ARRAY(m_pages); + m_images.clear(); MacSetupTabs(); m_selection = wxNOT_FOUND ; InvalidateBestSize();