diff --git a/src/common/containr.cpp b/src/common/containr.cpp index ecc7570e70..fbd3ea33d2 100644 --- a/src/common/containr.cpp +++ b/src/common/containr.cpp @@ -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;