Add further checks for windows being deleted during long async callbacks

* This is not really a full solution but fixes the common cases at least.
This commit is contained in:
baldurk
2020-02-05 15:06:45 +00:00
parent bf92f9adf0
commit 08c0b13aaa
2 changed files with 18 additions and 0 deletions
+6
View File
@@ -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());