diff --git a/lib/src/models/documents/nodes/node.dart b/lib/src/models/documents/nodes/node.dart index 6bb0fb97..08335727 100644 --- a/lib/src/models/documents/nodes/node.dart +++ b/lib/src/models/documents/nodes/node.dart @@ -53,6 +53,9 @@ abstract class Node extends LinkedListEntry { /// Offset in characters of this node in the document. int get documentOffset { + if (parent == null) { + return offset; + } final parentOffset = (parent is! Root) ? parent!.documentOffset : 0; return parentOffset + offset; } diff --git a/lib/src/widgets/text_line.dart b/lib/src/widgets/text_line.dart index 04a9567d..b03c0f9b 100644 --- a/lib/src/widgets/text_line.dart +++ b/lib/src/widgets/text_line.dart @@ -625,11 +625,11 @@ class RenderEditableTextLine extends RenderEditableBox { final verticalPadding = _resolvedPadding!.top + _resolvedPadding!.bottom; final leadingWidth = _leading == null ? 0 - : _leading!.getMinIntrinsicWidth(height - verticalPadding) as int; + : _leading!.getMinIntrinsicWidth(height - verticalPadding).floor(); final bodyWidth = _body == null ? 0 : _body!.getMinIntrinsicWidth(math.max(0, height - verticalPadding)) - as int; + .floor(); return horizontalPadding + leadingWidth + bodyWidth; } @@ -640,11 +640,11 @@ class RenderEditableTextLine extends RenderEditableBox { final verticalPadding = _resolvedPadding!.top + _resolvedPadding!.bottom; final leadingWidth = _leading == null ? 0 - : _leading!.getMaxIntrinsicWidth(height - verticalPadding) as int; + : _leading!.getMaxIntrinsicWidth(height - verticalPadding).ceil(); final bodyWidth = _body == null ? 0 : _body!.getMaxIntrinsicWidth(math.max(0, height - verticalPadding)) - as int; + .ceil(); return horizontalPadding + leadingWidth + bodyWidth; }