From 2323b6fb74d1cc7761a7bb294cf2a52080ccd57e Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 15 Feb 2021 23:24:45 +0100 Subject: LibWeb: Use the correct DOM node when moving text cursor with mouse We should use the DOM node returned by the TextCursor hit test, and not the one we got from the earlier Exact hit test. --- Userland/Libraries/LibWeb/Page/EventHandler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Userland/Libraries/LibWeb') diff --git a/Userland/Libraries/LibWeb/Page/EventHandler.cpp b/Userland/Libraries/LibWeb/Page/EventHandler.cpp index d239a1f5f0..b88e760860 100644 --- a/Userland/Libraries/LibWeb/Page/EventHandler.cpp +++ b/Userland/Libraries/LibWeb/Page/EventHandler.cpp @@ -197,7 +197,7 @@ bool EventHandler::handle_mousedown(const Gfx::IntPoint& position, unsigned butt if (button == GUI::MouseButton::Left) { auto result = layout_root()->hit_test(position, Layout::HitTestType::TextCursor); if (result.layout_node && result.layout_node->dom_node()) { - m_frame.set_cursor_position(DOM::Position(*node, result.index_in_node)); + m_frame.set_cursor_position(DOM::Position(*result.layout_node->dom_node(), result.index_in_node)); layout_root()->set_selection({ { result.layout_node, result.index_in_node }, {} }); m_in_mouse_selection = true; } @@ -262,7 +262,7 @@ bool EventHandler::handle_mousemove(const Gfx::IntPoint& position, unsigned butt if (m_in_mouse_selection) { auto hit = layout_root()->hit_test(position, Layout::HitTestType::TextCursor); if (hit.layout_node && hit.layout_node->dom_node()) { - m_frame.set_cursor_position(DOM::Position(*node, result.index_in_node)); + m_frame.set_cursor_position(DOM::Position(*hit.layout_node->dom_node(), result.index_in_node)); layout_root()->set_selection_end({ hit.layout_node, hit.index_in_node }); } if (auto* page = m_frame.page()) -- cgit v1.2.3