diff --git a/Userland/Applications/CharacterMap/CharacterMapWidget.cpp b/Userland/Applications/CharacterMap/CharacterMapWidget.cpp index c559c78450..ca24c7bc1a 100644 --- a/Userland/Applications/CharacterMap/CharacterMapWidget.cpp +++ b/Userland/Applications/CharacterMap/CharacterMapWidget.cpp @@ -167,8 +167,7 @@ ErrorOr CharacterMapWidget::initialize_menubar(GUI::Window& window) void CharacterMapWidget::did_change_font() { - // No need to track glyph modifications by cloning - m_glyph_map->GUI::AbstractScrollableWidget::set_font(font()); + m_glyph_map->set_font(font()); m_font_name_label->set_text(String::from_deprecated_string(font().human_readable_name()).release_value_but_fixme_should_propagate_errors()); m_output_box->set_font(font()); } diff --git a/Userland/Applications/FontEditor/MainWidget.cpp b/Userland/Applications/FontEditor/MainWidget.cpp index 8195a8f202..86c045c333 100644 --- a/Userland/Applications/FontEditor/MainWidget.cpp +++ b/Userland/Applications/FontEditor/MainWidget.cpp @@ -637,7 +637,7 @@ ErrorOr MainWidget::initialize(StringView path, RefPtr&& if (m_font == mutable_font) return {}; - TRY(m_glyph_map_widget->set_font(*mutable_font)); + TRY(m_glyph_map_widget->initialize(mutable_font)); auto active_glyph = m_glyph_map_widget->active_glyph(); m_glyph_map_widget->set_focus(true); diff --git a/Userland/Libraries/LibGUI/GlyphMapWidget.cpp b/Userland/Libraries/LibGUI/GlyphMapWidget.cpp index 5a472b8b6f..3908934d8c 100644 --- a/Userland/Libraries/LibGUI/GlyphMapWidget.cpp +++ b/Userland/Libraries/LibGUI/GlyphMapWidget.cpp @@ -573,9 +573,12 @@ bool GlyphMapWidget::glyph_is_modified(u32 glyph) return m_modified_glyphs.contains(glyph); } -ErrorOr GlyphMapWidget::set_font(Gfx::Font const& font) +ErrorOr GlyphMapWidget::initialize(Gfx::Font const* font) { - m_original_font = TRY(font.try_clone()); + if (font) + m_original_font = TRY(font->try_clone()); + else + m_original_font = nullptr; m_modified_glyphs.clear(); AbstractScrollableWidget::set_font(font); return {}; diff --git a/Userland/Libraries/LibGUI/GlyphMapWidget.h b/Userland/Libraries/LibGUI/GlyphMapWidget.h index cf8f560ecf..f90bbfea1b 100644 --- a/Userland/Libraries/LibGUI/GlyphMapWidget.h +++ b/Userland/Libraries/LibGUI/GlyphMapWidget.h @@ -20,7 +20,7 @@ class GlyphMapWidget final : public AbstractScrollableWidget { public: virtual ~GlyphMapWidget() override = default; - ErrorOr set_font(Gfx::Font const&); + ErrorOr initialize(Gfx::Font const*); class Selection { public: