From 7d2b01132d4668fac288f214ceb8327cbf7a7bb0 Mon Sep 17 00:00:00 2001 From: fzyzcjy <5236035+fzyzcjy@users.noreply.github.com> Date: Wed, 16 Nov 2022 08:06:51 +0800 Subject: [PATCH] Fix logic error in `markNeedsPaint` (#112735) * Update object.dart * Update object.dart * Update object.dart * Update object.dart * Update object.dart --- packages/flutter/lib/src/rendering/object.dart | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/flutter/lib/src/rendering/object.dart b/packages/flutter/lib/src/rendering/object.dart index 0528cc2902..c3aa820850 100644 --- a/packages/flutter/lib/src/rendering/object.dart +++ b/packages/flutter/lib/src/rendering/object.dart @@ -2627,10 +2627,13 @@ abstract class RenderObject extends AbstractNode with DiagnosticableTreeMixin im } return true; }()); - // If we're the root of the render tree (probably a RenderView), - // then we have to paint ourselves, since nobody else can paint - // us. We don't add ourselves to _nodesNeedingPaint in this - // case, because the root is always told to paint regardless. + // If we are the root of the render tree and not a repaint boundary + // then we have to paint ourselves, since nobody else can paint us. + // We don't add ourselves to _nodesNeedingPaint in this case, + // because the root is always told to paint regardless. + // + // Trees rooted at a RenderView do not go through this + // code path because RenderViews are repaint boundaries. if (owner != null) { owner!.requestVisualUpdate(); }