diff --git a/packages/flutter/lib/src/widgets/overscroll_indicator.dart b/packages/flutter/lib/src/widgets/overscroll_indicator.dart index 83fee2b526..266cf2123d 100644 --- a/packages/flutter/lib/src/widgets/overscroll_indicator.dart +++ b/packages/flutter/lib/src/widgets/overscroll_indicator.dart @@ -117,12 +117,14 @@ class GlowingOverscrollIndicator extends StatefulWidget { class _GlowingOverscrollIndicatorState extends State with TickerProviderStateMixin { _GlowController _leadingController; _GlowController _trailingController; + Listenable _leadingAndTrailingListener; @override void initState() { super.initState(); _leadingController = new _GlowController(vsync: this, color: widget.color, axis: widget.axis); _trailingController = new _GlowController(vsync: this, color: widget.color, axis: widget.axis); + _leadingAndTrailingListener = new Listenable.merge([_leadingController, _trailingController]); } @override @@ -210,6 +212,7 @@ class _GlowingOverscrollIndicatorState extends State leadingController: widget.showLeading ? _leadingController : null, trailingController: widget.showTrailing ? _trailingController : null, axisDirection: widget.axisDirection, + repaint: _leadingAndTrailingListener, ), child: new RepaintBoundary( child: widget.child, @@ -444,8 +447,9 @@ class _GlowingOverscrollIndicatorPainter extends CustomPainter { this.leadingController, this.trailingController, this.axisDirection, + Listenable repaint, }) : super( - repaint: new Listenable.merge([leadingController, trailingController]) + repaint: repaint, ); /// The controller for the overscroll glow on the side with negative scroll offsets.