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

Make sure FlutterViewController flushs all pending touches when no longer active #8400

Merged
merged 3 commits into from
Apr 4, 2019

Conversation

xster
Copy link
Member

@xster xster commented Apr 1, 2019

Fixes flutter/flutter#30342

Background #6145

@kangwang1988 try this. I wasn't really good at repro'ing but which this patch and your demo project, I can't reproduce the issue anymore.

Copy link
Member

@chinmaygarde chinmaygarde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From UIEvent documentation:

You should never retain an event object or any object returned from an event object. If you need to retain data outside of the responder method you use to process that data, copy that data from the UITouch or UIEvent object to your local data structures.

@xster
Copy link
Member Author

xster commented Apr 4, 2019

Thanks. Done.

@@ -39,6 +39,7 @@ @implementation FlutterViewController {
BOOL _initialized;
BOOL _viewOpaque;
BOOL _engineNeedsLaunch;
NSMutableSet* _ongoingTouches;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please add a type to this or just use an std::set<int64_t> please? Thanks.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

@xster xster merged commit 8b74cba into flutter:master Apr 4, 2019
@xster xster deleted the flush-pointers branch April 4, 2019 23:22
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Apr 5, 2019
engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Apr 5, 2019
flutter/engine@219bf59...8b74cba

git log 219bf59..8b74cba --no-merges --oneline
8b74cba Make sure FlutterViewController flushs all pending touches when no longer active (flutter/engine#8400)
06cab81 Roll src/third_party/skia e4628b10722f..51874e3e3712 (2 commits) (flutter/engine#8445)
5460926 Roll src/third_party/dart 9814cb1b9c..896f1c4bb9 (4 commits)
694fc56 Build windows engine on GCE (flutter/engine#8442)

The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff (chinmaygarde@google.com), and stop
the roller if necessary.
RBogie pushed a commit to RBogie/flutter-engine that referenced this pull request Apr 8, 2019
RBogie added a commit to RBogie/flutter-engine that referenced this pull request Apr 8, 2019
RBogie added a commit to RBogie/flutter-engine that referenced this pull request Apr 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants