From 07fd9c8e0cfe259ca45fe6b2e76a7d2d4d638487 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 4 Jan 2017 16:47:58 +0000 Subject: [PATCH] Speculative fix for crash with buffer viewer being closed early. * I received a few crash reports with a disposed buffer viewer still doing work. My theory is that some operation took long enough that the user was able to close the viewer (perhaps *because* it was taking a long time) and subsequent work then didn't handle the window having been closed. --- renderdocui/Windows/BufferViewer.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/renderdocui/Windows/BufferViewer.cs b/renderdocui/Windows/BufferViewer.cs index ad983f799..cd234cdb1 100644 --- a/renderdocui/Windows/BufferViewer.cs +++ b/renderdocui/Windows/BufferViewer.cs @@ -1553,6 +1553,11 @@ namespace renderdocui.Windows { var state = GetUIState(type); + var bufView = state.m_GridView; + + if(bufView.IsDisposed) + return; + // only do this once, VSIn is guaranteed to be set (even if it's empty data) if(type == MeshDataStage.VSIn) CalcCellFloatWidth(); @@ -1562,8 +1567,6 @@ namespace renderdocui.Windows if(data.Buffers == null) return; - var bufView = state.m_GridView; - bufView.RowCount = 0; state.m_Data = data;