summaryrefslogtreecommitdiff
path: root/scene/gui
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 /scene/gui
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.
Diffstat (limited to 'scene/gui')
-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);