diff --git a/wxPython/src/_config.i b/wxPython/src/_config.i index 434b42cdb1..1c8b100ff3 100644 --- a/wxPython/src/_config.i +++ b/wxPython/src/_config.i @@ -24,12 +24,14 @@ %{ static PyObject* __EnumerationHelper(bool flag, wxString& str, long index) { + wxPyBlock_t blocked = wxPyBeginBlockThreads(); PyObject* ret = PyTuple_New(3); if (ret) { PyTuple_SET_ITEM(ret, 0, PyInt_FromLong(flag)); PyTuple_SET_ITEM(ret, 1, wx2PyString(str)); PyTuple_SET_ITEM(ret, 2, PyInt_FromLong(index)); } + wxPyEndBlockThreads(blocked); return ret; } %} diff --git a/wxPython/src/_font.i b/wxPython/src/_font.i index 0e1922ad52..0e3fc5ba79 100644 --- a/wxPython/src/_font.i +++ b/wxPython/src/_font.i @@ -842,19 +842,27 @@ public: //wxArrayString* GetFacenames(); %extend { PyObject* GetEncodings() { + PyObject* ret; wxArrayString* arr = self->GetEncodings(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); if (arr) - return wxArrayString2PyList_helper(*arr); + ret = wxArrayString2PyList_helper(*arr); else - return PyList_New(0); + ret = PyList_New(0); + wxPyEndBlockThreads(blocked); + return ret; } PyObject* GetFacenames() { + PyObject* ret; wxArrayString* arr = self->GetFacenames(); + wxPyBlock_t blocked = wxPyBeginBlockThreads(); if (arr) - return wxArrayString2PyList_helper(*arr); + ret = wxArrayString2PyList_helper(*arr); else - return PyList_New(0); + ret = PyList_New(0); + wxPyEndBlockThreads(blocked); + return ret; } } };