From 02f7e03a6632182b2765da61182e9912dd826cbe Mon Sep 17 00:00:00 2001 From: Alfred Reinold Baudisch Date: Tue, 6 Dec 2022 10:23:11 +0100 Subject: [PATCH] Cancels the code complete timer when the caret moves to another line Fixes and closes #68961 --- editor/code_editor.cpp | 5 +++++ editor/code_editor.h | 1 + 2 files changed, 6 insertions(+) diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index 926c01b334e..7ae0db7b48b 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -873,6 +873,10 @@ void CodeTextEditor::_reset_zoom() { } void CodeTextEditor::_line_col_changed() { + if (!code_complete_timer->is_stopped() && code_complete_timer_line != text_editor->get_caret_line()) { + code_complete_timer->stop(); + } + String line = text_editor->get_line(text_editor->get_caret_line()); int positional_column = 0; @@ -902,6 +906,7 @@ void CodeTextEditor::_line_col_changed() { void CodeTextEditor::_text_changed() { if (text_editor->is_insert_text_operation()) { + code_complete_timer_line = text_editor->get_caret_line(); code_complete_timer->start(); } diff --git a/editor/code_editor.h b/editor/code_editor.h index ded75182875..4d7034fbd00 100644 --- a/editor/code_editor.h +++ b/editor/code_editor.h @@ -158,6 +158,7 @@ class CodeTextEditor : public VBoxContainer { Label *info = nullptr; Timer *idle = nullptr; Timer *code_complete_timer = nullptr; + int code_complete_timer_line = 0; Timer *font_resize_timer = nullptr; int font_resize_val;