diff options
Diffstat (limited to 'Userland')
-rw-r--r-- | Userland/Libraries/LibLine/InternalFunctions.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Userland/Libraries/LibLine/InternalFunctions.cpp b/Userland/Libraries/LibLine/InternalFunctions.cpp index fa8d95da5c..162e01dbee 100644 --- a/Userland/Libraries/LibLine/InternalFunctions.cpp +++ b/Userland/Libraries/LibLine/InternalFunctions.cpp @@ -25,6 +25,7 @@ */ #include <AK/StringBuilder.h> +#include <AK/TemporaryChange.h> #include <LibLine/Editor.h> #include <ctype.h> #include <stdio.h> @@ -260,7 +261,7 @@ void Editor::enter_search() // Move the search prompt below ours and tell it to redraw itself. auto prompt_end_line = current_prompt_metrics().lines_with_addition(m_cached_buffer_metrics, m_num_columns); - search_editor.set_origin(prompt_end_line + 1, 1); + search_editor.set_origin(prompt_end_line + m_origin_row, 1); search_editor.m_refresh_needed = true; }; @@ -300,9 +301,12 @@ void Editor::enter_search() fprintf(stderr, "\033[3J\033[H\033[2J"); // Clear screen. // refresh our own prompt - set_origin(1, 1); - m_refresh_needed = true; - refresh_display(); + { + TemporaryChange refresh_change { m_always_refresh, true }; + set_origin(1, 1); + m_refresh_needed = true; + refresh_display(); + } // move the search prompt below ours // and tell it to redraw itself |