Merge pull request #12038 from pchote/fix-readfailure-crash

Don't crash if a replay can't be read.
This commit is contained in:
reaperrr
2016-09-18 15:22:38 +02:00
committed by GitHub
2 changed files with 11 additions and 2 deletions

View File

@@ -77,7 +77,13 @@ namespace OpenRA.Mods.Common.LoadScreens
// Load a replay directly
if (!string.IsNullOrEmpty(Launch.Replay))
{
var replayMeta = ReplayMetadata.Read(Launch.Replay);
ReplayMetadata replayMeta = null;
try
{
replayMeta = ReplayMetadata.Read(Launch.Replay);
}
catch { }
if (ReplayUtils.PromptConfirmReplayCompatibility(replayMeta, Game.LoadShellMap))
Game.JoinReplay(Launch.Replay);

View File

@@ -24,7 +24,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
onCancel = DoNothing;
if (replayMeta == null)
return IncompatibleReplayDialog("outdated engine", null, onCancel);
{
ConfirmationDialogs.ButtonPrompt("Incompatible Replay", "Replay metadata could not be read.", onCancel: onCancel);
return false;
}
var version = replayMeta.GameInfo.Version;
if (version == null)