mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
If a StatefulComponent marks itself dirty, gets rebuilt, then its parent gets rebuilt, its parent will find that its child is from a newer generation and hasn't changed. Previously, we considered two stateful nodes to not be syncable even if they were the same; combined with the way the "old" node looks like it's been put elsewhere (since it's already been synced), we end up confused as to why the new node is already mounted. This fixes the problem by making the canSync logic consider two identical nodes as syncable (since they are; syncChild() short-circuits that case), and by changing syncChildren to consider identical nodes as matches even if they are already synced.
Sky
For information about using the latest stable release of Sky, please see the package/sky/ directory.
For more information about the Sky framework, see the package/sky/lib/ directory.
For details about the internals of Sky's engine, see the engine/ directory.
For information about contributing to Sky, please see CONTRIBUTING.md.