Skip to content

Dispose overlay entries - #132826

Merged
tgucio merged 10 commits into
flutter:masterfrom
tgucio:dispose-overlay-entries
Aug 25, 2023
Merged

tgucio merged 10 commits into
flutter:masterfrom
tgucio:dispose-overlay-entries

Conversation

@tgucio

@tgucio tgucio commented Aug 18, 2023

Copy link
Copy Markdown
Contributor

As OverlayEntry implements a Listenable that is e.g. subscribed to by the Navigator, it should be disposed when no longer used. This PR adds the missing dispose() calls in all the places I could find they were missing.

Test-exempt: adding missing dispose() methods without other functional changes

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], including [Features we expect every widget to implement].
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • All existing and new tests are passing.

@flutter-dashboard

Copy link
Copy Markdown

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@github-actions github-actions Bot added a: text input Entering text in a text field or keyboard related problems framework flutter/packages/flutter repository. See also f: labels. p: material_ui material_ui package in flutter/packages p: cupertino_ui cupertino_ui package in flutter/packages d: api docs Issues with https://api.flutter.dev/ d: examples Sample code and demos labels Aug 18, 2023
@navaronbracke

Copy link
Copy Markdown
Contributor

Would this unblock removing the leak tracking config overrides on some testWidgetsWithLeakTracking() usages?

This PR does not modify any tests, hence why I'm asking.

@tgucio

tgucio commented Aug 18, 2023

Copy link
Copy Markdown
Contributor Author

@navaronbracke This might be a good question for @polina-c :)

@justinmc justinmc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM 👍

Thanks for cleaning this up!

);

