From 705c96bd7ced59453628703b224413b278dbc8b8 Mon Sep 17 00:00:00 2001 From: Xun Gong Date: Tue, 1 Jun 2021 15:49:40 -0700 Subject: [PATCH] Fix a bug that Embed could be together with Text --- lib/src/widgets/text_line.dart | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/src/widgets/text_line.dart b/lib/src/widgets/text_line.dart index d95923d3..66934479 100644 --- a/lib/src/widgets/text_line.dart +++ b/lib/src/widgets/text_line.dart @@ -37,8 +37,17 @@ class TextLine extends StatelessWidget { Widget build(BuildContext context) { assert(debugCheckHasMediaQuery(context)); - if (line.hasEmbed) { - final embed = line.children.single as Embed; + // In rare circumstances, the line could contain an Embed & a Text of + // newline, which is unexpected and probably we should find out the + // root cause + final childCount = line.childCount; + if (line.hasEmbed || + (childCount > 1 && line.children.first is Embed)) + { + if (childCount > 1) { + print('Unexpected - TextLine Embed as 1st child but multiple children'); + } + final embed = line.children.first as Embed; return EmbedProxy(embedBuilder(context, embed)); }