1. 26 Jan, 2024 1 commit
    • Amir Panahandeh's avatar
      Fix assertion failure when reordering two dimensional children (#141504) · a5ad088f
      Amir Panahandeh authored
      It fixes assertion failure due to unstable state of children list during reordering in `RenderTwoDimensionalViewport.parentDataOf`. This changes the assertion to check debug orphan list and `keepAlive` bucket in addition to children list to determine whether child belongs to this render object or not.
      
      - Fixes #141101
      a5ad088f
  2. 27 Sep, 2023 1 commit
  3. 26 Sep, 2023 1 commit
    • Kate Lovett's avatar
      Allow multiple ParentDataWidgets to write to ParentData (#133581) · 67d4a831
      Kate Lovett authored
      Fixes https://github.com/flutter/flutter/issues/133089
      
      This allows more than one ParentDataWidget to write to the ParentData of a child render object. Previously only one was allowed. There are some rules though:
      1. Only one of a given type of `ParentDataWidget` can write to the `ParentData` of a given child.
        a. For example, 2 `Positioned` widgets wrapping a child of a `Stack` would not be allowed, as only one of type `Positioned` can contribute data.
      
      2. The type of `ParentData` **must** be compatible with all of the `ParentDataWidget`s that want to contribute data.
        a. For example, `TwoDimensionalViewportParentData` mixes in the `KeepAliveParentDataMixin`. So the `ParentData` of a given child would be compatible with the `KeepAlive` `ParentDataWidget`, as well as another `ParentDataWidget` that writes `TwoDimensionalViewportParentData` (or a subclass of `TwoDimensionalViewportParentData` - This was the motivation for this change, where a `ParentDataWidget` is being used in `TableView` with the parent data type being a subclass of `TwoDimensionalViewportParentData`.)
      67d4a831
  4. 10 Aug, 2023 1 commit
    • Kate Lovett's avatar
      Keep alive support for 2D scrolling (#131641) · 0c80ed6d
      Kate Lovett authored
      Fixes https://github.com/flutter/flutter/issues/126297
      
      This adds support for keep alive to the 2D scrolling foundation. The TwoDimensionalChildBuilderDelegate and TwoDimensionalChildListDelegate will both add automatic keep alives to their children, matching the convention from SliverChildDelegates. The TwoDimensionalViewportParentData now incorporates keep alive and which is managed by the RenderTwoDimensionalViewport.
      0c80ed6d
  5. 28 Jun, 2023 1 commit
  6. 06 Jun, 2023 1 commit
  7. 26 May, 2023 1 commit