From d00037322bddc32421fe12c65a041411019ccf36 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 27 Mar 2010 23:16:50 +1300 Subject: [PATCH] fix crash in SpatialBins with lack of clamping --- OpenRA.Game/Traits/World/SpatialBins.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OpenRA.Game/Traits/World/SpatialBins.cs b/OpenRA.Game/Traits/World/SpatialBins.cs index c37866f155..a3aa30d5ff 100644 --- a/OpenRA.Game/Traits/World/SpatialBins.cs +++ b/OpenRA.Game/Traits/World/SpatialBins.cs @@ -38,10 +38,10 @@ namespace OpenRA.Traits continue; var bounds = a.GetBounds(true); - var i1 = (int)bounds.Left / scale; - var i2 = (int)bounds.Right / scale; - var j1 = (int)bounds.Top / scale; - var j2 = (int)bounds.Bottom / scale; + var i1 = Math.Max(0, (int)bounds.Left / scale); + var i2 = Math.Min(bins.GetUpperBound(0), (int)bounds.Right / scale); + var j1 = Math.Max(0, (int)bounds.Top / scale); + var j2 = Math.Min(bins.GetUpperBound(1), (int)bounds.Bottom / scale); for (var j = j1; j <= j2; j++) for (var i = i1; i <= i2; i++)