From 6fd594c1f4e401295aff04b8fc7c9a02a44b7609 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sat, 29 Jun 2024 20:26:46 +0200 Subject: [PATCH] fix: Don't delete font atlas after passing it to ImGui --- plugins/fonts/source/font_loader.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/fonts/source/font_loader.cpp b/plugins/fonts/source/font_loader.cpp index 61b9001669933..ef2a2f429b2a8 100644 --- a/plugins/fonts/source/font_loader.cpp +++ b/plugins/fonts/source/font_loader.cpp @@ -152,8 +152,11 @@ namespace hex::fonts { return m_fontAtlas->Build(); } - [[nodiscard]] ImFontAtlas* getAtlas() const { - return m_fontAtlas; + [[nodiscard]] ImFontAtlas* takeAtlas() { + auto result = m_fontAtlas; + m_fontAtlas = nullptr; + + return result; } float calculateFontDescend(const ImHexApi::Fonts::Font &font, float fontSize) const { @@ -331,7 +334,7 @@ namespace hex::fonts { const bool result = fontAtlas.build(); if (result) { // Set the font atlas if the build was successful - ImHexApi::Fonts::impl::setFontAtlas(fontAtlas.getAtlas()); + ImHexApi::Fonts::impl::setFontAtlas(fontAtlas.takeAtlas()); return true; }