From 2eb46801cb8122b6767d5d756a4c4e608049694c Mon Sep 17 00:00:00 2001 From: Paulo Gomes Date: Wed, 30 Aug 2017 19:35:38 +0100 Subject: [PATCH] second attempt on fixing the indent glitch. I've reverted the first attempt (https://github.com/godotengine/godot/pull/10653). I was very naive and didn't consider that the glitch happens also if you're not in the first column, ex. if you have 2 tabs and press return in between them. Hope this will solve the problem without messing anything else. --- scene/gui/text_edit.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 7a9daea73ed..7b93393851a 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -2113,15 +2113,15 @@ void TextEdit::_gui_input(const Ref &p_gui_input) { //keep indentation int space_count = 0; - for (int i = 0; i < text[cursor.line].length(); i++) { - if (text[cursor.line][i] == '\t' && cursor.column > 0) { + for (int i = 0; i < cursor.column; i++) { + if (text[cursor.line][i] == '\t') { if (indent_using_spaces) { ins += space_indent; } else { ins += "\t"; } space_count = 0; - } else if (text[cursor.line][i] == ' ' && cursor.column > 0) { + } else if (text[cursor.line][i] == ' ') { space_count++; if (space_count == indent_size) {