summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Deurwaarder <william.git@xs4all.nl>2021-09-03 00:33:50 +0200
committerWilliam Deurwaarder <william.git@xs4all.nl>2021-09-03 00:33:50 +0200
commitb92347c2201832421cd4e986dff6c7824791bc2b (patch)
treef9ef0f0a90a53d81138882d238cc6fc7c00487c9
parentb73e7623c82f27f6327922217ad72198223a7109 (diff)
Fix incorrectly removing two characters by auto brace
In some situations when there were no braces auto brace still removed two characters. This has been fixed by adding a test that a brace is found.
-rw-r--r--scene/gui/code_edit.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/scene/gui/code_edit.cpp b/scene/gui/code_edit.cpp
index 5f3ab18cca..d1ce0084f0 100644
--- a/scene/gui/code_edit.cpp
+++ b/scene/gui/code_edit.cpp
@@ -1937,7 +1937,7 @@ void CodeEdit::confirm_code_completion(bool p_replace) {
if (pre_brace_pair == -1 && post_brace_pair == -1 && get_caret_column() > 0 && get_caret_column() < get_line(caret_line).length()) {
pre_brace_pair = _get_auto_brace_pair_open_at_pos(caret_line, get_caret_column() + 1);
- if (pre_brace_pair == _get_auto_brace_pair_close_at_pos(caret_line, get_caret_column() - 1)) {
+ if (pre_brace_pair != -1 && pre_brace_pair == _get_auto_brace_pair_close_at_pos(caret_line, get_caret_column() - 1)) {
remove_text(caret_line, get_caret_column() - 2, caret_line, get_caret_column());
if (_get_auto_brace_pair_close_at_pos(caret_line, get_caret_column() - 1) != pre_brace_pair) {
set_caret_column(get_caret_column() - 1);