fixing segfault at exit

This commit is contained in:
2024-10-27 21:18:22 +01:00
parent dbf4d3cc5b
commit fed7111362
4 changed files with 9 additions and 2 deletions

View File

@@ -43,10 +43,10 @@ namespace mlx
Text& new_text = p_scene->CreateText(str); Text& new_text = p_scene->CreateText(str);
new_text.SetPosition(Vec2f{ static_cast<float>(x), static_cast<float>(y) }); new_text.SetPosition(Vec2f{ static_cast<float>(x), static_cast<float>(y) });
new_text.SetColor(std::move(vec_color)); new_text.SetColor(std::move(vec_color));
if(m_pixelput_called) // if(m_pixelput_called)
{ {
m_draw_layer++; m_draw_layer++;
m_pixelput_called = false; // m_pixelput_called = false;
} }
} }
else if(!p_scene->IsTextAtGivenDrawLayer(str, m_draw_layer)) else if(!p_scene->IsTextAtGivenDrawLayer(str, m_draw_layer))

View File

@@ -39,6 +39,7 @@ namespace mlx
inline void RegisterFont(std::shared_ptr<Font> font); inline void RegisterFont(std::shared_ptr<Font> font);
inline void UnregisterFont(std::shared_ptr<Font> font); inline void UnregisterFont(std::shared_ptr<Font> font);
inline std::shared_ptr<Font> GetFont(const std::filesystem::path& name, float scale); inline std::shared_ptr<Font> GetFont(const std::filesystem::path& name, float scale);
inline void Reset();
~FontRegistry() = default; ~FontRegistry() = default;

View File

@@ -21,4 +21,9 @@ namespace mlx
}); });
return (it != m_fonts_registry.end() ? *it : nullptr); return (it != m_fonts_registry.end() ? *it : nullptr);
} }
void FontRegistry::Reset()
{
m_fonts_registry.clear();
}
} }

View File

@@ -103,6 +103,7 @@ namespace mlx
window.reset(); window.reset();
} }
m_font_registry.Reset();
p_render_core.reset(); p_render_core.reset();
p_sdl_manager.reset(); p_sdl_manager.reset();
#ifdef PROFILER #ifdef PROFILER