Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix crash when closing a window with Alt+F4 in multi-win Flutter on Windows #56501

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

hbatagelo
Copy link
Contributor

Fixes #158450.

As mentioned in #158450, the crash occurs because a destroyed object may be accessed if the window and view have already been destroyed by the time KeyEventCallback is called. This issue is not limited to the Alt+F4 system key; it may also occur if the window is closed using other key presses, such as pressing Enter after navigating to a dialog's "Close" button.

This PR proposes a fix that checks whether the view ID is still valid when the callback is invoked. If the view is invalid, the event is skipped for that view.

A unit test has been added to assert that the KeyEventCallback is invoked when the associated view is valid, and not invoked when the view is destroyed.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide and the C++, Objective-C, Java style guides.
  • I listed at least one issue that this PR fixes in the description above.
  • I added new tests to check the change I am making or feature I am adding, or the PR is test-exempt. See testing the engine for instructions on writing and running engine tests.
  • I updated/added relevant documentation (doc comments with ///).
  • I signed the CLA.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Windows] Alt+F4 may crash the engine when using multiple windows on Windows
1 participant