diff options
author | William Deurwaarder <william.git@xs4all.nl> | 2021-09-03 00:33:50 +0200 |
---|---|---|
committer | William Deurwaarder <william.git@xs4all.nl> | 2021-09-03 00:33:50 +0200 |
commit | b92347c2201832421cd4e986dff6c7824791bc2b (patch) | |
tree | f9ef0f0a90a53d81138882d238cc6fc7c00487c9 | |
parent | b73e7623c82f27f6327922217ad72198223a7109 (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.cpp | 2 |
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); |