1
0
Fork 0
mirror of https://github.com/ocornut/imgui.git synced 2026-01-09 23:54:20 +00:00

Fixed ImHashSkipUncontributingPrefix() not looping in case of multiple ### elements.

This commit is contained in:
ocornut 2025-08-26 16:25:33 +02:00
parent 75a4a48d1f
commit 7d230594de

View file

@ -2388,11 +2388,14 @@ ImGuiID ImHashStr(const char* data_p, size_t data_size, ImGuiID seed)
}
// Skip to the "###" marker if any. We don't skip past to match the behavior of GetID()
// FIXME-OPT: This is not designed to be optimal. Use with care.
const char* ImHashSkipUncontributingPrefix(const char* label)
{
if (const char* p = strstr(label, "###")) // FIXME: Should loop.
label = p;
return label;
const char* result = label;
while (unsigned char c = *label++)
if (c == '#' && label[0] == '#' && label[1] == '#')
result = label - 1;
return result;
}
//-----------------------------------------------------------------------------