]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/streams.i
Added regex to WXINC line (patch from Markus G)
[wxWidgets.git] / wxPython / src / streams.i
index 2e87f237a90733138ea5c968e8dfb7915b05c0bf..57daa5183387a6d84440587b608164cd4d6c1fd7 100644 (file)
     if ($source) {
         _ptr = new wxPyInputStream($source);
     }
-    if (_ptr) {
-        char    swigptr[64];
-        SWIG_MakePtr(swigptr, _ptr, "_wxPyInputStream_p");
-
-        PyObject* classobj = PyDict_GetItemString(wxPython_dict, "wxInputStreamPtr");
-        if (! classobj) {
-            Py_INCREF(Py_None);
-            $target = Py_None;
-        } else {
-            PyObject* arg = Py_BuildValue("(s)", swigptr);
-            $target = PyInstance_New(classobj, arg, NULL);
-            Py_DECREF(arg);
-
-            // set ThisOwn
-            PyObject_SetAttrString($target, "thisown", PyInt_FromLong(1));
-        }
-    } else {
-        Py_INCREF(Py_None);
-        $target = Py_None;
-    }
+    $target = wxPyConstructObject(_ptr, "wxInputStream", TRUE);
 }
 
 //----------------------------------------------------------------------
@@ -371,8 +352,10 @@ public:
         if (!PyObject_HasAttrString(py, name))
             return NULL;
         PyObject* o = PyObject_GetAttrString(py, name);
-        if (!PyMethod_Check(o) && !PyCFunction_Check(o))
+        if (!PyMethod_Check(o) && !PyCFunction_Check(o)) {
+            Py_DECREF(o);
             return NULL;
+        }
         return o;
     }
 
@@ -501,3 +484,10 @@ public:
 }
 
 
+//----------------------------------------------------------------------
+
+%init %{
+    wxPyPtrTypeMap_Add("wxInputStream", "wxPyInputStream");
+%}
+
+//----------------------------------------------------------------------