Fonts, Context: assert that ImFontAtlas has no other references when destroying an owned atlas. (#9426)

This commit is contained in:
ocornut
2026-07-02 15:02:59 +02:00
parent 6824e2c2e4
commit 8fc25800e0
2 changed files with 8 additions and 3 deletions

View File

@@ -4495,10 +4495,14 @@ void ImGui::Shutdown()
for (ImFontAtlas* atlas : g.FontAtlases)
{
UnregisterFontAtlas(atlas);
if (atlas->RefCount == 0 && atlas->OwnerContext == &g)
if (atlas->OwnerContext == &g)
{
atlas->Locked = false;
IM_DELETE(atlas);
IM_ASSERT(atlas->RefCount == 0 && "Destroying context owning a ImFontAtlas which is still used elsewhere!");
if (atlas->RefCount == 0)
{
atlas->Locked = false;
IM_DELETE(atlas);
}
}
}
g.DrawListSharedData.TempBuffer.clear();