Copy elementId in Clay__AddHashMapItem() in case underlying stringId has changed (#239)

This commit is contained in:
Harrison Lambeth 2025-01-29 14:20:14 -07:00 committed by GitHub
parent a1e692b72a
commit efad3deef8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

1
clay.h
View file

@ -1199,6 +1199,7 @@ Clay_LayoutElementHashMapItem* Clay__AddHashMapItem(Clay_ElementId elementId, Cl
if (hashItem->elementId.id == elementId.id) { // Collision - resolve based on generation
item.nextIndex = hashItem->nextIndex;
if (hashItem->generation <= context->generation) { // First collision - assume this is the "same" element
hashItem->elementId = elementId; // Make sure to copy this across. If the stringId reference has changed, we should update the hash item to use the new one.
hashItem->generation = context->generation + 1;
hashItem->layoutElement = layoutElement;
hashItem->debugData->collision = false;