Fix crasher in DragableScrollableSheet when controller is animating and switching widgets#125721
Fix crasher in DragableScrollableSheet when controller is animating and switching widgets#125721auto-submit[bot] merged 1 commit intoflutter:masterfrom
Conversation
…nd switching widgets
| expect(controller.isAttached, true); | ||
| expect(controller.size, isNotNull); | ||
| }); | ||
| }); |
There was a problem hiding this comment.
(I was looking at these tests initially - no actually changes here, just fixing the whitespace)
| expect(controller2.isAttached, false); | ||
|
|
||
|
|
||
| controller1.animateTo(0.5, curve: Curves.linear, duration: const Duration(milliseconds: 200)); |
There was a problem hiding this comment.
This is the key difference between the test above this one - in the test above, jumpTo is called instead of animateTo. jumpTo doesn't have any ongoing state/actions between the didUpdateWidget, whereas animateTo does.
There was a problem hiding this comment.
I am curious why this is a collection. I think we only need one controller instead of creating a new one every time and caching it, which will cause memory overhead and leaks.
Piinks
left a comment
There was a problem hiding this comment.
This LGTM. Thank you for finding this!
|
auto label is removed for flutter/flutter, pr: 125721, due to - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label. |
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
Manual roll Flutter from 66fa4c5 to 828a040 (79 revisions) Manual roll requested by [email protected] flutter/flutter@66fa4c5...828a040 2023-05-01 [email protected] Roll Flutter Engine from 666bc34c61aa to 687f4c761db1 (2 revisions) (flutter/flutter#125818) 2023-05-01 [email protected] Revert "Add migrator to upgrade gradle version when conflict with And… (flutter/flutter#125813) 2023-05-01 [email protected] Roll pub packages (flutter/flutter#125801) 2023-05-01 [email protected] [tools] fix `expect` calls in `FakeCommand` (flutter/flutter#125783) 2023-05-01 [email protected] Roll Packages from 7e3f5da to de6131d (41 revisions) (flutter/flutter#125811) 2023-05-01 [email protected] Introduce `TabBar.tabAlignment` (flutter/flutter#125036) 2023-05-01 [email protected] Roll Flutter Engine from b0da68e7e024 to 666bc34c61aa (1 revision) (flutter/flutter#125805) 2023-05-01 [email protected] add support to customize Slider interacivity (flutter/flutter#121483) 2023-05-01 [email protected] Roll Flutter Engine from b4551c72487c to b0da68e7e024 (1 revision) (flutter/flutter#125800) 2023-05-01 [email protected] Roll Flutter Engine from 605528f293d0 to b4551c72487c (1 revision) (flutter/flutter#125795) 2023-05-01 [email protected] Roll Flutter Engine from bba66b658cee to 605528f293d0 (2 revisions) (flutter/flutter#125793) 2023-05-01 [email protected] Roll Flutter Engine from 2fa61b91d7c2 to bba66b658cee (1 revision) (flutter/flutter#125791) 2023-05-01 [email protected] Roll Flutter Engine from 30c91b8180e7 to 2fa61b91d7c2 (1 revision) (flutter/flutter#125789) 2023-05-01 [email protected] Roll Flutter Engine from d76a22e67eea to 30c91b8180e7 (1 revision) (flutter/flutter#125787) 2023-05-01 [email protected] [tools] Apply Android Studio version detection logic to explicitly configured installation directory (`flutter config --android-studio-dir`) (flutter/flutter#125596) 2023-04-30 [email protected] Roll Flutter Engine from f234d5e1dd26 to d76a22e67eea (1 revision) (flutter/flutter#125776) 2023-04-30 [email protected] Roll Flutter Engine from c796390d14cb to f234d5e1dd26 (1 revision) (flutter/flutter#125773) 2023-04-30 [email protected] Roll Flutter Engine from e99f31f4437d to c796390d14cb (1 revision) (flutter/flutter#125762) 2023-04-30 [email protected] Roll Flutter Engine from 1942b0c2cd9a to e99f31f4437d (1 revision) (flutter/flutter#125758) 2023-04-30 [email protected] Roll Flutter Engine from 7806f8a4fb4c to 1942b0c2cd9a (1 revision) (flutter/flutter#125757) 2023-04-29 [email protected] Roll Flutter Engine from 8167f909bc8d to 7806f8a4fb4c (2 revisions) (flutter/flutter#125750) 2023-04-29 [email protected] Roll Flutter Engine from 900b8a89b73b to 8167f909bc8d (1 revision) (flutter/flutter#125748) 2023-04-29 [email protected] Roll Flutter Engine from c56ea398b0dc to 900b8a89b73b (1 revision) (flutter/flutter#125747) 2023-04-29 [email protected] Roll Flutter Engine from 0834c886f06a to c56ea398b0dc (1 revision) (flutter/flutter#125746) 2023-04-29 [email protected] Roll Flutter Engine from 68f2ed0a1db5 to 0834c886f06a (1 revision) (flutter/flutter#125736) 2023-04-29 [email protected] Roll Flutter Engine from 0079bb4a20d0 to 68f2ed0a1db5 (1 revision) (flutter/flutter#125735) 2023-04-29 [email protected] Fix crasher in DragableScrollableSheet when controller is animating and switching widgets (flutter/flutter#125721) 2023-04-29 [email protected] Roll Flutter Engine from 8f04b29c1b98 to 0079bb4a20d0 (2 revisions) (flutter/flutter#125734) 2023-04-29 [email protected] Roll Flutter Engine from 788d0ed5ed06 to 8f04b29c1b98 (1 revision) (flutter/flutter#125731) 2023-04-29 [email protected] Roll Flutter Engine from 89a8affdced0 to 788d0ed5ed06 (1 revision) (flutter/flutter#125729) 2023-04-29 [email protected] Roll Flutter Engine from 3835d975c8b0 to 89a8affdced0 (2 revisions) (flutter/flutter#125725) 2023-04-29 [email protected] Roll Flutter Engine from 1ae848ce6b55 to 3835d975c8b0 (1 revision) (flutter/flutter#125722) 2023-04-29 [email protected] fix package template create platform folders (flutter/flutter#125292) 2023-04-28 [email protected] Sliver Cross Axis Group (flutter/flutter#123862) 2023-04-28 [email protected] Roll Flutter Engine from 2a84ea55e4ef to 1ae848ce6b55 (1 revision) (flutter/flutter#125718) 2023-04-28 [email protected] Remove bringup from new_gallery_skia_ios__transition_perf (flutter/flutter#125715) 2023-04-28 [email protected] Roll Flutter Engine from 98b6fabc66bb to 2a84ea55e4ef (10 revisions) (flutter/flutter#125714) 2023-04-28 [email protected] Opt into CMake policy CMP0135 (flutter/flutter#125502) 2023-04-28 [email protected] Add a channel to query the engine keyboard state (flutter/flutter#122885) 2023-04-28 [email protected] Roll pub packages (flutter/flutter#125698) 2023-04-28 [email protected] `Checkbox.fillColor` should be applied to checkbox's background color when it is unchecked. (flutter/flutter#125643) 2023-04-28 [email protected] Add back one Skia test on iOS (flutter/flutter#125663) 2023-04-28 [email protected] Roll pub packages (flutter/flutter#125447) 2023-04-28 [email protected] Nit: grammar in documentation (flutter/flutter#125462) ...
) Manual roll Flutter from 66fa4c5 to 828a040 (79 revisions) Manual roll requested by [email protected] flutter/flutter@66fa4c5...828a040 2023-05-01 [email protected] Roll Flutter Engine from 666bc34c61aa to 687f4c761db1 (2 revisions) (flutter/flutter#125818) 2023-05-01 [email protected] Revert "Add migrator to upgrade gradle version when conflict with And… (flutter/flutter#125813) 2023-05-01 [email protected] Roll pub packages (flutter/flutter#125801) 2023-05-01 [email protected] [tools] fix `expect` calls in `FakeCommand` (flutter/flutter#125783) 2023-05-01 [email protected] Roll Packages from 7e3f5da to de6131d (41 revisions) (flutter/flutter#125811) 2023-05-01 [email protected] Introduce `TabBar.tabAlignment` (flutter/flutter#125036) 2023-05-01 [email protected] Roll Flutter Engine from b0da68e7e024 to 666bc34c61aa (1 revision) (flutter/flutter#125805) 2023-05-01 [email protected] add support to customize Slider interacivity (flutter/flutter#121483) 2023-05-01 [email protected] Roll Flutter Engine from b4551c72487c to b0da68e7e024 (1 revision) (flutter/flutter#125800) 2023-05-01 [email protected] Roll Flutter Engine from 605528f293d0 to b4551c72487c (1 revision) (flutter/flutter#125795) 2023-05-01 [email protected] Roll Flutter Engine from bba66b658cee to 605528f293d0 (2 revisions) (flutter/flutter#125793) 2023-05-01 [email protected] Roll Flutter Engine from 2fa61b91d7c2 to bba66b658cee (1 revision) (flutter/flutter#125791) 2023-05-01 [email protected] Roll Flutter Engine from 30c91b8180e7 to 2fa61b91d7c2 (1 revision) (flutter/flutter#125789) 2023-05-01 [email protected] Roll Flutter Engine from d76a22e67eea to 30c91b8180e7 (1 revision) (flutter/flutter#125787) 2023-05-01 [email protected] [tools] Apply Android Studio version detection logic to explicitly configured installation directory (`flutter config --android-studio-dir`) (flutter/flutter#125596) 2023-04-30 [email protected] Roll Flutter Engine from f234d5e1dd26 to d76a22e67eea (1 revision) (flutter/flutter#125776) 2023-04-30 [email protected] Roll Flutter Engine from c796390d14cb to f234d5e1dd26 (1 revision) (flutter/flutter#125773) 2023-04-30 [email protected] Roll Flutter Engine from e99f31f4437d to c796390d14cb (1 revision) (flutter/flutter#125762) 2023-04-30 [email protected] Roll Flutter Engine from 1942b0c2cd9a to e99f31f4437d (1 revision) (flutter/flutter#125758) 2023-04-30 [email protected] Roll Flutter Engine from 7806f8a4fb4c to 1942b0c2cd9a (1 revision) (flutter/flutter#125757) 2023-04-29 [email protected] Roll Flutter Engine from 8167f909bc8d to 7806f8a4fb4c (2 revisions) (flutter/flutter#125750) 2023-04-29 [email protected] Roll Flutter Engine from 900b8a89b73b to 8167f909bc8d (1 revision) (flutter/flutter#125748) 2023-04-29 [email protected] Roll Flutter Engine from c56ea398b0dc to 900b8a89b73b (1 revision) (flutter/flutter#125747) 2023-04-29 [email protected] Roll Flutter Engine from 0834c886f06a to c56ea398b0dc (1 revision) (flutter/flutter#125746) 2023-04-29 [email protected] Roll Flutter Engine from 68f2ed0a1db5 to 0834c886f06a (1 revision) (flutter/flutter#125736) 2023-04-29 [email protected] Roll Flutter Engine from 0079bb4a20d0 to 68f2ed0a1db5 (1 revision) (flutter/flutter#125735) 2023-04-29 [email protected] Fix crasher in DragableScrollableSheet when controller is animating and switching widgets (flutter/flutter#125721) 2023-04-29 [email protected] Roll Flutter Engine from 8f04b29c1b98 to 0079bb4a20d0 (2 revisions) (flutter/flutter#125734) 2023-04-29 [email protected] Roll Flutter Engine from 788d0ed5ed06 to 8f04b29c1b98 (1 revision) (flutter/flutter#125731) 2023-04-29 [email protected] Roll Flutter Engine from 89a8affdced0 to 788d0ed5ed06 (1 revision) (flutter/flutter#125729) 2023-04-29 [email protected] Roll Flutter Engine from 3835d975c8b0 to 89a8affdced0 (2 revisions) (flutter/flutter#125725) 2023-04-29 [email protected] Roll Flutter Engine from 1ae848ce6b55 to 3835d975c8b0 (1 revision) (flutter/flutter#125722) 2023-04-29 [email protected] fix package template create platform folders (flutter/flutter#125292) 2023-04-28 [email protected] Sliver Cross Axis Group (flutter/flutter#123862) 2023-04-28 [email protected] Roll Flutter Engine from 2a84ea55e4ef to 1ae848ce6b55 (1 revision) (flutter/flutter#125718) 2023-04-28 [email protected] Remove bringup from new_gallery_skia_ios__transition_perf (flutter/flutter#125715) 2023-04-28 [email protected] Roll Flutter Engine from 98b6fabc66bb to 2a84ea55e4ef (10 revisions) (flutter/flutter#125714) 2023-04-28 [email protected] Opt into CMake policy CMP0135 (flutter/flutter#125502) 2023-04-28 [email protected] Add a channel to query the engine keyboard state (flutter/flutter#122885) 2023-04-28 [email protected] Roll pub packages (flutter/flutter#125698) 2023-04-28 [email protected] `Checkbox.fillColor` should be applied to checkbox's background color when it is unchecked. (flutter/flutter#125643) 2023-04-28 [email protected] Add back one Skia test on iOS (flutter/flutter#125663) 2023-04-28 [email protected] Roll pub packages (flutter/flutter#125447) 2023-04-28 [email protected] Nit: grammar in documentation (flutter/flutter#125462) ...
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
…mating and switching widgets (flutter/flutter#125721)
We were failing to dispose of animation controllers created by
animateTowhendidUpdateWidgethappens and we null out the_attachedController. This would cause the listener added here to fail on a null assertion:flutter/packages/flutter/lib/src/widgets/draggable_scrollable_sheet.dart
Line 135 in fef41cf
Without the code change, the test ends up throwing exceptions related to that line. I don't have a great way to verify what this does visually though, hoping for help on that from internal customer.
b/279930163
See cl/527868355 as well.
Fixes #125709