fix crash on moving the mouse outside the map

This commit is contained in:
Chris Forbes
2010-03-22 20:08:59 +13:00
parent 984c453c0d
commit f44b8c53b0

View File

@@ -52,6 +52,8 @@ namespace OpenRA.Traits
IEnumerable<Actor> ActorsInBins(int i1, int i2, int j1, int j2)
{
j1 = Math.Max(0, j1); j2 = Math.Min(j2, bins.GetUpperBound(1) - 1);
i1 = Math.Max(0, i1); i2 = Math.Min(i2, bins.GetUpperBound(0) - 1);
for (var j = j1; j <= j2; j++)
for (var i = i1; i <= i2; i++)
foreach (var a in bins[i, j])
@@ -60,13 +62,9 @@ namespace OpenRA.Traits
public IEnumerable<Actor> ActorsInBox(int2 a, int2 b)
{
var r = RectangleF.FromLTRB( a.X, a.Y, b.X, b.Y );
var r = RectangleF.FromLTRB(a.X, a.Y, b.X, b.Y);
return ActorsInBins(
a.X / scale,
a.Y / scale,
b.X / scale,
b.Y / scale)
return ActorsInBins(a.X / scale, a.Y / scale, b.X / scale, b.Y / scale)
.Distinct()
.Where(u => u.GetBounds(true).IntersectsWith(r));
}