From 72c459bcfc472ee052249009128ebcca32b1fe5e Mon Sep 17 00:00:00 2001 From: Ian Hickson Date: Thu, 31 May 2018 22:47:25 -0700 Subject: [PATCH] Fix crash when painting empty tables (#17952) --- packages/flutter/lib/src/rendering/table.dart | 6 ++++-- packages/flutter/test/widgets/table_test.dart | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/flutter/lib/src/rendering/table.dart b/packages/flutter/lib/src/rendering/table.dart index 6261b893d9..722e5ac20d 100644 --- a/packages/flutter/lib/src/rendering/table.dart +++ b/packages/flutter/lib/src/rendering/table.dart @@ -1119,8 +1119,10 @@ class RenderTable extends RenderBox { void paint(PaintingContext context, Offset offset) { assert(_children.length == rows * columns); if (rows * columns == 0) { - final Rect borderRect = new Rect.fromLTWH(offset.dx, offset.dy, size.width, 0.0); - border.paint(context.canvas, borderRect, rows: const [], columns: const []); + if (border != null) { + final Rect borderRect = new Rect.fromLTWH(offset.dx, offset.dy, size.width, 0.0); + border.paint(context.canvas, borderRect, rows: const [], columns: const []); + } return; } assert(_rowTops.length == rows + 1); diff --git a/packages/flutter/test/widgets/table_test.dart b/packages/flutter/test/widgets/table_test.dart index 130a3b8b77..0abfaf2578 100644 --- a/packages/flutter/test/widgets/table_test.dart +++ b/packages/flutter/test/widgets/table_test.dart @@ -19,6 +19,14 @@ class TestStatefulWidgetState extends State { } void main() { + testWidgets('Table widget - empty', (WidgetTester tester) async { + await tester.pumpWidget( + new Directionality( + textDirection: TextDirection.ltr, + child: new Table(), + ), + ); + }); testWidgets('Table widget - control test', (WidgetTester tester) async { Future run(TextDirection textDirection) async { await tester.pumpWidget(