diff --git a/qrenderdoc/Windows/BufferViewer.cpp b/qrenderdoc/Windows/BufferViewer.cpp index d111e32e0..c58389cdc 100644 --- a/qrenderdoc/Windows/BufferViewer.cpp +++ b/qrenderdoc/Windows/BufferViewer.cpp @@ -2402,6 +2402,9 @@ void BufferViewer::OnEventChanged(uint32_t eventId) bufdata->vsinConfig.curView, MeshDataStage::GSOut); RT_FetchMeshData(r, m_Ctx, bufdata); + + if(!me) + return; } else { @@ -2418,6 +2421,9 @@ void BufferViewer::OnEventChanged(uint32_t eventId) { buf->storage = r->GetTextureData(m_BufferID, m_TexSub); } + + if(!me) + return; } GUIInvoke::call(this, [this, buf, bufdata]() { @@ -2548,6 +2554,9 @@ void BufferViewer::populateBBox(PopulateBufferData *bufdata) calcBoundingData(*bbox); + if(!me) + return; + GUIInvoke::call(this, [this, bbox]() { UI_UpdateBoundingBox(*bbox); }); }); thread->setName(lit("BBox calc")); @@ -3103,6 +3112,9 @@ void BufferViewer::render_clicked(QMouseEvent *e) if(vertSelected != ~0U) { + if(!me) + return; + GUIInvoke::call(this, [this, vertSelected, instanceSelected] { int row = (int)vertSelected; diff --git a/qrenderdoc/Windows/ShaderViewer.cpp b/qrenderdoc/Windows/ShaderViewer.cpp index 10dca36a5..941f9a594 100644 --- a/qrenderdoc/Windows/ShaderViewer.cpp +++ b/qrenderdoc/Windows/ShaderViewer.cpp @@ -355,6 +355,9 @@ void ShaderViewer::debugShader(const ShaderBindpointMapping *bind, const ShaderR rdcstr disasm = r->DisassembleShader(m_Pipeline, m_ShaderDetails, ""); + if(!me) + return; + GUIInvoke::call(this, [this, targets, disasm]() { QStringList targetNames; for(int i = 0; i < targets.count(); i++) @@ -1229,6 +1232,9 @@ void ShaderViewer::disassemble_typeChanged(int index) rdcstr disasm = r->DisassembleShader(m_Pipeline, m_ShaderDetails, target.data()); + if(!me) + return; + GUIInvoke::call(this, [this, disasm]() { m_DisassemblyView->setReadOnly(false); m_DisassemblyView->setText(disasm.c_str());