Avoid crash when parsing an order with duplicate IDs.

This commit is contained in:
Paul Chote
2016-06-14 20:09:07 +01:00
parent 7c2d938327
commit 6570e1b22e

View File

@@ -433,10 +433,14 @@ namespace OpenRA.Mods.Common.Server
return true;
}
var options = server.Map.Rules.Actors["player"].TraitInfos<ILobbyOptions>()
var allOptions = server.Map.Rules.Actors["player"].TraitInfos<ILobbyOptions>()
.Concat(server.Map.Rules.Actors["world"].TraitInfos<ILobbyOptions>())
.SelectMany(t => t.LobbyOptions(server.Map.Rules))
.ToDictionary(o => o.Id, o => o);
.SelectMany(t => t.LobbyOptions(server.Map.Rules));
// Overwrite keys with duplicate ids
var options = new Dictionary<string, LobbyOption>();
foreach (var o in allOptions)
options[o.Id] = o;
var split = s.Split(' ');
LobbyOption option;