From c9474f5bc3395890d031ce2c3fe4e29d8355159e Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 24 Aug 2016 13:00:37 +0200 Subject: [PATCH] Handle connection errors properly, displaying the error message --- renderdocui/Code/Core.cs | 4 +--- renderdocui/Windows/MainWindow.cs | 8 +++++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/renderdocui/Code/Core.cs b/renderdocui/Code/Core.cs index 5e8743eba..5064c1d3a 100644 --- a/renderdocui/Code/Core.cs +++ b/renderdocui/Code/Core.cs @@ -514,9 +514,7 @@ namespace renderdocui.Code // if the renderer isn't running, we hit a failure case so display an error message if (!m_Renderer.Running) { - string errmsg = "Unknown error message"; - if (m_Renderer.InitException.Data.Contains("status")) - errmsg = ((ReplayCreateStatus)m_Renderer.InitException.Data["status"]).Str(); + string errmsg = m_Renderer.InitException.Status.Str(); MessageBox.Show(String.Format("{0}\nFailed to open file for replay: {1}.\n\n" + "Check diagnostic log in Help menu for more details.", origFilename, errmsg), diff --git a/renderdocui/Windows/MainWindow.cs b/renderdocui/Windows/MainWindow.cs index e6c7984b1..2db9f2cd8 100644 --- a/renderdocui/Windows/MainWindow.cs +++ b/renderdocui/Windows/MainWindow.cs @@ -1186,7 +1186,13 @@ namespace renderdocui.Windows ? global::renderdocui.Properties.Resources.connect : global::renderdocui.Properties.Resources.disconnect; - if (host.VersionMismatch) + if (m_Core.Renderer.InitException != null) + { + contextChooser.Image = global::renderdocui.Properties.Resources.cross; + contextChooser.Text = "Replay Context: Local"; + statusText.Text = "Connection failed: " + m_Core.Renderer.InitException.Status.Str(); + } + else if (host.VersionMismatch) { statusText.Text = "Remote server is not running RenderDoc " + VersionString; }