_overlayEntry = OverlayEntry(
_overlayEntry = OverlayEntry(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Good catch on the space 👾

@justinmc

Copy link
Copy Markdown
Contributor

@polina-c Is there a way to test these changes using your leak tracking tests? Or should it be test exempt?

@polina-c

Copy link
Copy Markdown
Contributor

OverlayEntry is not instrumented to be tracked for leaks yet. So, not yet. Added it to list of classes to instrument.

@Hixie

Hixie commented Aug 25, 2023

Copy link
Copy Markdown
Contributor

test-exempt: will be tracked

is there a bug# to follow that work?

engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 25, 2023
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Aug 25, 2023
flutter/flutter@deeb811...61d9f55

2023-08-25 [email protected] Update flutter packages to pick up latest vm_service (flutter/flutter#133335)
2023-08-25 [email protected] Roll Flutter Engine from 00f532dcaef4 to 33fca02451ef (1 revision) (flutter/flutter#133337)
2023-08-25 [email protected] Roll Flutter Engine from cb58abd77326 to 00f532dcaef4 (3 revisions) (flutter/flutter#133333)
2023-08-25 [email protected] Fix `PopupMenuItem` with a `ListTile` doesn't use the correct style. (flutter/flutter#133141)
2023-08-25 [email protected] Fix `Chip.shape`'s side is not used when provided in Material 3 (flutter/flutter#132941)
2023-08-25 [email protected] Dispose overlay entries (flutter/flutter#132826)
2023-08-25 [email protected] Roll Flutter Engine from 0f8962208a44 to cb58abd77326 (3 revisions) (flutter/flutter#133320)
2023-08-25 [email protected] Roll Flutter Engine from 09e620d26834 to 0f8962208a44 (2 revisions) (flutter/flutter#133309)
2023-08-25 [email protected] Roll Flutter Engine from 9bcefc74b772 to 09e620d26834 (1 revision) (flutter/flutter#133307)
2023-08-25 [email protected] Roll Flutter Engine from 1382d6d79408 to 9bcefc74b772 (2 revisions) (flutter/flutter#133305)
2023-08-25 [email protected] Allow passing verbose log from flutter daemon. (flutter/flutter#132828)
2023-08-25 [email protected] Roll Flutter Engine from b8ec4da8866c to 1382d6d79408 (1 revision) (flutter/flutter#133298)
2023-08-25 [email protected] Roll Flutter Engine from 965501a25d92 to b8ec4da8866c (11 revisions) (flutter/flutter#133296)
2023-08-24 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 3.5.3 to 3.6.0 (flutter/flutter#133281)
2023-08-24 [email protected] Update the tool to know about all our new platforms (flutter/flutter#132423)
2023-08-24 [email protected] l10n-related documentation improvements (flutter/flutter#133114)
2023-08-24 [email protected] Add hover duration for `Inkwell` widget (flutter/flutter#132176)
2023-08-24 [email protected] [web] benchmark the benchmark harness overhead (flutter/flutter#132999)
2023-08-24 [email protected] Users of ChangeNotifier should dispatch event of object creation in constructor. (flutter/flutter#133210)
2023-08-24 49699333+dependabot[bot]@users.noreply.github.com Bump activesupport from 6.1.7.3 to 6.1.7.6 in /dev/ci/mac (flutter/flutter#133225)
2023-08-24 [email protected] Remove `ImageProvider.load`, `DecoderCallback` and `PaintingBinding.instantiateImageCodec` (flutter/flutter#132679)
2023-08-24 [email protected] Roll Flutter Engine from aa98a9d2e86f to 965501a25d92 (24 revisions) (flutter/flutter#133272)
2023-08-24 [email protected] handle exceptions raised while searching for configured android studio (flutter/flutter#133180)
2023-08-24 [email protected] Fix mac tool_integration_tests with Xcode 15 (flutter/flutter#133217)
2023-08-24 [email protected] Roll Packages from 3060b1a to 383bffa (3 revisions) (flutter/flutter#133256)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 15, 2023
creatorpiyush pushed a commit to creatorpiyush/packages that referenced this pull request Jun 10, 2026
flutter/flutter@deeb811...61d9f55

2023-08-25 [email protected] Update flutter packages to pick up latest vm_service (flutter/flutter#133335)
2023-08-25 [email protected] Roll Flutter Engine from 00f532dcaef4 to 33fca02451ef (1 revision) (flutter/flutter#133337)
2023-08-25 [email protected] Roll Flutter Engine from cb58abd77326 to 00f532dcaef4 (3 revisions) (flutter/flutter#133333)
2023-08-25 [email protected] Fix `PopupMenuItem` with a `ListTile` doesn't use the correct style. (flutter/flutter#133141)
2023-08-25 [email protected] Fix `Chip.shape`'s side is not used when provided in Material 3 (flutter/flutter#132941)
2023-08-25 [email protected] Dispose overlay entries (flutter/flutter#132826)
2023-08-25 [email protected] Roll Flutter Engine from 0f8962208a44 to cb58abd77326 (3 revisions) (flutter/flutter#133320)
2023-08-25 [email protected] Roll Flutter Engine from 09e620d26834 to 0f8962208a44 (2 revisions) (flutter/flutter#133309)
2023-08-25 [email protected] Roll Flutter Engine from 9bcefc74b772 to 09e620d26834 (1 revision) (flutter/flutter#133307)
2023-08-25 [email protected] Roll Flutter Engine from 1382d6d79408 to 9bcefc74b772 (2 revisions) (flutter/flutter#133305)
2023-08-25 [email protected] Allow passing verbose log from flutter daemon. (flutter/flutter#132828)
2023-08-25 [email protected] Roll Flutter Engine from b8ec4da8866c to 1382d6d79408 (1 revision) (flutter/flutter#133298)
2023-08-25 [email protected] Roll Flutter Engine from 965501a25d92 to b8ec4da8866c (11 revisions) (flutter/flutter#133296)
2023-08-24 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 3.5.3 to 3.6.0 (flutter/flutter#133281)
2023-08-24 [email protected] Update the tool to know about all our new platforms (flutter/flutter#132423)
2023-08-24 [email protected] l10n-related documentation improvements (flutter/flutter#133114)
2023-08-24 [email protected] Add hover duration for `Inkwell` widget (flutter/flutter#132176)
2023-08-24 [email protected] [web] benchmark the benchmark harness overhead (flutter/flutter#132999)
2023-08-24 [email protected] Users of ChangeNotifier should dispatch event of object creation in constructor. (flutter/flutter#133210)
2023-08-24 49699333+dependabot[bot]@users.noreply.github.com Bump activesupport from 6.1.7.3 to 6.1.7.6 in /dev/ci/mac (flutter/flutter#133225)
2023-08-24 [email protected] Remove `ImageProvider.load`, `DecoderCallback` and `PaintingBinding.instantiateImageCodec` (flutter/flutter#132679)
2023-08-24 [email protected] Roll Flutter Engine from aa98a9d2e86f to 965501a25d92 (24 revisions) (flutter/flutter#133272)
2023-08-24 [email protected] handle exceptions raised while searching for configured android studio (flutter/flutter#133180)
2023-08-24 [email protected] Fix mac tool_integration_tests with Xcode 15 (flutter/flutter#133217)
2023-08-24 [email protected] Roll Packages from 3060b1a to 383bffa (3 revisions) (flutter/flutter#133256)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
bisor0627 pushed a commit to bisor0627/packages that referenced this pull request Jun 19, 2026
flutter/flutter@deeb811...61d9f55

2023-08-25 [email protected] Update flutter packages to pick up latest vm_service (flutter/flutter#133335)
2023-08-25 [email protected] Roll Flutter Engine from 00f532dcaef4 to 33fca02451ef (1 revision) (flutter/flutter#133337)
2023-08-25 [email protected] Roll Flutter Engine from cb58abd77326 to 00f532dcaef4 (3 revisions) (flutter/flutter#133333)
2023-08-25 [email protected] Fix `PopupMenuItem` with a `ListTile` doesn't use the correct style. (flutter/flutter#133141)
2023-08-25 [email protected] Fix `Chip.shape`'s side is not used when provided in Material 3 (flutter/flutter#132941)
2023-08-25 [email protected] Dispose overlay entries (flutter/flutter#132826)
2023-08-25 [email protected] Roll Flutter Engine from 0f8962208a44 to cb58abd77326 (3 revisions) (flutter/flutter#133320)
2023-08-25 [email protected] Roll Flutter Engine from 09e620d26834 to 0f8962208a44 (2 revisions) (flutter/flutter#133309)
2023-08-25 [email protected] Roll Flutter Engine from 9bcefc74b772 to 09e620d26834 (1 revision) (flutter/flutter#133307)
2023-08-25 [email protected] Roll Flutter Engine from 1382d6d79408 to 9bcefc74b772 (2 revisions) (flutter/flutter#133305)
2023-08-25 [email protected] Allow passing verbose log from flutter daemon. (flutter/flutter#132828)
2023-08-25 [email protected] Roll Flutter Engine from b8ec4da8866c to 1382d6d79408 (1 revision) (flutter/flutter#133298)
2023-08-25 [email protected] Roll Flutter Engine from 965501a25d92 to b8ec4da8866c (11 revisions) (flutter/flutter#133296)
2023-08-24 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 3.5.3 to 3.6.0 (flutter/flutter#133281)
2023-08-24 [email protected] Update the tool to know about all our new platforms (flutter/flutter#132423)
2023-08-24 [email protected] l10n-related documentation improvements (flutter/flutter#133114)
2023-08-24 [email protected] Add hover duration for `Inkwell` widget (flutter/flutter#132176)
2023-08-24 [email protected] [web] benchmark the benchmark harness overhead (flutter/flutter#132999)
2023-08-24 [email protected] Users of ChangeNotifier should dispatch event of object creation in constructor. (flutter/flutter#133210)
2023-08-24 49699333+dependabot[bot]@users.noreply.github.com Bump activesupport from 6.1.7.3 to 6.1.7.6 in /dev/ci/mac (flutter/flutter#133225)
2023-08-24 [email protected] Remove `ImageProvider.load`, `DecoderCallback` and `PaintingBinding.instantiateImageCodec` (flutter/flutter#132679)
2023-08-24 [email protected] Roll Flutter Engine from aa98a9d2e86f to 965501a25d92 (24 revisions) (flutter/flutter#133272)
2023-08-24 [email protected] handle exceptions raised while searching for configured android studio (flutter/flutter#133180)
2023-08-24 [email protected] Fix mac tool_integration_tests with Xcode 15 (flutter/flutter#133217)
2023-08-24 [email protected] Roll Packages from 6f55c61 to abdcaab (3 revisions) (flutter/flutter#133256)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: text input Entering text in a text field or keyboard related problems d: api docs Issues with https://api.flutter.dev/ d: examples Sample code and demos framework flutter/packages/flutter repository. See also f: labels. p: cupertino_ui cupertino_ui package in flutter/packages p: material_ui material_ui package in flutter/packages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants