X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c8bc7bb84dcca816055d5876e4772551c48acda5..4101db8100f956b8ad2ea2d5f9e329134a6cce89:/wxPython/contrib/ogl/ogl.cpp diff --git a/wxPython/contrib/ogl/ogl.cpp b/wxPython/contrib/ogl/ogl.cpp index 9de0ddb93f..abd1f2f04e 100644 --- a/wxPython/contrib/ogl/ogl.cpp +++ b/wxPython/contrib/ogl/ogl.cpp @@ -172,7 +172,7 @@ PyObject* wxPyMake_wxShapeEvtHandler(wxShapeEvtHandler* source) { // already be a pointer to a Python object that we can use // in the OOR data. wxShapeEvtHandler* seh = (wxShapeEvtHandler*)source; - wxPyClientData* data = (wxPyClientData*)seh->GetClientObject(); + wxPyOORClientData* data = (wxPyOORClientData*)seh->GetClientObject(); if (data) { target = data->m_obj; Py_INCREF(target); @@ -181,11 +181,30 @@ PyObject* wxPyMake_wxShapeEvtHandler(wxShapeEvtHandler* source) { if (! target) { target = wxPyMake_wxObject2(source, FALSE); if (target != Py_None) - ((wxShapeEvtHandler*)source)->SetClientObject(new wxPyClientData(target)); + ((wxShapeEvtHandler*)source)->SetClientObject(new wxPyOORClientData(target)); } return target; } +//--------------------------------------------------------------------------- + +PyObject* wxPy_ConvertShapeList(wxListBase* list, const char* className) { + PyObject* pyList; + PyObject* pyObj; + wxObject* wxObj; + wxNode* node = list->First(); + + wxPyBeginBlockThreads(); + pyList = PyList_New(0); + while (node) { + wxObj = node->Data(); + pyObj = wxPyMake_wxShapeEvtHandler((wxShapeEvtHandler*)wxObj); + PyList_Append(pyList, pyObj); + node = node->Next(); + } + wxPyEndBlockThreads(); + return pyList; +} //---------------------------------------------------------------------------