From 223c8cafd475c45f0bf3c7ed010b8e5dde32943d Mon Sep 17 00:00:00 2001 From: Vincent Chan Date: Wed, 10 Aug 2022 18:07:25 +0800 Subject: [PATCH] fix: crashes when deleting emoji --- .../internal_key_event_handlers/delete_text_handler.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/app_flowy/packages/flowy_editor/lib/src/service/internal_key_event_handlers/delete_text_handler.dart b/frontend/app_flowy/packages/flowy_editor/lib/src/service/internal_key_event_handlers/delete_text_handler.dart index 1bb6872ff4..5e2fdfd453 100644 --- a/frontend/app_flowy/packages/flowy_editor/lib/src/service/internal_key_event_handlers/delete_text_handler.dart +++ b/frontend/app_flowy/packages/flowy_editor/lib/src/service/internal_key_event_handlers/delete_text_handler.dart @@ -25,7 +25,7 @@ FlowyKeyEventHandler deleteTextHandler = (editorState, event) { TransactionBuilder transactionBuilder = TransactionBuilder(editorState); if (textNodes.length == 1) { final textNode = textNodes.first; - final index = selection.start.offset - 1; + final index = textNode.delta.prevRunePosition(selection.start.offset); if (index < 0) { // 1. style if (textNode.subtype != null) { @@ -62,8 +62,8 @@ FlowyKeyEventHandler deleteTextHandler = (editorState, event) { if (selection.isCollapsed) { transactionBuilder.deleteText( textNode, - selection.start.offset - 1, - 1, + index, + selection.start.offset - index, ); } else { transactionBuilder.deleteText(