From 2da25e49e59a072d337ff05583c17a49d26a7990 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 8 Oct 2006 20:52:21 +0000 Subject: [PATCH] compilation fix after last commit (apparently patch was misapplied) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/mac/carbon/notebmac.cpp | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/mac/carbon/notebmac.cpp b/src/mac/carbon/notebmac.cpp index 9d90682bc0..3406606bb8 100644 --- a/src/mac/carbon/notebmac.cpp +++ b/src/mac/carbon/notebmac.cpp @@ -160,28 +160,32 @@ wxSize wxNotebook::CalcSizeFromPage(const wxSize& sizePage) const return DoGetSizeFromClientSize( sizePage ); } -int wxNotebook::DoSetSelection(size_t nPage, int flags = 0) +int wxNotebook::DoSetSelection(size_t nPage, int flags) { wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("DoSetSelection: invalid notebook page") ); - if ( int(nPage) != m_nSelection ) + if ( m_nSelection != wxNOT_FOUND && nPage != (size_t)m_nSelection ) { - if (flags & SetSelection_SendEvent) + 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 ( GetEventHandler()->ProcessEvent(event) && !event.IsAllowed() ) { - // program allows the page change - event.SetEventType(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED); - (void)GetEventHandler()->ProcessEvent(event); - - ChangePage(m_nSelection, nPage); + // vetoed by program + return m_nSelection; } + //else: program allows the page change + + event.SetEventType(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED); + (void)GetEventHandler()->ProcessEvent(event); } + ChangePage(m_nSelection, nPage); + } + return m_nSelection; } @@ -228,11 +232,6 @@ bool wxNotebook::SetPageImage(size_t nPage, int nImage) MacSetupTabs() ; } - else - { - ChangePage(m_nSelection, nPage); - } - } return true; }