From 57c8aa476fa2b037949e8b00930f552b0de7d9fc Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 20 Jan 2015 13:45:38 +0000 Subject: [PATCH] Use GetRow instead of GetPositionFromControl as it's more reliable --- .../PipelineState/GLPipelineStateViewer.cs | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs b/renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs index df63ed293..155e65ff0 100644 --- a/renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs +++ b/renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs @@ -512,11 +512,14 @@ namespace renderdocui.Windows.PipelineState { subs.Visible = subs.Parent.Visible = (stage.Subroutines.Length > 0); - var pos = table.GetPositionFromControl(subs.Parent); - if (stage.Subroutines.Length > 0) - table.RowStyles[pos.Row].Height = table.RowStyles[1].Height; - else - table.RowStyles[pos.Row].Height = 0; + int row = table.GetRow(subs.Parent); + if (row >= 0 && row < table.RowStyles.Count) + { + if (stage.Subroutines.Length > 0) + table.RowStyles[row].Height = table.RowStyles[1].Height; + else + table.RowStyles[row].Height = 0; + } } vs = readwrites.VScrollValue(); @@ -686,11 +689,14 @@ namespace renderdocui.Windows.PipelineState { readwrites.Visible = readwrites.Parent.Visible = (readwrites.Nodes.Count > 0); - var pos = table.GetPositionFromControl(readwrites.Parent); - if (readwrites.Nodes.Count > 0) - table.RowStyles[pos.Row].Height = table.RowStyles[1].Height; - else - table.RowStyles[pos.Row].Height = 0; + int row = table.GetRow(readwrites.Parent); + if (row >= 0 && row < table.RowStyles.Count) + { + if (readwrites.Nodes.Count > 0) + table.RowStyles[row].Height = table.RowStyles[1].Height; + else + table.RowStyles[row].Height = 0; + } } }