1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-26 02:05:08 +00:00

LibGUI: Fix laggy mouse selection in TextEditor widget

We were letting the automatic scrolling timer drive all selection
updates to fix an unwanted acceleration that was happening. However,
if a mousemove occurs *within* the editor widget, we should just
handle it right then and there.
This commit is contained in:
Andreas Kling 2020-04-24 19:14:22 +02:00
parent 344e66caaa
commit c350bb9178

View file

@ -301,7 +301,7 @@ void TextEditor::mouseup_event(MouseEvent& event)
void TextEditor::mousemove_event(MouseEvent& event) void TextEditor::mousemove_event(MouseEvent& event)
{ {
m_last_mousemove_position = event.position(); m_last_mousemove_position = event.position();
if (m_in_drag_select && !m_automatic_selection_scroll_timer->is_active()) { if (m_in_drag_select && (rect().contains(event.position()) || !m_automatic_selection_scroll_timer->is_active())) {
set_cursor(text_position_at(event.position())); set_cursor(text_position_at(event.position()));
m_selection.set_end(m_cursor); m_selection.set_end(m_cursor);
did_update_selection(); did_update_selection();