diff --git a/Libraries/LibWeb/Layout/LayoutText.cpp b/Libraries/LibWeb/Layout/LayoutText.cpp index 64d89313ea..654786b0a9 100644 --- a/Libraries/LibWeb/Layout/LayoutText.cpp +++ b/Libraries/LibWeb/Layout/LayoutText.cpp @@ -108,6 +108,9 @@ void LayoutText::paint_fragment(PaintContext& context, const LineBoxFragment& fr void LayoutText::paint_cursor_if_needed(PaintContext& context, const LineBoxFragment& fragment) const { + if (!frame().is_focused_frame()) + return; + if (!frame().cursor_blink_state()) return; diff --git a/Libraries/LibWeb/Page/Frame.cpp b/Libraries/LibWeb/Page/Frame.cpp index f6726476ab..9d4225bc43 100644 --- a/Libraries/LibWeb/Page/Frame.cpp +++ b/Libraries/LibWeb/Page/Frame.cpp @@ -61,6 +61,8 @@ Frame::~Frame() void Frame::setup() { m_cursor_blink_timer = Core::Timer::construct(500, [this] { + if (!is_focused_frame()) + return; if (m_cursor_position.node() && m_cursor_position.node()->layout_node()) { m_cursor_blink_state = !m_cursor_blink_state; m_cursor_position.node()->layout_node()->set_needs_display();