diff --git a/packages/flutter/lib/src/rendering/paragraph.dart b/packages/flutter/lib/src/rendering/paragraph.dart index 7cd9eb65d0..62791b992b 100644 --- a/packages/flutter/lib/src/rendering/paragraph.dart +++ b/packages/flutter/lib/src/rendering/paragraph.dart @@ -98,7 +98,7 @@ class RenderParagraph extends RenderBox { return; _overflow = value; _textPainter.ellipsis = value == TextOverflow.ellipsis ? _kEllipsis : null; - markNeedsPaint(); + markNeedsLayout(); } /// The number of font pixels for each logical pixel. diff --git a/packages/flutter/test/rendering/paragraph_test.dart b/packages/flutter/test/rendering/paragraph_test.dart index 081e11c60b..327157f9f7 100644 --- a/packages/flutter/test/rendering/paragraph_test.dart +++ b/packages/flutter/test/rendering/paragraph_test.dart @@ -140,6 +140,10 @@ void main() { relayoutWith(maxLines: 3, softWrap: true, overflow: TextOverflow.fade); expect(paragraph.debugHasOverflowShader, isTrue); + // Change back to ellipsis and check that the fade shader is cleared. + relayoutWith(maxLines: 3, softWrap: true, overflow: TextOverflow.ellipsis); + expect(paragraph.debugHasOverflowShader, isFalse); + relayoutWith(maxLines: 100, softWrap: true, overflow: TextOverflow.fade); expect(paragraph.debugHasOverflowShader, isFalse); });