diff --git a/Userland/Services/WindowServer/Button.cpp b/Userland/Services/WindowServer/Button.cpp index d6d9769ec5..bc73ff5383 100644 --- a/Userland/Services/WindowServer/Button.cpp +++ b/Userland/Services/WindowServer/Button.cpp @@ -39,7 +39,7 @@ void Button::paint(Screen& screen, Gfx::Painter& painter) painter.blit(icon_location, bitmap, bitmap.rect()); }; - if (m_icon.hover_bitmap && m_hovered) + if (m_hovered && m_icon.hover_bitmap && !m_icon.hover_bitmap->is_empty()) paint_icon(m_icon.hover_bitmap); else if (m_icon.bitmap) paint_icon(m_icon.bitmap); diff --git a/Userland/Services/WindowServer/MultiScaleBitmaps.h b/Userland/Services/WindowServer/MultiScaleBitmaps.h index 765efc58cc..47789bd284 100644 --- a/Userland/Services/WindowServer/MultiScaleBitmaps.h +++ b/Userland/Services/WindowServer/MultiScaleBitmaps.h @@ -24,6 +24,7 @@ public: Gfx::BitmapFormat format() const { return m_format; } bool load(StringView filename, StringView default_filename = {}); void add_bitmap(int scale_factor, NonnullRefPtr&&); + bool is_empty() const { return m_bitmaps.is_empty(); } private: MultiScaleBitmaps() = default;