diff --git a/lib/src/widgets/text_line.dart b/lib/src/widgets/text_line.dart index 3d4e02e0..2d743d3b 100644 --- a/lib/src/widgets/text_line.dart +++ b/lib/src/widgets/text_line.dart @@ -1107,6 +1107,19 @@ class RenderEditableTextLine extends RenderEditableBox { _selectedRects ??= _body!.getBoxesForSelection( local, ); + + // Paint a small rect at the start of empty lines that + // are contained by the selection. + if (line.isEmpty && + textSelection.baseOffset <= line.offset && + textSelection.extentOffset > line.offset + ) { + final lineHeight = + preferredLineHeight(TextPosition(offset: line.offset)); + _selectedRects?.add( + TextBox.fromLTRBD(0, 0, 3, lineHeight, textDirection)); + } + _paintSelection(context, effectiveOffset); } }