@@ -472,6 +472,9 @@ class TextEditingDeltaState {
472472 final TextEditingDeltaState newTextEditingDeltaState = lastTextEditingDeltaState.copyWith ();
473473 final bool previousSelectionWasCollapsed = lastEditingState? .baseOffset == lastEditingState? .extentOffset;
474474
475+ newTextEditingDeltaState.deltaStart = lastEditingState! .extentOffset! ;
476+ newTextEditingDeltaState.deltaEnd = lastEditingState.extentOffset! ;
477+
475478 if (newTextEditingDeltaState.deltaText.isEmpty && newTextEditingDeltaState.deltaEnd != - 1 ) {
476479 // We are removing text.
477480 // When text is deleted outside of the composing region or is cut using the native toolbar,
@@ -1227,19 +1230,14 @@ abstract class DefaultTextEditingStrategy implements TextEditingStrategy {
12271230 // The deltaStart is set in handleChange because there is where we get access
12281231 // to the new selection baseOffset which is our new deltaStart.
12291232 editingDeltaState.deltaText = '' ;
1230- editingDeltaState.deltaEnd = lastEditingState! .extentOffset! ;
12311233 } else if (inputType == 'insertLineBreak' ){
12321234 // event.data is null on a line break, so we manually set deltaText as a line break by setting it to '\n'.
12331235 editingDeltaState.deltaText = '\n ' ;
1234- editingDeltaState.deltaStart = lastEditingState! .extentOffset! ;
1235- editingDeltaState.deltaEnd = lastEditingState! .extentOffset! ;
12361236 } else if (eventData != null ) {
12371237 // When event.data is not null we we will begin by considering this delta as an insertion
12381238 // at the selection extentOffset. This may change due to logic in handleChange to handle
12391239 // composition and other IME behaviors.
12401240 editingDeltaState.deltaText = eventData;
1241- editingDeltaState.deltaStart = lastEditingState! .extentOffset! ;
1242- editingDeltaState.deltaEnd = lastEditingState! .extentOffset! ;
12431241 }
12441242 }
12451243 }
0 commit comments