From c5db596c78b1e8c81ab38b96a1888cce82998210 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 27 Jan 2020 22:58:50 +0100 Subject: [PATCH] LibGUI: Fix crash when trying to scroll above the head of the document We can't go higher than line 0. Can't rely on max() here since line numbers are unsigned. Fixes #1145. --- Libraries/LibGUI/GTextEditor.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Libraries/LibGUI/GTextEditor.cpp b/Libraries/LibGUI/GTextEditor.cpp index ef041c5ca9..baccab38c7 100644 --- a/Libraries/LibGUI/GTextEditor.cpp +++ b/Libraries/LibGUI/GTextEditor.cpp @@ -650,7 +650,8 @@ void GTextEditor::keydown_event(GKeyEvent& event) } if (event.key() == KeyCode::Key_PageUp) { if (m_cursor.line() > 0) { - size_t new_line = max((size_t)0, m_cursor.line() - (size_t)visible_content_rect().height() / (size_t)line_height()); + size_t page_step = (size_t)visible_content_rect().height() / (size_t)line_height(); + size_t new_line = m_cursor.line() < page_step ? 0 : m_cursor.line() - page_step; size_t new_column = min(m_cursor.column(), line(new_line).length()); toggle_selection_if_needed_for_event(event); set_cursor(new_line, new_column);