]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Separate local contexts of parameter's and pyconsole interpreters
authorsbh <sergey.belash@opencascade.com>
Mon, 27 Apr 2015 12:30:52 +0000 (15:30 +0300)
committersbh <sergey.belash@opencascade.com>
Mon, 27 Apr 2015 12:30:52 +0000 (15:30 +0300)
src/ParametersPlugin/ParametersPlugin_Parameter.h
src/ParametersPlugin/ParametersPlugin_PyInterp.cpp
src/ParametersPlugin/ParametersPlugin_PyInterp.h

index c36d7764fa3e5d1059cf4bac2168b0ff4af43bb8..db6c54c515a77955022ff06eb31c2448a653c394 100644 (file)
@@ -20,8 +20,8 @@ class ParametersPlugin_Parameter : public ModelAPI_Feature
   /// Extrusion kind
   inline static const std::string& ID()
   {
-    static const std::string MY_EXTRUSION_ID("Parameter");
-    return MY_EXTRUSION_ID;
+    static const std::string MY_PARAMETER_ID("Parameter");
+    return MY_PARAMETER_ID;
   }
   /// attribute name of references sketch entities list, it should contain a sketch result or
   /// a pair a sketch result to sketch face
index 4afbfaa2a93f75a404e12d1f7cd57c2dd6bb12ee..53659f23fdbd89ab61bc1438f5a380aa2575e536 100644 (file)
@@ -136,7 +136,14 @@ bool ParametersPlugin_PyInterp::initContext()
   }
   _global_context = PyModule_GetDict(m);          // get interpreter global variable context
   Py_INCREF(_global_context);
-  _local_context = _global_context;
+  _local_context = PyDict_New();
+  Py_INCREF(_local_context);
 
   return PyRun_SimpleString("from math import *") == 0;
 }
+
+void ParametersPlugin_PyInterp::closeContext()
+{
+  Py_XDECREF(_local_context);
+  PyInterp_Interp::closeContext();
+}
index 0e3cdee56401f7819ae60e5d31ce7a63102f2a99..0a631f6e22f42ce3e30251ad9869bc29efd3f12a 100644 (file)
@@ -29,6 +29,7 @@ class PARAMETERSPLUGIN_EXPORT ParametersPlugin_PyInterp : public PyInterp_Interp
   std::string errorMessage();
   // Overrides PyInterp_Interp
   virtual bool initContext();
+  virtual void closeContext();
 };
 
 #endif /* PARAMETERSPLUGIN_PYINTERP_H_ */