X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b7fc54becc0a72fa5b8c8bb30f4e087f93ad83d3..8f8b0a8dfed146fec87b78b2f5cece71b4c99d31:/wxPython/src/msw/controls2.cpp?ds=sidebyside diff --git a/wxPython/src/msw/controls2.cpp b/wxPython/src/msw/controls2.cpp index 0f2fde530e..9a88d7de7e 100644 --- a/wxPython/src/msw/controls2.cpp +++ b/wxPython/src/msw/controls2.cpp @@ -100,6 +100,8 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { DECLARE_DEF_STRING(DirDialogDefaultFolderStr); static const wxString wxPyEmptyString(wxT("")); + + static const long longzero = 0; // C++ Version of a Python aware class class wxPyListCtrl : public wxListCtrl { DECLARE_ABSTRACT_CLASS(wxPyListCtrl); @@ -211,11 +213,13 @@ public: int rval = 0; bool found; wxPyBeginBlockThreads(); - if ((found = m_myInst.findCallback("OnCompareItems"))) - rval = m_myInst.callCallback(Py_BuildValue( - "(OO)", - wxPyConstructObject((void*)&item1, "wxTreeItemId"), - wxPyConstructObject((void*)&item2, "wxTreeItemId"))); + if ((found = m_myInst.findCallback("OnCompareItems"))) { + PyObject *o1 = wxPyConstructObject((void*)&item1, "wxTreeItemId"); + PyObject *o2 = wxPyConstructObject((void*)&item2, "wxTreeItemId"); + rval = m_myInst.callCallback(Py_BuildValue("(OO)",o1,o2)); + Py_DECREF(o1); + Py_DECREF(o2); + } wxPyEndBlockThreads(); if (! found) rval = wxTreeCtrl::OnCompareItems(item1, item2); @@ -7780,7 +7784,7 @@ static PyObject *_wrap_wxTreeCtrl_GetFirstChild(PyObject *self, PyObject *args, wxTreeItemId * _result; wxPyTreeCtrl * _arg0; wxTreeItemId * _arg1; - long * _arg2; + long * _arg2 = (long *) &longzero; PyObject * _argo0 = 0; PyObject * _argo1 = 0; long temp; @@ -7789,7 +7793,7 @@ static PyObject *_wrap_wxTreeCtrl_GetFirstChild(PyObject *self, PyObject *args, char _ptemp[128]; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxTreeCtrl_GetFirstChild",_kwnames,&_argo0,&_argo1,&_obj2)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxTreeCtrl_GetFirstChild",_kwnames,&_argo0,&_argo1,&_obj2)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } @@ -7805,6 +7809,7 @@ static PyObject *_wrap_wxTreeCtrl_GetFirstChild(PyObject *self, PyObject *args, return NULL; } } + if (_obj2) { temp = (long) PyInt_AsLong(_obj2); _arg2 = &temp;