mirror of
https://github.com/wxWidgets/wxWidgets.git
synced 2026-09-26 01:28:38 +08:00
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.
(cherry picked from commit a2ed8ac9e6)
This commit is contained in:
committed by
Vadim Zeitlin
parent
21dbdf9f15
commit
082d1fd28a
@@ -274,6 +274,7 @@ wxMSW
|
||||
- Fix regression in wxTreeCtrl indent size in high DPI (Maarten Bent, #25282).
|
||||
- Fix using wxNO_IMPLICIT_WXSTRING_ENCODING with PCH (#25568).
|
||||
- Fix crash when copying wxBitmaps if GDI resources are exhausted (#24703).
|
||||
- Fix TAB behaviour in a panel with notebook as only active child (#25443).
|
||||
|
||||
wxOSX:
|
||||
|
||||
|
||||
@@ -1070,8 +1070,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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user