diff options
Diffstat (limited to 'scene')
-rw-r--r-- | scene/gui/text_edit.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 5b13e1da0b..4ee69d336f 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -2731,7 +2731,10 @@ void TextEdit::insert_line_at(int p_at, const String &p_text) { } void TextEdit::insert_text_at_caret(const String &p_text) { - begin_complex_operation(); + bool had_selection = has_selection(); + if (had_selection) { + begin_complex_operation(); + } delete_selection(); @@ -2743,7 +2746,9 @@ void TextEdit::insert_text_at_caret(const String &p_text) { set_caret_column(new_column); update(); - end_complex_operation(); + if (had_selection) { + end_complex_operation(); + } } void TextEdit::remove_text(int p_from_line, int p_from_column, int p_to_line, int p_to_column) { |