File tree Expand file tree Collapse file tree 3 files changed +10
-2
lines changed Expand file tree Collapse file tree 3 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -1659,6 +1659,7 @@ class TextPainter {
16591659 ///
16601660 /// After disposal this painter is unusable.
16611661 void dispose () {
1662+ assert (! debugDisposed);
16621663 assert (() {
16631664 _disposed = true ;
16641665 return true ;
Original file line number Diff line number Diff line change @@ -109,9 +109,10 @@ mixin DebugOverflowIndicatorMixin on RenderObject {
109109 );
110110 static final Paint _labelBackgroundPaint = Paint ()..color = const Color (0xFFFFFFFF );
111111
112- final List <TextPainter > _indicatorLabel = List <TextPainter >.filled (
112+ final List <TextPainter > _indicatorLabel = List <TextPainter >.generate (
113113 _OverflowSide .values.length,
114- TextPainter (textDirection: TextDirection .ltr), // This label is in English.
114+ (int i) => TextPainter (textDirection: TextDirection .ltr), // This label is in English.
115+ growable: false ,
115116 );
116117
117118 @override
Original file line number Diff line number Diff line change @@ -1429,6 +1429,12 @@ void main() {
14291429 expect (painter.debugDisposed, true );
14301430 });
14311431
1432+ test ('TextPainter - asserts if disposed more than once' , () {
1433+ final TextPainter painter = TextPainter ()..dispose ();
1434+ expect (painter.debugDisposed, isTrue);
1435+ expect (painter.dispose, throwsAssertionError);
1436+ });
1437+
14321438 test ('TextPainter computeWidth' , () {
14331439 const InlineSpan text = TextSpan (text: 'foobar' );
14341440 final TextPainter painter = TextPainter (text: text, textDirection: TextDirection .ltr);
You can’t perform that action at this time.
0 commit comments