From 306302e12a2a005dbacbcf5b944bc3dc489ceb20 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Mon, 30 May 2005 11:23:27 +0000 Subject: [PATCH] Applied [ 1208344 ] wxNotebook::OnSelChange fix for focus issue git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/notebook.cpp | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp index e6104def38..5694d072b9 100644 --- a/src/msw/notebook.cpp +++ b/src/msw/notebook.cpp @@ -967,18 +967,14 @@ void wxNotebook::OnSelChange(wxNotebookEvent& event) { wxNotebookPage *pPage = m_pages[sel]; pPage->Show(true); - pPage->SetFocus(); - - // If the newly focused window is not a child of the new page, - // SetFocus was not successful and the notebook itself should be - // focused - wxWindow *currentFocus = FindFocus(); - wxWindow *startFocus = currentFocus; - while ( currentFocus && currentFocus != pPage && currentFocus != this ) - currentFocus = currentFocus->GetParent(); - - if ( startFocus == pPage || currentFocus != pPage ) - SetFocus(); + + // As per bug report: + // http://sourceforge.net/tracker/index.php?func=detail&aid=1150659&group_id=9863&atid=109863, + // we should not set the page focus (and thereby the focus for + // a child window) since it erroneously selects radio button controls and also + // breaks keyboard handling for a notebook's scroll buttons. So + // we always focus the notebook and not the page. + SetFocus(); } else // no pages in the notebook, give the focus to itself -- 2.45.2