Skip to content

Vertical tree healing #193

Description

@FlutterIssues

Issue by Hixie
Thursday Oct 08, 2015 at 18:28 GMT
Originally opened as https://github.com/flutter/engine/issues/1544


When you want to add or remove gesture detection, it's intuitive to think that the following should all be equivalent:

  • Having a test in the handlers.
  • Having a test in the build function that decides whether to set the handlers.
  • Having a test in the build function that decides whether to have a GestureDetector at all.
  • Having a test in the build function that decides whether to have a GestureDetector at all, where the child of the GestureDetector is a KeyedSubtree with a new GlobalObjectKey(this).

The first two and the fourth are in fact equivalent (the second is slightly slower, the fourth slightly slower still), but the third is not. The third will cause all kinds of state to drop.

We should fix that. Until we do, we should document the heck out of it.

Activity

  1. added this to the milestone on Dec 12, 2015
  2. abarth commented on Feb 1, 2016

    @abarth
    Contributor

    I'm pretty happy with the "state follows global keys" design we ended up with.

  3. github-actions commented on Aug 17, 2021

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  4. locked as resolved and limited conversation to collaborators on Aug 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    c: new featureNothing broken; request for a new capabilityframeworkflutter/packages/flutter repository. See also f: labels.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions