From 37c243bb35a09c0732325a624c344c6c1d3eab5f Mon Sep 17 00:00:00 2001 From: ocornut Date: Wed, 19 Jun 2024 17:53:34 -0700 Subject: [PATCH] Internals: added ImGuiContext::ContextName optionally used by debug log and to facilitate debugging. --- imgui.cpp | 5 ++++- imgui_internal.h | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/imgui.cpp b/imgui.cpp index 41d1cfacd..443ce9eb3 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -15606,7 +15606,10 @@ void ImGui::DebugLogV(const char* fmt, va_list args) { ImGuiContext& g = *GImGui; const int old_size = g.DebugLogBuf.size(); - g.DebugLogBuf.appendf("[%05d] ", g.FrameCount); + if (g.ContextName[0] != 0) + g.DebugLogBuf.appendf("[%s] [%05d] ", g.ContextName, g.FrameCount); + else + g.DebugLogBuf.appendf("[%05d] ", g.FrameCount); g.DebugLogBuf.appendfv(fmt, args); g.DebugLogIndex.append(g.DebugLogBuf.c_str(), old_size, g.DebugLogBuf.size()); if (g.DebugLogFlags & ImGuiDebugLogFlags_OutputToTTY) diff --git a/imgui_internal.h b/imgui_internal.h index 244cda1a2..f2940d211 100644 --- a/imgui_internal.h +++ b/imgui_internal.h @@ -1939,6 +1939,7 @@ struct ImGuiContext bool GcCompactAll; // Request full GC bool TestEngineHookItems; // Will call test engine hooks: ImGuiTestEngineHook_ItemAdd(), ImGuiTestEngineHook_ItemInfo(), ImGuiTestEngineHook_Log() void* TestEngine; // Test engine user data + char ContextName[16]; // Storage for a context name (to facilitate debugging multi-context setups) // Inputs ImVector InputEventsQueue; // Input events which will be trickled/written into IO structure. @@ -2266,6 +2267,7 @@ struct ImGuiContext GcCompactAll = false; TestEngineHookItems = false; TestEngine = NULL; + memset(ContextName, 0, sizeof(ContextName)); InputEventsNextMouseSource = ImGuiMouseSource_Mouse; InputEventsNextEventId = 1;