]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/contrib/ogl/ogl.cpp
corrected thread detection for Darwin / Mac OS X
[wxWidgets.git] / wxPython / contrib / ogl / ogl.cpp
index 0d7cb576ec8df0c7745ff7608484ac5751baeaf9..abd1f2f04e1caf52a4dc1bb251fdab9541e1c5d4 100644 (file)
@@ -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;