From 7e1e87af1fcfdd69c0ccd77347752e4ff35b1084 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 12 Mar 2015 00:43:13 +0000 Subject: [PATCH] Fix crash if shader debug comes back with empty trace array * The current step wasn't being clamped correctly, so it would be set to -1 then used to index. --- renderdocui/Windows/ShaderViewer.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/renderdocui/Windows/ShaderViewer.cs b/renderdocui/Windows/ShaderViewer.cs index 91c43484c..47092fc66 100644 --- a/renderdocui/Windows/ShaderViewer.cs +++ b/renderdocui/Windows/ShaderViewer.cs @@ -73,9 +73,9 @@ namespace renderdocui.Windows } set { - if (m_Trace != null && m_Trace.states != null) + if (m_Trace != null && m_Trace.states != null && m_Trace.states.Length > 0) { - CurrentStep_ = Math.Min(m_Trace.states.Length - 1, Math.Max(0, value)); + CurrentStep_ = Helpers.Clamp(value, 0, m_Trace.states.Length - 1); } else { @@ -765,7 +765,7 @@ namespace renderdocui.Windows public void UpdateDebugging() { - if (m_Trace == null || m_Trace.states.Length == 0) + if (m_Trace == null || m_Trace.states == null || m_Trace.states.Length == 0) { //curInstruction.Text = "0";