X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4268f79856cbe66b8ad31b86ee183879cede98e3..4101db8100f956b8ad2ea2d5f9e329134a6cce89:/wxPython/contrib/ogl/ogl.cpp diff --git a/wxPython/contrib/ogl/ogl.cpp b/wxPython/contrib/ogl/ogl.cpp index 0d7cb576ec..abd1f2f04e 100644 --- a/wxPython/contrib/ogl/ogl.cpp +++ b/wxPython/contrib/ogl/ogl.cpp @@ -85,12 +85,6 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { return target; } -#if PYTHON_API_VERSION >= 1009 - static char* wxStringErrorMsg = "String or Unicode type required"; -#else - static char* wxStringErrorMsg = "String type required"; -#endif - //--------------------------------------------------------------------------- // This one will work for any class for the VERY generic cases, but beyond that // the helper needs to know more about the type. @@ -178,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); @@ -187,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; +} //--------------------------------------------------------------------------- @@ -230,7 +243,7 @@ static PyObject *_wrap_wxOGLInitialize(PyObject *self, PyObject *args, PyObject return NULL; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxOGLInitialize(); + wxOGLInitialize(); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -248,7 +261,7 @@ static PyObject *_wrap_wxOGLCleanUp(PyObject *self, PyObject *args, PyObject *kw return NULL; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxOGLCleanUp(); + wxOGLCleanUp(); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL;