Fonts: fixed ImFontAtlas::RemoveFont() with multiple sources.

Thanks cyfewlp!
This commit is contained in:
ocornut
2025-05-16 16:55:29 +02:00
parent 5ee9845559
commit 822903e56d

View File

@@ -3205,10 +3205,10 @@ void ImFontAtlas::RemoveFont(ImFont* font)
ImFontAtlasFontDestroyOutput(this, font);
for (ImFontConfig* src : font->Sources)
{
ImFontAtlasFontDestroySourceData(this, src);
Sources.erase(src);
}
for (int src_n = 0; src_n < Sources.Size; src_n++)
if (Sources[src_n].DstFont == font)
Sources.erase(&Sources[src_n--]);
bool removed = Fonts.find_erase(font);
IM_ASSERT(removed);