• Todd Volkert's avatar
    Fix FocusManager constructor (#75894) · 835c7fab
    Todd Volkert authored
    The FocusManager constructor was registering global event handlers
    on the shared RawKeyboard instance and the global pointer router.
    This posed a few problems: (1) there was no way to unregister these
    handlers, and (2) instantiating a second FocusManager would overwrite
    the existing focus manager's RawKeyboard handler. This was manifesting
    in unexpected ways, such as the fact that constructing a second
    BuildOwner (for a parallel tree, for instance) was obliterating the
    event handler for the main BuildOwner's focus manager, thus messing
    with focus.
    
    This change separates those global event registrations into a
    dedicated method, registerGlobalHandlers(), and overrides dispose()
    to properly unregister those handlers.
    835c7fab
Name
Last commit
Last update
.github Loading commit data...
bin Loading commit data...
dev Loading commit data...
examples Loading commit data...
packages Loading commit data...
.cirrus.yml Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CODEOWNERS Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE Loading commit data...
PATENT_GRANT Loading commit data...
README.md Loading commit data...
SECURITY.md Loading commit data...
analysis_options.yaml Loading commit data...
dartdoc_options.yaml Loading commit data...
flutter_console.bat Loading commit data...