Throw a sane exception when trying to load an invalid widget.

This commit is contained in:
Paul Chote
2011-05-05 23:03:17 +12:00
parent 178e4664c7
commit 388324dd69

View File

@@ -12,6 +12,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using OpenRA.FileFormats; using OpenRA.FileFormats;
using OpenRA.Widgets; using OpenRA.Widgets;
using System.IO;
namespace OpenRA namespace OpenRA
{ {
@@ -28,7 +29,11 @@ namespace OpenRA
public Widget LoadWidget( Dictionary<string, object> args, Widget parent, string w ) public Widget LoadWidget( Dictionary<string, object> args, Widget parent, string w )
{ {
return LoadWidget( args, parent, widgets[ w ] ); MiniYamlNode ret;
if (!widgets.TryGetValue(w, out ret))
throw new InvalidDataException("Cannot find widget with Id `{0}`".F(w));
return LoadWidget( args, parent, ret );
} }
public Widget LoadWidget( Dictionary<string, object> args, Widget parent, MiniYamlNode node) public Widget LoadWidget( Dictionary<string, object> args, Widget parent, MiniYamlNode node)