This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Fix FlutterPlatformViewSemanticsContainer retain cycle with SemanticsObject#24308
Merged
fluttergithubbot merged 4 commits intoflutter:masterfrom Feb 9, 2021
Merged
Conversation
chunhtai
reviewed
Feb 9, 2021
Contributor
chunhtai
left a comment
There was a problem hiding this comment.
nice detective work. I left a comment on the life cycle management, the overall approach looks good
| } | ||
|
|
||
| - (void)dealloc { | ||
| [_semanticsObject release]; |
Contributor
There was a problem hiding this comment.
if the FlutterPlatformViewSemanticsContainer does not own the semantics object, it should not release it? also the property is declared as assign, it should not increase the reference count.
Contributor
There was a problem hiding this comment.
cc @gaaclarke who is more familiar with reference counting
Contributor
Author
There was a problem hiding this comment.
oops good catch! This code was there for debugging and I forgot to remove it. Removed now
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Feb 9, 2021
hjfreyer
pushed a commit
to hjfreyer/engine
that referenced
this pull request
Mar 22, 2021
This was referenced Nov 3, 2021
Merged
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
FlutterPlatformViewSemanticsContainercreated a strong reference back to theSemanticsObjectwhen constructing an NSArray in theaccessibilityElementsmethod. To avoid the retain cycle, simply replace theaccessibilityElementswith theAccessibilityContainerprotocol methods.Fixes flutter/flutter#73716
Pre-launch Checklist
writing and running engine tests.
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.