Fix TAB behaviour in a panel with notebook as only active child

If a panel contained a notebook and some other element(s) that didn't
accept focus (e.g. because they were disabled), TAB didn't wrap around
correctly. Fix this by ensuring the focus gets to the notebook itself in
this case by handling it in wxNotebook itself if the parent didn't do
anything.

See #25443.
This commit is contained in:
Maarten Bent
2025-05-24 22:14:01 +02:00
committed by Vadim Zeitlin
parent d137d1e1e0
commit a2ed8ac9e6
+8 -2
View File
@@ -1660,8 +1660,14 @@ void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event)
else if ( parent )
{
event.SetCurrentFocus(this);
parent->HandleWindowEvent(event);
}
if ( !parent->HandleWindowEvent(event) )
{
// if the parent didn't handle this event, the notebook
// must be its only child accepting focus, so take it
event.Skip(false);
SetFocus();
}
}
}
}
}