Skip to content

[CP] Revert re-matching DropdownMenu.initialSelection #161176

@nate-thegrate

Description

@nate-thegrate

Issue Links

#160196, #160555

Target

stable

Cherry pick PR Link

#161177

Changelog Description

Passing a list literal to a DropdownMenu causes the widget to reset to the initialSelection after each build.

Impacted Users

This affects anyone using the DropdownMenu widget.

Impact Description

The impact usually consists of the text value being inconveniently reset each time the widget is rebuilt. (In some cases it can be a fatal crash: the code sample from #160196 shows how this change can lead to an infinite build loop.)

Workaround

This regression can be mitigated by caching & modifying a single list instance, rather than using a list literal for the DropdownMenu constructor.

Risk

low

Test Coverage

yes

Validation Steps

#160643 added a regression test for this revert.

The fix can also be verified by running the code sample from #160196 and verifying that there is no infinite build loop.

Metadata

Metadata

Labels

c: regressionIt was better in the past than it is nowcp: reviewCherry-picks in the review queuef: material designflutter/packages/flutter/material repository.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions