summaryrefslogtreecommitdiffstats
path: root/scene/gui/text_edit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/text_edit.cpp')
-rw-r--r--scene/gui/text_edit.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index 308250c592..cd1450b879 100644
--- a/scene/gui/text_edit.cpp
+++ b/scene/gui/text_edit.cpp
@@ -7690,7 +7690,11 @@ void TextEdit::_insert_text(int p_line, int p_char, const String &p_text, int *r
op.version = ++version;
op.chain_forward = false;
op.chain_backward = false;
- op.start_carets = carets;
+ if (next_operation_is_complex) {
+ op.start_carets = current_op.start_carets;
+ } else {
+ op.start_carets = carets;
+ }
op.end_carets = carets;
// See if it should just be set as current op.
@@ -7745,7 +7749,11 @@ void TextEdit::_remove_text(int p_from_line, int p_from_column, int p_to_line, i
op.version = ++version;
op.chain_forward = false;
op.chain_backward = false;
- op.start_carets = carets;
+ if (next_operation_is_complex) {
+ op.start_carets = current_op.start_carets;
+ } else {
+ op.start_carets = carets;
+ }
op.end_carets = carets;
// See if it should just be set as current op.