Fonts: ClearOutputData() doesn't need to clear FallbackChar, EllipsisChar. Fixed crash changing font loader.
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index 894baad..c59efdc 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt
@@ -43,11 +43,14 @@ Other Changes: -- Fonts: fixed handling of `ImFontConfig::FontDataOwnedByAtlas = false` which - did erroneously make a copy of the font data, essentially defeating the purpose - of this flag and wasting memory. - Undetected since July 2015 and now spotted by @TellowKrinkle, this is perhaps - the oldest bug in Dear ImGui history (albeit for a rarely used feature)! (#9086) +- Fonts: + - Fixed handling of `ImFontConfig::FontDataOwnedByAtlas = false` which + did erroneously make a copy of the font data, essentially defeating the purpose + of this flag and wasting memory. + Undetected since July 2015 and now spotted by @TellowKrinkle, this is perhaps + the oldest bug in Dear ImGui history (albeit for a rarely used feature)! (#9086) + - Fixed an issue related to EllipsisChar handling, while changing + font loader or font loader flags dynamically in Style->Fonts menus. - Textures: - Fixed a building issue when ImTextureID is defined as a struct. - Fixed displaying texture # in Metrics/Debugger window.
diff --git a/imgui_draw.cpp b/imgui_draw.cpp index 88e897a..2dddaec 100644 --- a/imgui_draw.cpp +++ b/imgui_draw.cpp
@@ -3230,7 +3230,6 @@ void ImFontAtlas::RemoveFont(ImFont* font) { IM_ASSERT(!Locked && "Cannot modify a locked ImFontAtlas!"); - font->ClearOutputData(); ImFontAtlasFontDestroyOutput(this, font); for (ImFontConfig* src : font->Sources) @@ -5106,7 +5105,7 @@ { if (ImFontAtlas* atlas = OwnerAtlas) ImFontAtlasFontDiscardBakes(atlas, this, 0); - FallbackChar = EllipsisChar = 0; + //FallbackChar = EllipsisChar = 0; memset(Used8kPagesMap, 0, sizeof(Used8kPagesMap)); LastBaked = NULL; }