Use the PyGILState_* APIs on Python >= 2.3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -64,7 +64,7 @@ static wxString _VARTYPEname(VARTYPE vt);
|
||||
inline bool wxPyErr_Occurred()
|
||||
{
|
||||
bool rval;
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
rval = PyErr_Occurred() != NULL;
|
||||
wxPyEndBlockThreads(blocked);
|
||||
return rval;
|
||||
@@ -329,7 +329,7 @@ public:
|
||||
void SetAXProp(const wxString& name, PyObject* value)
|
||||
{
|
||||
const wxPropX& prop = GetAXPropDesc(name);
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if (! PyErr_Occurred() ) {
|
||||
if (! prop.CanSet()) {
|
||||
wxString msg;
|
||||
@@ -365,7 +365,7 @@ public:
|
||||
{
|
||||
PyObject* rval = NULL;
|
||||
const wxPropX& prop = GetAXPropDesc(name);
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if (! PyErr_Occurred() ) {
|
||||
if (! prop.CanGet()) {
|
||||
wxString msg;
|
||||
@@ -411,7 +411,7 @@ public:
|
||||
PyObject* rval = NULL;
|
||||
const wxFuncX& func = GetAXMethodDesc(name);
|
||||
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if (! PyErr_Occurred() ) {
|
||||
nargs = func.params.size();
|
||||
if (nargs > 0)
|
||||
@@ -641,7 +641,7 @@ public:
|
||||
// handler. We'll convert and load the ActiveX event parameters into
|
||||
// attributes of the Python event object.
|
||||
void _preCallInit(PyObject* pyself) {
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
PyObject* pList = PyList_New(0);
|
||||
PyObject_SetAttrString(pyself, "paramList", pList);
|
||||
Py_DECREF(pList);
|
||||
@@ -660,7 +660,7 @@ public:
|
||||
// handler. It reloads any "out" parameters from the python attributes
|
||||
// back into the wxVariant they came from.
|
||||
void _postCallCleanup(PyObject* pyself) {
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
for (int i=0; i<self->ParamCount(); i+=1) {
|
||||
PyObject* val = PyObject_GetAttrString(
|
||||
pyself, (char*)(const char*)self->ParamName(i).mb_str());
|
||||
|
@@ -1408,7 +1408,7 @@ static wxString _VARTYPEname(VARTYPE vt);
|
||||
inline bool wxPyErr_Occurred()
|
||||
{
|
||||
bool rval;
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
rval = PyErr_Occurred() != NULL;
|
||||
wxPyEndBlockThreads(blocked);
|
||||
return rval;
|
||||
@@ -1700,7 +1700,7 @@ public:
|
||||
void SetAXProp(const wxString& name, PyObject* value)
|
||||
{
|
||||
const wxPropX& prop = GetAXPropDesc(name);
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if (! PyErr_Occurred() ) {
|
||||
if (! prop.CanSet()) {
|
||||
wxString msg;
|
||||
@@ -1736,7 +1736,7 @@ public:
|
||||
{
|
||||
PyObject* rval = NULL;
|
||||
const wxPropX& prop = GetAXPropDesc(name);
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if (! PyErr_Occurred() ) {
|
||||
if (! prop.CanGet()) {
|
||||
wxString msg;
|
||||
@@ -1782,7 +1782,7 @@ public:
|
||||
PyObject* rval = NULL;
|
||||
const wxFuncX& func = GetAXMethodDesc(name);
|
||||
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if (! PyErr_Occurred() ) {
|
||||
nargs = func.params.size();
|
||||
if (nargs > 0)
|
||||
@@ -1896,7 +1896,7 @@ SWIG_Check_long(PyObject* obj)
|
||||
}
|
||||
|
||||
static void wxActiveXEvent__preCallInit(wxActiveXEvent *self,PyObject *pyself){
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
PyObject* pList = PyList_New(0);
|
||||
PyObject_SetAttrString(pyself, "paramList", pList);
|
||||
Py_DECREF(pList);
|
||||
@@ -1911,7 +1911,7 @@ static void wxActiveXEvent__preCallInit(wxActiveXEvent *self,PyObject *pyself){
|
||||
wxPyEndBlockThreads(blocked);
|
||||
}
|
||||
static void wxActiveXEvent__postCallCleanup(wxActiveXEvent *self,PyObject *pyself){
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
for (int i=0; i<self->ParamCount(); i+=1) {
|
||||
PyObject* val = PyObject_GetAttrString(
|
||||
pyself, (char*)(const char*)self->ParamName(i).mb_str());
|
||||
@@ -4382,7 +4382,7 @@ static PyObject *_wrap_IEHtmlWindowBase_LoadStream(PyObject *, PyObject *args, P
|
||||
arg2 = wxPyCBInputStream_copy((wxPyCBInputStream*)temp2->m_wxis);
|
||||
} else {
|
||||
PyErr_Clear(); // clear the failure of the wxPyConvert above
|
||||
arg2 = wxPyCBInputStream_create(obj1, false);
|
||||
arg2 = wxPyCBInputStream_create(obj1, true);
|
||||
if (arg2 == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError, "Expected wx.InputStream or Python file-like object.");
|
||||
SWIG_fail;
|
||||
|
@@ -283,7 +283,7 @@ public:
|
||||
|
||||
virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect) {
|
||||
bool found;
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if ((found = wxPyCBH_findCallback(m_myInst, "DrawItem"))) {
|
||||
PyObject* dcobj = wxPyMake_wxObject(&dc,false);
|
||||
PyObject* idobj = wxPyConstructObject((void*)&id, wxT("wxTreeItemId"), false);
|
||||
@@ -495,7 +495,7 @@ public:
|
||||
const wxTreeItemId& item2) {
|
||||
int rval = 0;
|
||||
bool found;
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if ((found = wxPyCBH_findCallback(m_myInst, "OnCompareItems"))) {
|
||||
PyObject *o1 = wxPyConstructObject((void*)&item1, wxT("wxTreeItemId"), 0);
|
||||
PyObject *o2 = wxPyConstructObject((void*)&item2, wxT("wxTreeItemId"), 0);
|
||||
@@ -757,7 +757,7 @@ public:
|
||||
//size_t GetSelections(wxArrayTreeItemIds&) const;
|
||||
%extend {
|
||||
PyObject* GetSelections() {
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
PyObject* rval = PyList_New(0);
|
||||
wxArrayTreeItemIds array;
|
||||
size_t num, x;
|
||||
@@ -793,7 +793,7 @@ public:
|
||||
PyObject* GetFirstChild(const wxTreeItemId& item) {
|
||||
void* cookie = 0;
|
||||
wxTreeItemId* ritem = new wxTreeItemId(self->GetFirstChild(item, cookie));
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
PyObject* tup = PyTuple_New(2);
|
||||
PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(ritem, wxT("wxTreeItemId"), true));
|
||||
PyTuple_SET_ITEM(tup, 1, wxPyMakeSwigPtr(cookie, wxT("void")));
|
||||
@@ -808,7 +808,7 @@ public:
|
||||
// passed to GetNextChild in order to continue the search.
|
||||
PyObject* GetNextChild(const wxTreeItemId& item, void* cookie) {
|
||||
wxTreeItemId* ritem = new wxTreeItemId(self->GetNextChild(item, cookie));
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
PyObject* tup = PyTuple_New(2);
|
||||
PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(ritem, wxT("wxTreeItemId"), true));
|
||||
PyTuple_SET_ITEM(tup, 1, wxPyMakeSwigPtr(cookie, wxT("void")));
|
||||
@@ -927,7 +927,7 @@ public:
|
||||
PyObject* GetBoundingRect(const wxTreeItemId& item, bool textOnly = false) {
|
||||
wxRect rect;
|
||||
if (self->GetBoundingRect(item, rect, textOnly)) {
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
wxRect* r = new wxRect(rect);
|
||||
PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), 1);
|
||||
wxPyEndBlockThreads(blocked);
|
||||
|
@@ -1549,7 +1549,7 @@ public:
|
||||
|
||||
virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect) {
|
||||
bool found;
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if ((found = wxPyCBH_findCallback(m_myInst, "DrawItem"))) {
|
||||
PyObject* dcobj = wxPyMake_wxObject(&dc,false);
|
||||
PyObject* idobj = wxPyConstructObject((void*)&id, wxT("wxTreeItemId"), false);
|
||||
@@ -1673,7 +1673,7 @@ public:
|
||||
const wxTreeItemId& item2) {
|
||||
int rval = 0;
|
||||
bool found;
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if ((found = wxPyCBH_findCallback(m_myInst, "OnCompareItems"))) {
|
||||
PyObject *o1 = wxPyConstructObject((void*)&item1, wxT("wxTreeItemId"), 0);
|
||||
PyObject *o2 = wxPyConstructObject((void*)&item2, wxT("wxTreeItemId"), 0);
|
||||
@@ -1822,7 +1822,7 @@ static void wxPyTreeListCtrl_SetItemPyData(wxPyTreeListCtrl *self,wxTreeItemId c
|
||||
data->SetData(obj);
|
||||
}
|
||||
static PyObject *wxPyTreeListCtrl_GetSelections(wxPyTreeListCtrl *self){
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
PyObject* rval = PyList_New(0);
|
||||
wxArrayTreeItemIds array;
|
||||
size_t num, x;
|
||||
@@ -1838,7 +1838,7 @@ static PyObject *wxPyTreeListCtrl_GetSelections(wxPyTreeListCtrl *self){
|
||||
static PyObject *wxPyTreeListCtrl_GetFirstChild(wxPyTreeListCtrl *self,wxTreeItemId const &item){
|
||||
void* cookie = 0;
|
||||
wxTreeItemId* ritem = new wxTreeItemId(self->GetFirstChild(item, cookie));
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
PyObject* tup = PyTuple_New(2);
|
||||
PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(ritem, wxT("wxTreeItemId"), true));
|
||||
PyTuple_SET_ITEM(tup, 1, wxPyMakeSwigPtr(cookie, wxT("void")));
|
||||
@@ -1847,7 +1847,7 @@ static PyObject *wxPyTreeListCtrl_GetFirstChild(wxPyTreeListCtrl *self,wxTreeIte
|
||||
}
|
||||
static PyObject *wxPyTreeListCtrl_GetNextChild(wxPyTreeListCtrl *self,wxTreeItemId const &item,void *cookie){
|
||||
wxTreeItemId* ritem = new wxTreeItemId(self->GetNextChild(item, cookie));
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
PyObject* tup = PyTuple_New(2);
|
||||
PyTuple_SET_ITEM(tup, 0, wxPyConstructObject(ritem, wxT("wxTreeItemId"), true));
|
||||
PyTuple_SET_ITEM(tup, 1, wxPyMakeSwigPtr(cookie, wxT("void")));
|
||||
@@ -1885,7 +1885,7 @@ static PyObject *wxPyTreeListCtrl_GetNextChild(wxPyTreeListCtrl *self,wxTreeItem
|
||||
static PyObject *wxPyTreeListCtrl_GetBoundingRect(wxPyTreeListCtrl *self,wxTreeItemId const &item,bool textOnly=false){
|
||||
wxRect rect;
|
||||
if (self->GetBoundingRect(item, rect, textOnly)) {
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
wxRect* r = new wxRect(rect);
|
||||
PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), 1);
|
||||
wxPyEndBlockThreads(blocked);
|
||||
|
@@ -312,7 +312,7 @@ public:
|
||||
wxObject* wxObj;
|
||||
wxNode* node = list->GetFirst();
|
||||
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
pyList = PyList_New(0);
|
||||
while (node) {
|
||||
wxObj = node->GetData();
|
||||
|
@@ -1816,7 +1816,7 @@ static PyObject *wxPyPolygonShape_GetOriginalPoints(wxPyPolygonShape *self){
|
||||
wxObject* wxObj;
|
||||
wxNode* node = list->GetFirst();
|
||||
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
pyList = PyList_New(0);
|
||||
while (node) {
|
||||
wxObj = node->GetData();
|
||||
@@ -1855,7 +1855,7 @@ static PyObject *wxDiagram_GetShapeList(wxDiagram *self){
|
||||
// work for any class for the VERY generic cases, but beyond that the helper
|
||||
// needs to know more about the type.
|
||||
wxList* wxPy_wxListHelper(PyObject* pyList, const wxChar* className) {
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if (!PyList_Check(pyList)) {
|
||||
PyErr_SetString(PyExc_TypeError, "Expected a list object.");
|
||||
wxPyEndBlockThreads(blocked);
|
||||
@@ -1888,7 +1888,7 @@ wxList* wxPy_wxListHelper(PyObject* pyList, const wxChar* className) {
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
wxList* wxPy_wxRealPoint_ListHelper(PyObject* pyList) {
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if (!PyList_Check(pyList)) {
|
||||
PyErr_SetString(PyExc_TypeError, "Expected a list object.");
|
||||
wxPyEndBlockThreads(blocked);
|
||||
@@ -1960,7 +1960,7 @@ PyObject* wxPy_ConvertRealPointList(wxListBase* listbase) {
|
||||
wxObject* wxObj;
|
||||
wxNode* node = list->GetFirst();
|
||||
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
pyList = PyList_New(0);
|
||||
while (node) {
|
||||
wxObj = node->GetData();
|
||||
@@ -1981,7 +1981,7 @@ PyObject* wxPy_ConvertShapeList(wxListBase* listbase) {
|
||||
wxObject* wxObj;
|
||||
wxNode* node = list->GetFirst();
|
||||
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
pyList = PyList_New(0);
|
||||
while (node) {
|
||||
wxObj = node->GetData();
|
||||
|
@@ -171,7 +171,7 @@ void wxOGLCleanUp();
|
||||
// work for any class for the VERY generic cases, but beyond that the helper
|
||||
// needs to know more about the type.
|
||||
wxList* wxPy_wxListHelper(PyObject* pyList, const wxChar* className) {
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if (!PyList_Check(pyList)) {
|
||||
PyErr_SetString(PyExc_TypeError, "Expected a list object.");
|
||||
wxPyEndBlockThreads(blocked);
|
||||
@@ -204,7 +204,7 @@ wxList* wxPy_wxListHelper(PyObject* pyList, const wxChar* className) {
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
wxList* wxPy_wxRealPoint_ListHelper(PyObject* pyList) {
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
if (!PyList_Check(pyList)) {
|
||||
PyErr_SetString(PyExc_TypeError, "Expected a list object.");
|
||||
wxPyEndBlockThreads(blocked);
|
||||
@@ -276,7 +276,7 @@ PyObject* wxPy_ConvertRealPointList(wxListBase* listbase) {
|
||||
wxObject* wxObj;
|
||||
wxNode* node = list->GetFirst();
|
||||
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
pyList = PyList_New(0);
|
||||
while (node) {
|
||||
wxObj = node->GetData();
|
||||
@@ -297,7 +297,7 @@ PyObject* wxPy_ConvertShapeList(wxListBase* listbase) {
|
||||
wxObject* wxObj;
|
||||
wxNode* node = list->GetFirst();
|
||||
|
||||
bool blocked = wxPyBeginBlockThreads();
|
||||
wxPyBlock_t blocked = wxPyBeginBlockThreads();
|
||||
pyList = PyList_New(0);
|
||||
while (node) {
|
||||
wxObj = node->GetData();
|
||||
|
Reference in New Issue
Block a user