]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
*** empty log message ***
authorstv <stv@opencascade.com>
Thu, 21 Jun 2007 07:15:37 +0000 (07:15 +0000)
committerstv <stv@opencascade.com>
Thu, 21 Jun 2007 07:15:37 +0000 (07:15 +0000)
src/PyConsole/PyConsole_Interp.cxx

index a2c0d47a9f97f25f1d3df55693ecf4e0b77fe254..b71c02178ddbd383b72e888ab48962c25d97f763 100644 (file)
@@ -79,9 +79,27 @@ bool PyConsole_Interp::initState()
 {
   // The GIL is acquired and will be held on initState output
   // It is the caller responsability to release the lock if needed
+
+/* LLS
   PyEval_AcquireLock();
   _tstate = Py_NewInterpreter(); // create an interpreter and save current state
   PySys_SetArgv(PyInterp_base::_argc,PyInterp_base::_argv); // initialize sys.argv
+*/
+
+  PyEval_AcquireLock();
+#ifdef WIN32 
+  _tstate = PyGILState_GetThisThreadState();
+  // if no thread state defined
+  if ( _tstate )
+    PyThreadState_Swap(_tstate);
+  else
+#endif
+  {
+    _tstate = Py_NewInterpreter(); // create an interpreter and save current state
+    PySys_SetArgv(PyInterp_base::_argc,PyInterp_base::_argv); // initialize sys.argv
+    //if(MYDEBUG) MESSAGE("PythonConsole_PyInterp::initState - this = "<<this<<"; _tstate = "<<_tstate);
+  }
+
   
   //If builtinmodule has been initialized all the sub interpreters
   // will have the same __builtin__ module