From 061938206a53992707ca123ef7224a0f517e147c Mon Sep 17 00:00:00 2001 From: FalseHonesty Date: Fri, 29 May 2020 15:43:06 -0400 Subject: [PATCH] LibGUI: Fix cursor being out of view after typing Previously, if the cursor moved out of the visible area while text was being inserted, the text editor would never scroll the cursor back into view until the arrow keys were pressed to move the cursor. This was caused by the TextEditor's reflow deferral system stopping visual line recomputation until the end of text insertion, so now when reflow deferral is completed, the TextEditor will make sure the cursor is visible. --- Libraries/LibGUI/TextEditor.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Libraries/LibGUI/TextEditor.cpp b/Libraries/LibGUI/TextEditor.cpp index 29fa597fdd4..b5cdf78a0f2 100644 --- a/Libraries/LibGUI/TextEditor.cpp +++ b/Libraries/LibGUI/TextEditor.cpp @@ -1244,8 +1244,10 @@ void TextEditor::undefer_reflow() { ASSERT(m_reflow_deferred); if (!--m_reflow_deferred) { - if (m_reflow_requested) + if (m_reflow_requested) { recompute_all_visual_lines(); + scroll_cursor_into_view(); + } } }