diff options
author | Paulb23 <p_batty@hotmail.co.uk> | 2016-05-05 16:27:05 +0100 |
---|---|---|
committer | Paulb23 <p_batty@hotmail.co.uk> | 2016-05-05 16:27:05 +0100 |
commit | accc2a195bdcb79628650a61e6d9a3e408c37d19 (patch) | |
tree | 0b4cfe3834b1892a2cb8fbf9d0507ffc8757ea6f | |
parent | 9487a9b3c25f23942561eba20edce24f4be6f148 (diff) |
Fixed autocomplete truncate, issue 4554
-rw-r--r-- | scene/gui/text_edit.cpp | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 05f7725a92..a8c9a2372b 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -1659,35 +1659,27 @@ void TextEdit::_input_event(const InputEvent& p_input_event) { if (k.unicode>32) { - if (cursor.column<text[cursor.line].length() && text[cursor.line][cursor.column]==k.unicode) { - //same char, move ahead - cursor_set_column(cursor.column+1); - + const CharType chr[2] = {(CharType)k.unicode, 0}; + if(auto_brace_completion_enabled && _is_pair_symbol(chr[0])) { + _consume_pair_symbol(chr[0]); } else { - //different char, go back - const CharType chr[2] = {(CharType)k.unicode, 0}; - if(auto_brace_completion_enabled && _is_pair_symbol(chr[0])) { - _consume_pair_symbol(chr[0]); - } else { - // remove the old character if in insert mode - if (insert_mode) { - begin_complex_operation(); + // remove the old character if in insert mode + if (insert_mode) { + begin_complex_operation(); - // make sure we don't try and remove empty space - if (cursor.column < get_line(cursor.line).length()) { - _remove_text(cursor.line, cursor.column, cursor.line, cursor.column + 1); - } + // make sure we don't try and remove empty space + if (cursor.column < get_line(cursor.line).length()) { + _remove_text(cursor.line, cursor.column, cursor.line, cursor.column + 1); } + } - _insert_text_at_cursor(chr); + _insert_text_at_cursor(chr); - if (insert_mode) { - end_complex_operation(); - } + if (insert_mode) { + end_complex_operation(); } } - _update_completion_candidates(); accept_event(); |