diff --git a/qrenderdoc/Code/pyrenderdoc/PythonContext.cpp b/qrenderdoc/Code/pyrenderdoc/PythonContext.cpp index 5a109cf46..effe85a1b 100644 --- a/qrenderdoc/Code/pyrenderdoc/PythonContext.cpp +++ b/qrenderdoc/Code/pyrenderdoc/PythonContext.cpp @@ -1767,14 +1767,16 @@ QWidget *PythonContext::QWidgetFromPy(PyObject *widget) void PythonContext::reflectSource(QString src) { - if(!m_Reflector) + if(m_DeferredInit == 0) { for(int i = 0; i < 50 && m_DeferredInit == 0; i++) QThread::msleep(20); - m_DeferredInit = 1; if(!m_Reflector) + { + m_DeferredInit = 1; return; + } } PyGILState_STATE gil = PyGILState_Ensure(); @@ -1799,15 +1801,16 @@ void PythonContext::reflectSource(QString src) void PythonContext::makeHelpContext() { // expand out members of renderdoc and qrenderdoc using the stubs - if(!m_StubRD || !m_StubQRD) + if(m_DeferredInit == 0) { for(int i = 0; i < 50 && m_DeferredInit == 0; i++) QThread::msleep(20); - m_DeferredInit = 1; - if(!m_StubRD || !m_StubQRD) + { + m_DeferredInit = 1; return; + } } PyGILState_STATE gil = PyGILState_Ensure();