X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2da25e49e59a072d337ff05583c17a49d26a7990..80a779275ae04443c568dca919adb26cf6f5002c:/src/mac/carbon/notebmac.cpp diff --git a/src/mac/carbon/notebmac.cpp b/src/mac/carbon/notebmac.cpp index 3406606bb8..2aff7f536b 100644 --- a/src/mac/carbon/notebmac.cpp +++ b/src/mac/carbon/notebmac.cpp @@ -164,27 +164,23 @@ int wxNotebook::DoSetSelection(size_t nPage, int flags) { wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("DoSetSelection: invalid notebook page") ); - if ( m_nSelection != wxNOT_FOUND && nPage != (size_t)m_nSelection ) + if ( m_nSelection == wxNOT_FOUND || nPage != (size_t)m_nSelection ) { if ( flags & SetSelection_SendEvent ) { - wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, m_windowId); - event.SetSelection(nPage); - event.SetOldSelection(m_nSelection); - event.SetEventObject(this); - if ( GetEventHandler()->ProcessEvent(event) && !event.IsAllowed() ) + if ( !SendPageChangingEvent(nPage) ) { // vetoed by program return m_nSelection; } //else: program allows the page change - event.SetEventType(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED); - (void)GetEventHandler()->ProcessEvent(event); + SendPageChangedEvent(m_nSelection, nPage); } ChangePage(m_nSelection, nPage); } + //else: no change return m_nSelection; } @@ -431,9 +427,13 @@ void wxNotebook::MacSetupTabs() m_peer->SetTabEnabled( ii + 1, true ) ; } +#if wxMAC_USE_CORE_GRAPHICS + Refresh(); +#else Rect bounds; m_peer->GetRectInWindowCoords( &bounds ) ; InvalWindowRect( (WindowRef)MacGetTopLevelWindowRef(), &bounds ); +#endif } wxRect wxNotebook::GetPageRect() const