]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix TAB navigation in wxGTK broken by r72663.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 25 Nov 2012 23:17:56 +0000 (23:17 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 25 Nov 2012 23:17:56 +0000 (23:17 +0000)
Don't call SetCanFocus(true) for container windows with focusable children,
this doesn't play well at all with wxGTK focus handling and in particular
totally disabled TAB navigation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/containr.cpp

index ecc7570e708ac2886a6183a6188ad59d2ec94c3a..fbd3ea33d2bc7c1c3b0091bc11e79fa9b2650541 100644 (file)
@@ -54,7 +54,10 @@ bool wxControlContainerBase::UpdateCanFocusChildren()
     {
         m_acceptsFocusChildren = acceptsFocusChildren;
 
-        m_winParent->SetCanFocus(AcceptsFocusRecursively());
+        // In the ports where it does something non trivial, the parent window
+        // should only be focusable if it doesn't have any focusable children
+        // (e.g. native focus handling in wxGTK totally breaks down otherwise).
+        m_winParent->SetCanFocus(m_acceptsFocusSelf && !m_acceptsFocusChildren);
     }
 
     return m_acceptsFocusChildren;