BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
# Conflicts:
# docs/CHANGELOG.txt
# imgui.h
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index c0039a8..aa0dcd1 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -71,6 +71,9 @@
Previously was inconsistent and only enabled when stepping through a non-input item.
(#6802, #3092, #5759, #787)
- Windows:
+ - BeginChild(): Internal name used by child windows now omits the hash/id if the child
+ window is submitted in root of id stack of parent window. Makes debugging/metrics easier
+ and shorter to read in many cases.
- Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value
to false when popup is closed in ways other than clicking the close button. (#6900)
- Double-clicking lower-left resize grip auto-resize (like lower-rightone).
diff --git a/imgui.cpp b/imgui.cpp
index 772d0a1..a11f228 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -5444,7 +5444,9 @@
// Build up name. If you need to append to a same child from multiple location in the ID stack, use BeginChild(ImGuiID id) with a stable value.
const char* temp_window_name;
- if (name)
+ if (name && parent_window->IDStack.back() == parent_window->ID)
+ ImFormatStringToTempBuffer(&temp_window_name, NULL, "%s/%s", parent_window->Name, name); // May omit ID if in root of ID stack
+ else if (name)
ImFormatStringToTempBuffer(&temp_window_name, NULL, "%s/%s_%08X", parent_window->Name, name, id);
else
ImFormatStringToTempBuffer(&temp_window_name, NULL, "%s/%08X", parent_window->Name, id);
diff --git a/imgui.h b/imgui.h
index 2c691ae..4fbce76 100644
--- a/imgui.h
+++ b/imgui.h
@@ -24,7 +24,7 @@
// Library Version
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
#define IMGUI_VERSION "1.90 WIP"
-#define IMGUI_VERSION_NUM 18995
+#define IMGUI_VERSION_NUM 18996
#define IMGUI_HAS_TABLE
/*