fix: scroll reset bug

This commit is contained in:
Tiago Dinis 2025-08-19 19:26:04 +01:00 committed by GitHub
parent 1bc5105272
commit 3378ee17da
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

2
clay.h
View file

@ -4109,7 +4109,6 @@ void Clay_UpdateScrollContainers(bool enableDragScrolling, Clay_Vector2 scrollDe
Clay__ScrollContainerDataInternalArray_RemoveSwapback(&context->scrollContainerDatas, i); Clay__ScrollContainerDataInternalArray_RemoveSwapback(&context->scrollContainerDatas, i);
continue; continue;
} }
scrollData->openThisFrame = false;
Clay_LayoutElementHashMapItem *hashMapItem = Clay__GetHashMapItem(scrollData->elementId); Clay_LayoutElementHashMapItem *hashMapItem = Clay__GetHashMapItem(scrollData->elementId);
// Element isn't rendered this frame but scroll offset has been retained // Element isn't rendered this frame but scroll offset has been retained
if (!hashMapItem) { if (!hashMapItem) {
@ -4117,6 +4116,7 @@ void Clay_UpdateScrollContainers(bool enableDragScrolling, Clay_Vector2 scrollDe
continue; continue;
} }
scrollData->openThisFrame = false;
// Touch / click is released // Touch / click is released
if (!isPointerActive && scrollData->pointerScrollActive) { if (!isPointerActive && scrollData->pointerScrollActive) {
float xDiff = scrollData->scrollPosition.x - scrollData->scrollOrigin.x; float xDiff = scrollData->scrollPosition.x - scrollData->scrollOrigin.x;