Reverted back the ( i ) parameters for python, applied the PyGILState_Ensure from Dick into his PyLOCK class
This commit is contained in:
parent
93a8e7b395
commit
742e1a7e44
|
@ -171,7 +171,7 @@ wxString PYTHON_FOOTPRINT_WIZARD::GetParameterPageName( int aPage )
|
||||||
PyLOCK lock;
|
PyLOCK lock;
|
||||||
|
|
||||||
// Time to call the callback
|
// Time to call the callback
|
||||||
PyObject* arglist = Py_BuildValue( "( i )", aPage );
|
PyObject* arglist = Py_BuildValue( "(i)", aPage );
|
||||||
PyObject* result = CallMethod( "GetParameterPageName", arglist );
|
PyObject* result = CallMethod( "GetParameterPageName", arglist );
|
||||||
|
|
||||||
Py_DECREF( arglist );
|
Py_DECREF( arglist );
|
||||||
|
@ -191,7 +191,7 @@ wxArrayString PYTHON_FOOTPRINT_WIZARD::GetParameterNames( int aPage )
|
||||||
wxArrayString ret;
|
wxArrayString ret;
|
||||||
PyLOCK lock;
|
PyLOCK lock;
|
||||||
|
|
||||||
PyObject* arglist = Py_BuildValue( "( i )", aPage );
|
PyObject* arglist = Py_BuildValue( "(i)", aPage );
|
||||||
ret = CallRetArrayStrMethod( "GetParameterNames", arglist );
|
ret = CallRetArrayStrMethod( "GetParameterNames", arglist );
|
||||||
Py_DECREF( arglist );
|
Py_DECREF( arglist );
|
||||||
|
|
||||||
|
@ -214,7 +214,7 @@ wxArrayString PYTHON_FOOTPRINT_WIZARD::GetParameterTypes( int aPage )
|
||||||
wxArrayString ret;
|
wxArrayString ret;
|
||||||
PyLOCK lock;
|
PyLOCK lock;
|
||||||
|
|
||||||
PyObject* arglist = Py_BuildValue( "( i )", aPage );
|
PyObject* arglist = Py_BuildValue( "(i)", aPage );
|
||||||
ret = CallRetArrayStrMethod( "GetParameterNames", arglist );
|
ret = CallRetArrayStrMethod( "GetParameterNames", arglist );
|
||||||
Py_DECREF( arglist );
|
Py_DECREF( arglist );
|
||||||
|
|
||||||
|
@ -240,7 +240,7 @@ wxArrayString PYTHON_FOOTPRINT_WIZARD::GetParameterValues( int aPage )
|
||||||
{
|
{
|
||||||
PyLOCK lock;
|
PyLOCK lock;
|
||||||
|
|
||||||
PyObject* arglist = Py_BuildValue( "( i )", aPage );
|
PyObject* arglist = Py_BuildValue( "(i)", aPage );
|
||||||
|
|
||||||
wxArrayString ret = CallRetArrayStrMethod( "GetParameterValues", arglist );
|
wxArrayString ret = CallRetArrayStrMethod( "GetParameterValues", arglist );
|
||||||
|
|
||||||
|
@ -253,7 +253,7 @@ wxArrayString PYTHON_FOOTPRINT_WIZARD::GetParameterErrors( int aPage )
|
||||||
{
|
{
|
||||||
PyLOCK lock;
|
PyLOCK lock;
|
||||||
|
|
||||||
PyObject* arglist = Py_BuildValue( "( i )", aPage );
|
PyObject* arglist = Py_BuildValue( "(i)", aPage );
|
||||||
|
|
||||||
wxArrayString ret = CallRetArrayStrMethod( "GetParameterErrors", arglist );
|
wxArrayString ret = CallRetArrayStrMethod( "GetParameterErrors", arglist );
|
||||||
Py_DECREF( arglist );
|
Py_DECREF( arglist );
|
||||||
|
@ -279,7 +279,7 @@ wxString PYTHON_FOOTPRINT_WIZARD::SetParameterValues( int aPage, wxArrayString&
|
||||||
|
|
||||||
PyObject* arglist;
|
PyObject* arglist;
|
||||||
|
|
||||||
arglist = Py_BuildValue( "( i,O )", aPage, py_list );
|
arglist = Py_BuildValue( "(i,O)", aPage, py_list );
|
||||||
wxString res = CallRetStrMethod( "SetParameterValues", arglist );
|
wxString res = CallRetStrMethod( "SetParameterValues", arglist );
|
||||||
Py_DECREF( arglist );
|
Py_DECREF( arglist );
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,7 @@ void FOOTPRINT_EDIT_FRAME::ReCreateHToolbar()
|
||||||
m_mainToolBar->AddTool( ID_MODEDIT_NEW_MODULE, wxEmptyString, KiBitmap( new_footprint_xpm ),
|
m_mainToolBar->AddTool( ID_MODEDIT_NEW_MODULE, wxEmptyString, KiBitmap( new_footprint_xpm ),
|
||||||
_( "New module" ) );
|
_( "New module" ) );
|
||||||
|
|
||||||
#ifdef KICAD_SCRIPTING_WXPYTHON
|
#ifdef KICAD_SCRIPTING
|
||||||
m_mainToolBar->AddTool( ID_MODEDIT_NEW_MODULE_FROM_WIZARD, wxEmptyString,
|
m_mainToolBar->AddTool( ID_MODEDIT_NEW_MODULE_FROM_WIZARD, wxEmptyString,
|
||||||
KiBitmap( module_wizard_xpm ),
|
KiBitmap( module_wizard_xpm ),
|
||||||
_( "New module from footprint wizard" ) );
|
_( "New module from footprint wizard" ) );
|
||||||
|
|
|
@ -44,14 +44,13 @@ public:
|
||||||
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
class PyLOCK
|
class PyLOCK
|
||||||
{
|
{
|
||||||
|
PyGILState_STATE gil_state;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// @todo: this is wrong, python docs clearly say we need the GIL,
|
PyLOCK() { gil_state = PyGILState_Ensure(); }
|
||||||
// irrespective of wxPython.
|
~PyLOCK() { PyGILState_Release( gil_state ); }
|
||||||
PyLOCK() {}
|
|
||||||
~PyLOCK() {}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue