fix: check crossAxisExtent (#1005)

This commit is contained in:
My-Responsitories
2025-08-12 18:24:54 +08:00
committed by GitHub
parent 690c4f5786
commit 705417f65b

View File

@@ -77,12 +77,17 @@ class SliverGridDelegateWithExtentAndRatio extends SliverGridDelegate {
}
SliverGridLayout? layoutCache;
double? crossAxisExtentCache;
@override
SliverGridLayout getLayout(SliverConstraints constraints) {
// invoked before each frame
assert(_debugAssertIsValid(constraints.crossAxisExtent));
if (layoutCache != null) return layoutCache!;
if (layoutCache != null &&
constraints.crossAxisExtent == crossAxisExtentCache) {
return layoutCache!;
}
crossAxisExtentCache = constraints.crossAxisExtent;
int crossAxisCount =
((constraints.crossAxisExtent - crossAxisSpacing) /
(maxCrossAxisExtent + crossAxisSpacing))