Don't recurse upwards when updating pending focus in wxMSW

This is unnecessary, we only need to update the pending focus in the
immediate parent window to prevent a wrong radio button from being
focused (and hence selected) when it regains focus, there is no good
reason at all to interfere with the focus in the grandparent (and
higher) windows.

Doing this was not only useless, but actually harmful, as it overrode
explicit calls to SetFocus() in the user code, so just stop doing it.
This also allows to avoid having 2 functions related to this and keep
just a single virtual WXSetPendingFocus() one.

Closes #18653.
This commit is contained in:
Vadim Zeitlin
2020-01-20 13:16:41 +01:00
parent 724621929d
commit ec07635801
5 changed files with 30 additions and 32 deletions

View File

@@ -103,7 +103,7 @@ public:
// called from wxWidgets code itself only when the pending focus, i.e. the
// element which should get focus when this TLW is activated again, changes
virtual void WXDoUpdatePendingFocus(wxWindow* win) wxOVERRIDE
virtual void WXSetPendingFocus(wxWindow* win) wxOVERRIDE
{
m_winLastFocused = win;
}