Unverified Commit 85d42fb3 authored by xster's avatar xster Committed by GitHub

Wrap route transitions above the transition as well to prevent repaints (#15534)

parent 2609876c
...@@ -466,19 +466,23 @@ class _ModalScopeState extends State<_ModalScope> { ...@@ -466,19 +466,23 @@ class _ModalScopeState extends State<_ModalScope> {
offstage: widget.route.offstage, offstage: widget.route.offstage,
child: new IgnorePointer( child: new IgnorePointer(
ignoring: widget.route.animation?.status == AnimationStatus.reverse, ignoring: widget.route.animation?.status == AnimationStatus.reverse,
child: widget.route.buildTransitions( // Keep the transition between repaint boundaries so we don't trigger
context, // deep repaints of the render tree above or below the transition.
widget.route.animation, child: new RepaintBoundary(
widget.route.secondaryAnimation, child: widget.route.buildTransitions(
new RepaintBoundary( context,
child: new PageStorage( widget.route.animation,
key: widget.route._subtreeKey, widget.route.secondaryAnimation,
bucket: widget.route._storageBucket, new RepaintBoundary(
child: new _ModalScopeStatus( child: new PageStorage(
route: widget.route, key: widget.route._subtreeKey,
isCurrent: widget.route.isCurrent, bucket: widget.route._storageBucket,
canPop: widget.route.canPop, child: new _ModalScopeStatus(
child: widget.page, route: widget.route,
isCurrent: widget.route.isCurrent,
canPop: widget.route.canPop,
child: widget.page,
),
), ),
), ),
), ),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment