From 8241718d0106e77df83519e8e42de5835657c467 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sun, 29 Sep 2013 21:28:49 +1300 Subject: [PATCH] Fix double-rendering regression. --- OpenRA.Game/Traits/World/ScreenMap.cs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/OpenRA.Game/Traits/World/ScreenMap.cs b/OpenRA.Game/Traits/World/ScreenMap.cs index 283440b8e9..ca38c8cf26 100755 --- a/OpenRA.Game/Traits/World/ScreenMap.cs +++ b/OpenRA.Game/Traits/World/ScreenMap.cs @@ -139,18 +139,14 @@ namespace OpenRA.Traits var top = (r.Top / info.BinSize).Clamp(0, rows - 1); var bottom = (r.Bottom / info.BinSize).Clamp(0, rows - 1); + var actorsInBox = new List(); for (var j = top; j <= bottom; j++) - { for (var i = left; i <= right; i++) - { - var ret = actors[j * cols + i] + actorsInBox.AddRange(actors[j * cols + i] .Where(kv => kv.Key.IsInWorld && kv.Value.IntersectsWith(r)) - .Select(kv => kv.Key); + .Select(kv => kv.Key)); - foreach (var a in ret) - yield return a; - } - } + return actorsInBox.Distinct(); } } }