diff --git a/packages/flutter/lib/src/rendering/editable.dart b/packages/flutter/lib/src/rendering/editable.dart index 7952912b1b..779e38371f 100644 --- a/packages/flutter/lib/src/rendering/editable.dart +++ b/packages/flutter/lib/src/rendering/editable.dart @@ -1918,15 +1918,13 @@ class RenderEditable extends RenderBox with RelayoutWhenSystemFontsChangeMixin, bool hitTestChildren(BoxHitTestResult result, { required Offset position }) { final Offset effectivePosition = position - _paintOffset; final InlineSpan? textSpan = _textPainter.text; - if (textSpan != null) { - final TextPosition textPosition = _textPainter.getPositionForOffset(effectivePosition); - final Object? span = textSpan.getSpanForPosition(textPosition); - if (span is HitTestTarget) { + switch (textSpan?.getSpanForPosition(_textPainter.getPositionForOffset(effectivePosition))) { + case final HitTestTarget span: result.add(HitTestEntry(span)); return true; - } + case _: + return hitTestInlineChildren(result, effectivePosition); } - return hitTestInlineChildren(result, effectivePosition); } late TapGestureRecognizer _tap; diff --git a/packages/flutter/lib/src/rendering/paragraph.dart b/packages/flutter/lib/src/rendering/paragraph.dart index d53720c869..345bc75c34 100644 --- a/packages/flutter/lib/src/rendering/paragraph.dart +++ b/packages/flutter/lib/src/rendering/paragraph.dart @@ -725,12 +725,13 @@ class RenderParagraph extends RenderBox with ContainerRenderObjectMixin