Browse Source

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.
FalseHonesty 5 years ago
parent
commit
061938206a
1 changed files with 3 additions and 1 deletions
  1. 3 1
      Libraries/LibGUI/TextEditor.cpp

+ 3 - 1
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();
+        }
     }
 }