From 5526ea4febee98738dfc3dd37ceed2835851388e Mon Sep 17 00:00:00 2001 From: Huan Du Date: Wed, 24 Jul 2024 23:09:30 +0800 Subject: [PATCH] fix: invalid selection when tapping placeholder text (#2062) --- lib/src/editor/editor.dart | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/src/editor/editor.dart b/lib/src/editor/editor.dart index 104f7172..a46fba7e 100644 --- a/lib/src/editor/editor.dart +++ b/lib/src/editor/editor.dart @@ -10,6 +10,7 @@ import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; import '../common/utils/platform.dart'; +import '../document/attribute.dart'; import '../document/document.dart'; import '../document/nodes/container.dart' as container_node; import '../document/nodes/leaf.dart'; @@ -985,6 +986,13 @@ class RenderEditor extends RenderEditableContainerBox start: localWord.start + nodeOffset, end: localWord.end + nodeOffset, ); + + // Don't change selection if the selected word is a placeholder. + if (child.container.style.attributes + .containsKey(Attribute.placeholder.key)) { + return; + } + if (position.offset - word.start <= 1 && word.end != position.offset) { _handleSelectionChange( TextSelection.collapsed(offset: word.start),