Skip to content

Conversation

@goderbauer
Copy link
Member

Fixes #142480.

This fixes a crash occurring during hot reload when a ViewAnchor is used between a ParentDataWidget (like Positioned) and its closest RenderObject descendant. Prior to the fix, the ParentDataWidget was accidentally applying its parent data to the render object in the ViewAnchor.view slot, which crashed because that render object wasn't (and shouldn't be) setup to accept parent data (after all, it is in a different render tree). Instead, the parent data should only be applied to the render object in the ViewAnchor.child slot. Luckily, with Element.renderObjectAttachingChild we already have API in place to walk the widget tree such as that only RenderObjectWidgets from the same render tree are considered.

@github-actions github-actions bot added the framework flutter/packages/flutter repository. See also f: labels. label Jan 29, 2024
...parentDataWidget._debugDescribeIncorrectParentDataType(
parentData: renderObject.parentData,
parentDataCreator: _ancestorRenderObjectElement!.widget as RenderObjectWidget,
parentDataCreator: _ancestorRenderObjectElement?.widget as RenderObjectWidget?,
Copy link
Member Author

Choose a reason for hiding this comment

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

The ! was originally hiding the real failure. Since parentDataCreator is allowed to be null, I changed this to ? to get the real failure message right away should we run into a similar problem elsewhere.

Copy link
Contributor

@gspencergoog gspencergoog left a comment

Choose a reason for hiding this comment

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

32384589-a60f0e74-c078-11e7-9bc1-e5b5287aea9d

@goderbauer goderbauer added the autosubmit Merge PR when tree becomes green via auto submit App label Jan 31, 2024
@auto-submit auto-submit bot merged commit 3da5ff5 into flutter:master Jan 31, 2024
@goderbauer goderbauer deleted the multiViewParentData branch January 31, 2024 19:23
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 1, 2024
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Feb 1, 2024
Manual roll Flutter from c65ab4d to e02e207 (38 revisions)

Manual roll requested by [email protected]

flutter/flutter@c65ab4d...e02e207

2024-02-01 [email protected] Roll Flutter Engine from f4fbabf1eb9f to 68943afd62d1 (9 revisions) (flutter/flutter#142690)
2024-02-01 [email protected] Introduce tone-based surfaces and accent color add-ons - Part 1 (flutter/flutter#142654)
2024-02-01 [email protected] improve error message when `--base-href` argument does not start with `/` (flutter/flutter#142667)
2024-02-01 [email protected] Roll Flutter Engine from c4247c5e31ba to f4fbabf1eb9f (1 revision) (flutter/flutter#142675)
2024-02-01 [email protected] Roll Flutter Engine from c83617eee093 to c4247c5e31ba (3 revisions) (flutter/flutter#142662)
2024-02-01 [email protected] [Impeller] opt vulkan tests into GPU tracing. (flutter/flutter#142649)
2024-02-01 [email protected] Convert button `.icon` and `.tonalIcon` constructors to take nullable icons. (flutter/flutter#142644)
2024-02-01 [email protected] Fix token usages on Regular Chip and Action Chip (flutter/flutter#141701)
2024-02-01 [email protected] Added ButtonStyle.foregroundBuilder and ButtonStyle.backgroundBuilder (flutter/flutter#141818)
2024-01-31 [email protected] Roll Flutter Engine from 5b89189b8b5f to c83617eee093 (2 revisions) (flutter/flutter#142656)
2024-01-31 [email protected] [flutter_tools] add debugging to ios/core_devices.dart (flutter/flutter#142187)
2024-01-31 [email protected] Fix showDialog docs (flutter/flutter#142458)
2024-01-31 49699333+dependabot[bot]@users.noreply.github.com Bump peter-evans/create-pull-request from 5.0.2 to 6.0.0 (flutter/flutter#142650)
2024-01-31 [email protected] Roll Flutter Engine from 20e53614c16c to 5b89189b8b5f (2 revisions) (flutter/flutter#142640)
2024-01-31 [email protected] Refactor ShaderTarget to not explicitly mention impeller or Skia (flutter/flutter#141460)
2024-01-31 [email protected] Roll Flutter Engine from 9ccd81d7595b to 20e53614c16c (3 revisions) (flutter/flutter#142628)
2024-01-31 [email protected] Show Mac Designed For iPad in 'flutter devices' (flutter/flutter#141718)
2024-01-31 [email protected] Marks Mac_arm64_ios basic_material_app_ios__compile to be unflaky (flutter/flutter#142594)
2024-01-31 [email protected] Fix ParentDataWidget crash for  multi view scenarios (flutter/flutter#142486)
2024-01-31 [email protected] Roll Flutter Engine from e0d8f472a1b6 to 9ccd81d7595b (1 revision) (flutter/flutter#142625)
2024-01-31 [email protected] Marks Mac_arm64 tool_tests_commands to be unflaky (flutter/flutter#142593)
2024-01-31 [email protected] "System back gesture" explanation (flutter/flutter#142254)
2024-01-31 [email protected] Marks Mac_x64 tool_tests_commands to be unflaky (flutter/flutter#142592)
2024-01-31 [email protected] Marks Mac_x64_ios integration_test_test_ios to be unflaky (flutter/flutter#142595)
2024-01-31 [email protected] Marks Mac_x64 native_ui_tests_macos to be unflaky (flutter/flutter#142598)
2024-01-31 [email protected] Marks Mac_x64_ios hot_mode_dev_cycle_ios__benchmark to be unflaky (flutter/flutter#142597)
2024-01-31 [email protected] Marks Mac_arm64 native_ui_tests_macos to be unflaky (flutter/flutter#142599)
2024-01-31 [email protected] Marks Windows_android hot_mode_dev_cycle_win__benchmark to be flaky (flutter/flutter#142609)
2024-01-31 [email protected] Marks Mac_arm64_ios integration_test_test_ios to be unflaky (flutter/flutter#142596)
2024-01-31 [email protected] Mark test that leaks image. (flutter/flutter#142539)
2024-01-31 [email protected] Roll Flutter Engine from b9bc256156b8 to e0d8f472a1b6 (1 revision) (flutter/flutter#142623)
2024-01-31 [email protected] Fix unresponsive mouse tooltip (flutter/flutter#142282)
2024-01-31 [email protected] Marks Linux_android_emu android_defines_test to be unflaky (flutter/flutter#142591)
2024-01-31 [email protected] Roll Flutter Engine from 447dd212447e to b9bc256156b8 (6 revisions) (flutter/flutter#142617)
2024-01-31 [email protected] Roll Packages from 25abb5d to 5b48c44 (4 revisions) (flutter/flutter#142616)
2024-01-31 [email protected] Fix null operator error when tapping on 'MenuItemButton' (flutter/flutter#142230)
2024-01-31 [email protected] Roll Flutter Engine from 8e7df85f7d11 to 447dd212447e (2 revisions) (flutter/flutter#142587)
2024-01-31 [email protected] Split out AppBar/SliverAppBar material tests (flutter/flutter#142560)

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] on the revert to ensure that a human
is aware of the problem.
...
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

Hot reload crashes with multiple views

2 participants