Skip to content

Conversation

@chunhtai
Copy link
Contributor

When swapping out delegate of selectioncontainer, if the newly passed in delegate doesn't have any selectable content(which is usually the case), the selectioncontainerstate will notify all of the listeners. One of the listener would be SelectionRegistrant._updateSelectionRegistrarSubscription, and since it doesn't have content, it would remove itself from the listener which causes concurrent modification

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.

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

@flutter-dashboard flutter-dashboard bot added a: tests "flutter test", flutter_test, or one of our tests framework flutter/packages/flutter repository. See also f: labels. labels Apr 11, 2023
@chunhtai chunhtai requested a review from justinmc April 11, 2023 21:21
Copy link
Contributor

@justinmc justinmc left a comment

Choose a reason for hiding this comment

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

LGTM, but there are test failures. Not sure if they have to do with this or not.

@chunhtai chunhtai added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 12, 2023
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 13, 2023
@auto-submit
Copy link
Contributor

auto-submit bot commented Apr 13, 2023

auto label is removed for flutter/flutter, pr: 124624, due to - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label.

@chunhtai
Copy link
Contributor Author

waiting CL to land cl/524029250

@chunhtai chunhtai added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 17, 2023
@auto-submit
Copy link
Contributor

auto-submit bot commented Apr 17, 2023

auto label is removed for flutter/flutter, pr: 124624, due to - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label.

@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 17, 2023
@chunhtai chunhtai added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 17, 2023
@auto-submit auto-submit bot merged commit cc9ffd3 into flutter:master Apr 17, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 18, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 18, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 18, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 18, 2023
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Apr 18, 2023
flutter/flutter@15cb1f8...42fb0b2

2023-04-18 [email protected] Fix text theme dart fix cases (flutter/flutter#125052)
2023-04-18 [email protected] Update the copy icon in snippets and samples to use the standard one (flutter/flutter#123651)
2023-04-18 [email protected] Remove unused context parameter (flutter/flutter#124254)
2023-04-18 [email protected] iOS spell check cursor placement (flutter/flutter#124875)
2023-04-18 [email protected] Roll Flutter Engine from d2973619074e to 55bb065c607b (1 revision) (flutter/flutter#125047)
2023-04-18 [email protected] Stop running "_impeller_" benchmark variants (flutter/flutter#125044)
2023-04-18 [email protected] Roll Packages from 0277f2a to faf53fb (7 revisions) (flutter/flutter#125040)
2023-04-18 [email protected] Roll Flutter Engine from c4396f9f602f to d2973619074e (6 revisions) (flutter/flutter#125039)
2023-04-18 [email protected] Roll pub packages (flutter/flutter#125005)
2023-04-18 [email protected] [InputDatePickerFormField] adds acceptEmptyDate to InputDatePickerFormField Widget (flutter/flutter#124143)
2023-04-18 [email protected] relayout active ListWheelScrollView children every performLayout (flutter/flutter#124476)
2023-04-18 [email protected] Roll Flutter Engine from 4a603aaff32e to c4396f9f602f (2 revisions) (flutter/flutter#125007)
2023-04-18 [email protected] Roll Flutter Engine from 20034a8d62c4 to 4a603aaff32e (2 revisions) (flutter/flutter#125004)
2023-04-18 [email protected] Add optional axis specifier to static scrollable methods (flutter/flutter#124894)
2023-04-17 [email protected] Update usage of standalone`pub` executable in flutter_tools testing docs (flutter/flutter#124898)
2023-04-17 [email protected] Add Harish Anbalagan to AUTHORS (flutter/flutter#124684)
2023-04-17 [email protected] Roll Flutter Engine from b2d07388ceb6 to 20034a8d62c4 (7 revisions) (flutter/flutter#125001)
2023-04-17 [email protected] Add an example for SearchBar (flutter/flutter#124992)
2023-04-17 [email protected] SelectionContainer's listeners can remove itself during listener callâ�¦ (flutter/flutter#124624)

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
auto-submit bot pushed a commit that referenced this pull request Apr 19, 2023
…125140)

The regression was caused by the previous pr #124624 changes postframecallback to scheduleframecallback. The reason is that if a new postframecallback was scheduled when running a postframecallback. The newly added postframecallback will be execute on the next frame. However, adding postframecallback will not schedule a new frame. So if there isn't other widget that schedule a new frame, the newly added postframecallback will never gets run.

After changing to scheduleframecallback, it causes an issue that transient callback may be called when rendering tree contains dirty layout information that are waiting to be rebuilt.

Therefore, I use microtask to get around of the postframecallback issue instead of scheduleframecallback.

fixes #125065
nploi pushed a commit to nploi/packages that referenced this pull request Jul 16, 2023
flutter/flutter@15cb1f8...42fb0b2

2023-04-18 [email protected] Fix text theme dart fix cases (flutter/flutter#125052)
2023-04-18 [email protected] Update the copy icon in snippets and samples to use the standard one (flutter/flutter#123651)
2023-04-18 [email protected] Remove unused context parameter (flutter/flutter#124254)
2023-04-18 [email protected] iOS spell check cursor placement (flutter/flutter#124875)
2023-04-18 [email protected] Roll Flutter Engine from d2973619074e to 55bb065c607b (1 revision) (flutter/flutter#125047)
2023-04-18 [email protected] Stop running "_impeller_" benchmark variants (flutter/flutter#125044)
2023-04-18 [email protected] Roll Packages from 0277f2a to faf53fb (7 revisions) (flutter/flutter#125040)
2023-04-18 [email protected] Roll Flutter Engine from c4396f9f602f to d2973619074e (6 revisions) (flutter/flutter#125039)
2023-04-18 [email protected] Roll pub packages (flutter/flutter#125005)
2023-04-18 [email protected] [InputDatePickerFormField] adds acceptEmptyDate to InputDatePickerFormField Widget (flutter/flutter#124143)
2023-04-18 [email protected] relayout active ListWheelScrollView children every performLayout (flutter/flutter#124476)
2023-04-18 [email protected] Roll Flutter Engine from 4a603aaff32e to c4396f9f602f (2 revisions) (flutter/flutter#125007)
2023-04-18 [email protected] Roll Flutter Engine from 20034a8d62c4 to 4a603aaff32e (2 revisions) (flutter/flutter#125004)
2023-04-18 [email protected] Add optional axis specifier to static scrollable methods (flutter/flutter#124894)
2023-04-17 [email protected] Update usage of standalone`pub` executable in flutter_tools testing docs (flutter/flutter#124898)
2023-04-17 [email protected] Add Harish Anbalagan to AUTHORS (flutter/flutter#124684)
2023-04-17 [email protected] Roll Flutter Engine from b2d07388ceb6 to 20034a8d62c4 (7 revisions) (flutter/flutter#125001)
2023-04-17 [email protected] Add an example for SearchBar (flutter/flutter#124992)
2023-04-17 [email protected] SelectionContainer's listeners can remove itself during listener callâ�¦ (flutter/flutter#124624)

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: tests "flutter test", flutter_test, or one of our tests autosubmit Merge PR when tree becomes green via auto submit App framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants