diff --git a/OpenRA.Game/Exts.cs b/OpenRA.Game/Exts.cs index 527bb0e88f..4aa6bd27e9 100644 --- a/OpenRA.Game/Exts.cs +++ b/OpenRA.Game/Exts.cs @@ -30,6 +30,11 @@ namespace OpenRA return string.Format(fmt, args); } + public static string TrimOrEmpty(this string input) + { + return input != null ? input.Trim() : string.Empty; + } + public static T WithDefault(T def, Func f) { try { return f(); } diff --git a/OpenRA.Mods.RA/Widgets/Logic/InstallFromCDLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/InstallFromCDLogic.cs index 4b050a2c70..e14dd571d9 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/InstallFromCDLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/InstallFromCDLogic.cs @@ -71,10 +71,10 @@ namespace OpenRA.Mods.RA.Widgets.Logic installingContainer.IsVisible = () => true; var dest = new string[] { Platform.SupportDir, "Content", Game.modData.Manifest.Mod.Id }.Aggregate(Path.Combine); - var copyFiles = Game.modData.Manifest.ContentInstaller["CopyFilesFromCD"].Split(',').Select(x => x.Trim()).ToArray(); + var copyFiles = Game.modData.Manifest.ContentInstaller["CopyFilesFromCD"].Split(',').Select(x => x.TrimOrEmpty()).ToArray(); - var extractPackage = Game.modData.Manifest.ContentInstaller["PackageToExtractFromCD"].Trim(); - var extractFiles = Game.modData.Manifest.ContentInstaller["ExtractFilesFromCD"].Split(',').Select(x => x.Trim()).ToArray(); + var extractPackage = Game.modData.Manifest.ContentInstaller["PackageToExtractFromCD"].TrimOrEmpty(); + var extractFiles = Game.modData.Manifest.ContentInstaller["ExtractFilesFromCD"].Split(',').Select(x => x.TrimOrEmpty()).ToArray(); var installCounter = 0; var installTotal = copyFiles.Count() + extractFiles.Count();