From 20a49c713d1f6e729981774b9bc4a805bcc6c923 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Sat, 1 Jun 2019 00:06:36 +0200 Subject: [PATCH] Fix infinity checks. Misread `std::isfinite` in C++ code as `std::infinite`, ha. --- src/Avalonia.Controls/Repeaters/FlowLayoutAlgorithm.cs | 2 +- src/Avalonia.Controls/Repeaters/StackLayout.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Avalonia.Controls/Repeaters/FlowLayoutAlgorithm.cs b/src/Avalonia.Controls/Repeaters/FlowLayoutAlgorithm.cs index a0ced65076..f8da998201 100644 --- a/src/Avalonia.Controls/Repeaters/FlowLayoutAlgorithm.cs +++ b/src/Avalonia.Controls/Repeaters/FlowLayoutAlgorithm.cs @@ -337,7 +337,7 @@ namespace Avalonia.Controls.Repeaters // Does not fit, wrap to the previous row var availableSizeMinor = _orientation.Minor(availableSize); - _orientation.SetMinorStart(ref currentBounds, double.IsInfinity(availableSizeMinor) ? availableSizeMinor - _orientation.Minor(desiredSize) : 0); + _orientation.SetMinorStart(ref currentBounds, !double.IsInfinity(availableSizeMinor) ? availableSizeMinor - _orientation.Minor(desiredSize) : 0); _orientation.SetMajorStart(ref currentBounds, lineOffset - _orientation.Major(desiredSize) - lineSpacing); if (lineNeedsReposition) diff --git a/src/Avalonia.Controls/Repeaters/StackLayout.cs b/src/Avalonia.Controls/Repeaters/StackLayout.cs index 79ebcef645..379eab8675 100644 --- a/src/Avalonia.Controls/Repeaters/StackLayout.cs +++ b/src/Avalonia.Controls/Repeaters/StackLayout.cs @@ -97,7 +97,7 @@ namespace Avalonia.Controls.Repeaters { var measureSizeMinor = _orientation.Minor(measureSize); return _orientation.MinorMajorSize( - double.IsInfinity(measureSizeMinor) ? + !double.IsInfinity(measureSizeMinor) ? Math.Max(measureSizeMinor, _orientation.Minor(desiredSize)) : _orientation.Minor(desiredSize), _orientation.Major(desiredSize));