浏览代码

UnInitialize python interp only if PyEval_ThreadsInitialized() is True

Jean-Christophe Fillion-Robin 14 年之前
父节点
当前提交
d756526bbf
共有 1 个文件被更改,包括 5 次插入2 次删除
  1. 5 2
      Libs/Scripting/Python/Core/ctkAbstractPythonManager.cpp

+ 5 - 2
Libs/Scripting/Python/Core/ctkAbstractPythonManager.cpp

@@ -49,8 +49,11 @@ ctkAbstractPythonManager::ctkAbstractPythonManager(QObject* _parent) : Superclas
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 ctkAbstractPythonManager::~ctkAbstractPythonManager()
 ctkAbstractPythonManager::~ctkAbstractPythonManager()
 {
 {
-  PyThreadState* state = PyThreadState_Get();
-  Py_EndInterpreter(state);
+  if (PyEval_ThreadsInitialized())
+    {
+    PyThreadState* state = PyThreadState_Get();
+    Py_EndInterpreter(state);
+    }
   PythonQt::cleanup();
   PythonQt::cleanup();
 }
 }