mirror of
https://github.com/wxWidgets/wxWidgets.git
synced 2026-09-29 10:25:27 +08:00
Remove caching of whether any of the children accept focus in wxControlContainer as it can change at any moment under Mac, due to full keyboard access being turned on and off (which can be done using Ctrl-F7, i.e. easily, and so this might be something users actually do and not just a theoretical edge case). This also incidentally fixes caching of the wrong focusability state during window initialization, when its children are not yet shown, as [NSView canBecomeKeyView:] used for AcceptsFocusFromKeyboard() implementation under Mac, apparently always returns false for hidden windows. The behaviour under the other platforms should remain the same, but AcceptsFocus() is slower now as it always has to query children instead of being able to avoid doing it when we know that none of them accepts focus anyhow. OTOH this only happens to the windows that don't accept focus themselves and, at least at some moment, don't have any children accepting focus neither, which should be quite rare and optimizing this case doesn't seem to be worth the extra code complexity due to extra preprocessor platform checks. Closes #18089.