summaryrefslogtreecommitdiffstats
path: root/scene/gui/code_edit.cpp
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/code_edit.cpp
parentb73e7623c82f27f6327922217ad72198223a7109 (diff)
downloadredot-engine-b92347c2201832421cd4e986dff6c7824791bc2b.tar.gz
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/code_edit.cpp')
-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);