From 9e7c16d0a44052e5981038d6b7cd79723fe78e24 Mon Sep 17 00:00:00 2001 From: Hendiadyoin1 Date: Sun, 28 Nov 2021 16:09:38 +0100 Subject: [PATCH] LibGfx: Load default font lazily This is required when trying to use a Painter from lagom, due to /res/font not being present --- Userland/Libraries/LibGfx/Painter.cpp | 2 +- Userland/Libraries/LibGfx/Painter.h | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibGfx/Painter.cpp b/Userland/Libraries/LibGfx/Painter.cpp index 1ade80691d..cdf399c5e5 100644 --- a/Userland/Libraries/LibGfx/Painter.cpp +++ b/Userland/Libraries/LibGfx/Painter.cpp @@ -64,7 +64,7 @@ Painter::Painter(Gfx::Bitmap& bitmap) VERIFY(bitmap.physical_width() % scale == 0); VERIFY(bitmap.physical_height() % scale == 0); m_state_stack.append(State()); - state().font = &FontDatabase::default_font(); + state().font = nullptr; state().clip_rect = { { 0, 0 }, bitmap.size() }; state().scale = scale; m_clip_origin = state().clip_rect; diff --git a/Userland/Libraries/LibGfx/Painter.h b/Userland/Libraries/LibGfx/Painter.h index 1f26afeab2..8b9e407846 100644 --- a/Userland/Libraries/LibGfx/Painter.h +++ b/Userland/Libraries/LibGfx/Painter.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -108,7 +109,12 @@ public: }; void fill_path(Path const&, Color, WindingRule rule = WindingRule::Nonzero); - Font const& font() const { return *state().font; } + Font const& font() const + { + if (!state().font) + return FontDatabase::default_font(); + return *state().font; + } void set_font(Font const& font) { state().font = &font; } enum class DrawOp {