Browse Source

Fonts: Allowing PushFont()/PopFont() to be called outside the imgui frame scope. (#3621)

ocornut 7 months ago
parent
commit
61d4bf95dc
2 changed files with 5 additions and 2 deletions
  1. 1 0
      docs/CHANGELOG.txt
  2. 4 2
      imgui.cpp

+ 1 - 0
docs/CHANGELOG.txt

@@ -58,6 +58,7 @@ Other changes:
   yourself based on your own logic. (#8223)
 - Nav: Fixed an issue where Alt key would clear current active item on
   windows with the ImGuiWindowFlags_NoNavInputs flag. (#8231)
+- Fonts: Allowing PushFont()/PopFont() to be called outside the imgui frame scope. (#3621)
 - Debug Tools: Debug Log: hovering 0xXXXXXXXX values in log is allowed even
   if a popup is blocking mouse access to the debug log window. (#5855)
 - Backends: Vulkan: Fixed setting VkSwapchainCreateInfoKHR::preTransform for

+ 4 - 2
imgui.cpp

@@ -8018,7 +8018,8 @@ void ImGui::PushFont(ImFont* font)
         font = GetDefaultFont();
     g.FontStack.push_back(font);
     SetCurrentFont(font);
-    g.CurrentWindow->DrawList->_SetTextureID(font->ContainerAtlas->TexID);
+    if (ImGuiWindow* window = g.CurrentWindow)
+        window->DrawList->_SetTextureID(font->ContainerAtlas->TexID);
 }
 
 void  ImGui::PopFont()
@@ -8032,7 +8033,8 @@ void  ImGui::PopFont()
     g.FontStack.pop_back();
     ImFont* font = g.FontStack.Size == 0 ? GetDefaultFont() : g.FontStack.back();
     SetCurrentFont(font);
-    g.CurrentWindow->DrawList->_SetTextureID(font->ContainerAtlas->TexID);
+    if (ImGuiWindow* window = g.CurrentWindow)
+        window->DrawList->_SetTextureID(font->ContainerAtlas->TexID);
 }
 
 void ImGui::PushItemFlag(ImGuiItemFlags option, bool enabled)