ソースを参照

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()
 {
-  PyThreadState* state = PyThreadState_Get();
-  Py_EndInterpreter(state);
+  if (PyEval_ThreadsInitialized())
+    {
+    PyThreadState* state = PyThreadState_Get();
+    Py_EndInterpreter(state);
+    }
   PythonQt::cleanup();
 }