File tree 3 files changed +10
-2
lines changed 3 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -1659,6 +1659,7 @@ class TextPainter {
1659
1659
///
1660
1660
/// After disposal this painter is unusable.
1661
1661
void dispose () {
1662
+ assert (! debugDisposed);
1662
1663
assert (() {
1663
1664
_disposed = true ;
1664
1665
return true ;
Original file line number Diff line number Diff line change @@ -109,9 +109,10 @@ mixin DebugOverflowIndicatorMixin on RenderObject {
109
109
);
110
110
static final Paint _labelBackgroundPaint = Paint ()..color = const Color (0xFFFFFFFF );
111
111
112
- final List <TextPainter > _indicatorLabel = List <TextPainter >.filled (
112
+ final List <TextPainter > _indicatorLabel = List <TextPainter >.generate (
113
113
_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 ,
115
116
);
116
117
117
118
@override
Original file line number Diff line number Diff line change @@ -1429,6 +1429,12 @@ void main() {
1429
1429
expect (painter.debugDisposed, true );
1430
1430
});
1431
1431
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
+
1432
1438
test ('TextPainter computeWidth' , () {
1433
1439
const InlineSpan text = TextSpan (text: 'foobar' );
1434
1440
final TextPainter painter = TextPainter (text: text, textDirection: TextDirection .ltr);
You can’t perform that action at this time.
0 commit comments