LibWeb: Use the correct painter for painting stacking contexts

When cloning the PaintContext we should be using the painter backed by
the bitmap created for this stacking context layer.

Fixes: 54c3053bc3 ("LibWeb: Preserve paint state when painting...")
This commit is contained in:
Simon Wanner 2022-04-08 19:42:57 +02:00 committed by Andreas Kling
parent a57bfc2f8c
commit a2d89f11d1
Notes: sideshowbarker 2024-07-17 21:11:12 +09:00
2 changed files with 3 additions and 3 deletions

View file

@ -37,9 +37,9 @@ public:
bool has_focus() const { return m_focus; }
void set_has_focus(bool focus) { m_focus = focus; }
PaintContext clone() const
PaintContext clone(Gfx::Painter& painter) const
{
auto clone = PaintContext(m_painter, m_palette, m_scroll_offset);
auto clone = PaintContext(painter, m_palette, m_scroll_offset);
clone.m_viewport_rect = m_viewport_rect;
clone.m_should_show_line_box_borders = m_should_show_line_box_borders;
clone.m_focus = m_focus;

View file

@ -262,7 +262,7 @@ void StackingContext::paint(PaintContext& context) const
return;
auto bitmap = bitmap_or_error.release_value_but_fixme_should_propagate_errors();
Gfx::Painter painter(bitmap);
auto paint_context = context.clone();
auto paint_context = context.clone(painter);
paint_internal(paint_context);
auto transform_origin = this->transform_origin();