Index: src/draw.c
===================================================================
--- src/draw.c	(revision 1667)
+++ src/draw.c	(working copy)
@@ -640,11 +640,10 @@
 	/*build the pointlist*/
 	points = Py_BuildValue("((ii)(ii)(ii)(ii))", l, t, r, t, r, b, l, b);
 
-	args = Py_BuildValue("(OOOi)", surfobj, colorobj, points, width);
+	args = Py_BuildValue("(OONi)", surfobj, colorobj, points, width);
 	if(args) ret = polygon(NULL, args);
 
 	Py_XDECREF(args);
-	Py_XDECREF(points);
 	return ret;
 }
 
Index: src/camera.c
===================================================================
--- src/camera.c	(revision 1667)
+++ src/camera.c	(working copy)
@@ -218,7 +218,7 @@
     if (v4l2_get_control(self->fd, V4L2_CID_BRIGHTNESS, &value))
         self->brightness = value;
 #endif    
-    return Py_BuildValue ("(OOO)", PyBool_FromLong(self->hflip), PyBool_FromLong(self->vflip), PyInt_FromLong(self->brightness));
+    return Py_BuildValue ("(NNN)", PyBool_FromLong(self->hflip), PyBool_FromLong(self->vflip), PyInt_FromLong(self->brightness));
 }
 
 /* set_controls() - changes camera settings if supported by the camera */
@@ -244,7 +244,7 @@
     if (v4l2_set_control(self->fd, V4L2_CID_BRIGHTNESS, brightness))
         self->brightness = brightness;
 #endif    
-    return Py_BuildValue ("(OOO)", PyBool_FromLong(self->hflip), PyBool_FromLong(self->vflip), PyInt_FromLong(self->brightness));
+    return Py_BuildValue ("(NNN)", PyBool_FromLong(self->hflip), PyBool_FromLong(self->vflip), PyInt_FromLong(self->brightness));
 }
 
 /* get_size() - returns the dimensions of the images being recorded */
Index: src/mouse.c
===================================================================
--- src/mouse.c	(revision 1667)
+++ src/mouse.c	(working copy)
@@ -171,7 +171,7 @@
 mouse_get_cursor (PyObject* self)
 {
     SDL_Cursor *cursor = NULL;
-    PyObject* xordata, *anddata, *ret;
+    PyObject* xordata, *anddata;
     int size, loop, w, h, spotx, spoty;
 
     VIDEO_INIT_CHECK ();
@@ -202,10 +202,7 @@
         PyTuple_SET_ITEM (anddata, loop, PyInt_FromLong (cursor->mask[loop]));
     }
 
-    ret = Py_BuildValue ("((ii)(ii)OO)", w, h, spotx, spoty, xordata, anddata);
-    Py_DECREF(xordata);
-    Py_DECREF(anddata);
-    return ret;
+    return Py_BuildValue ("((ii)(ii)NN)", w, h, spotx, spoty, xordata, anddata);
 }
 
 static PyMethodDef mouse_builtins[] =
Index: src/mask.c
===================================================================
--- src/mask.c	(revision 1667)
+++ src/mask.c	(working copy)
@@ -248,7 +248,7 @@
     bitmask_t *mask = PyMask_AsBitmap(self);
     int x, y;
     long int m10, m01, m00;
-    PyObject *ret, *xobj, *yobj;
+    PyObject *xobj, *yobj;
 
     m10 = m01 = m00 = 0;
     
@@ -270,10 +270,7 @@
         yobj = PyInt_FromLong(0);
     }
     
-    ret =  Py_BuildValue ("(OO)", xobj, yobj);
-    Py_DECREF(xobj);
-    Py_DECREF(yobj);
-    return ret;
+    return Py_BuildValue("(NN)", xobj, yobj);
 }
 
 static PyObject* mask_angle(PyObject* self, PyObject* args)
