[Core] Fix an alignment bug for scrolling container contents

This commit is contained in:
Nic Barker 2025-06-24 13:55:20 +10:00
parent 4a91cac1b2
commit 3433a53a8e

2
clay.h
View file

@ -2931,6 +2931,7 @@ void Clay__CalculateFinalLayout(void) {
default: break; default: break;
} }
currentElementTreeNode->nextChildOffset.x += extraSpace; currentElementTreeNode->nextChildOffset.x += extraSpace;
extraSpace = CLAY__MAX(0, extraSpace);
} else { } else {
for (int32_t i = 0; i < currentElement->childrenOrTextContent.children.length; ++i) { for (int32_t i = 0; i < currentElement->childrenOrTextContent.children.length; ++i) {
Clay_LayoutElement *childElement = Clay_LayoutElementArray_Get(&context->layoutElements, currentElement->childrenOrTextContent.children.elements[i]); Clay_LayoutElement *childElement = Clay_LayoutElementArray_Get(&context->layoutElements, currentElement->childrenOrTextContent.children.elements[i]);
@ -2944,6 +2945,7 @@ void Clay__CalculateFinalLayout(void) {
case CLAY_ALIGN_Y_CENTER: extraSpace /= 2; break; case CLAY_ALIGN_Y_CENTER: extraSpace /= 2; break;
default: break; default: break;
} }
extraSpace = CLAY__MAX(0, extraSpace);
currentElementTreeNode->nextChildOffset.y += extraSpace; currentElementTreeNode->nextChildOffset.y += extraSpace;
} }