Merge pull request #4235 from Mailaender/map-preview-crash

Don't crash map preview when loading a map with bogus tileset
This commit is contained in:
Paul Chote
2014-01-03 13:43:54 -08:00

View File

@@ -183,12 +183,16 @@ namespace OpenRA.Widgets
}
}
bool compatibleTileset;
void GeneratePreview()
{
var m = Map();
if (m == null)
return;
compatibleTileset = Rules.TileSets.Values.Any(t => t.Id == m.Tileset);
var status = Status(m);
if (status == PreviewStatus.Uncached)
lock (syncRoot)
@@ -201,7 +205,7 @@ namespace OpenRA.Widgets
}
}
static PreviewStatus Status(Map m)
PreviewStatus Status(Map m)
{
if (m == null)
return PreviewStatus.Invalid;
@@ -213,6 +217,9 @@ namespace OpenRA.Widgets
if (cacheUids.Contains(m.Uid))
return PreviewStatus.Generating;
if (!compatibleTileset)
return PreviewStatus.Invalid;
}
return PreviewStatus.Uncached;
}