From 1faf46ddc544eea42356a90d66d6dc17e318d30d Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 30 Aug 2016 17:37:06 +0200 Subject: [PATCH] Handle StaticExports.GetVersionString() being missing * If the user is somehow running a really new UI with old DLL, handle the exception and continue to allow the user to update without crashing. --- renderdocui/Windows/Dialogs/UpdateDialog.cs | 14 +++++++++++++- renderdocui/Windows/MainWindow.cs | 11 ++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/renderdocui/Windows/Dialogs/UpdateDialog.cs b/renderdocui/Windows/Dialogs/UpdateDialog.cs index ec6db56c0..148f31643 100644 --- a/renderdocui/Windows/Dialogs/UpdateDialog.cs +++ b/renderdocui/Windows/Dialogs/UpdateDialog.cs @@ -62,7 +62,19 @@ namespace renderdocui.Windows.Dialogs updateNotes.Select(0, 0); - updateMetadata.Text = "v" + StaticExports.GetVersionString() + + string curver = "?.?"; + + try + { + curver = StaticExports.GetVersionString(); + } + catch (System.Exception) + { + // probably StaticExports.GetVersionString is missing, which means an old + // version is running + } + + updateMetadata.Text = "v" + curver + Environment.NewLine + Environment.NewLine + String.Format("v{0}", response_split[0]) + Environment.NewLine + Environment.NewLine + diff --git a/renderdocui/Windows/MainWindow.cs b/renderdocui/Windows/MainWindow.cs index e2d6fcceb..42930f2eb 100644 --- a/renderdocui/Windows/MainWindow.cs +++ b/renderdocui/Windows/MainWindow.cs @@ -1284,7 +1284,16 @@ namespace renderdocui.Windows private bool IsVersionMismatched() { - return "v" + StaticExports.GetVersionString() != VersionString; + try + { + return "v" + StaticExports.GetVersionString() != VersionString; + } + catch (System.Exception) + { + // probably StaticExports.GetVersionString is missing, which means an old + // version is running + return true; + } } private bool HandleMismatchedVersions()