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 năm trước cách đây
mục cha
commit
061938206a
1 tập tin đã thay đổi với 3 bổ sung1 xóa
  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();
+        }
     }
 }