--- pygobject-2.12.3/gobject/pygenum.c.orig	2006-10-03 10:03:43.000000000 -0400
+++ pygobject-2.12.3/gobject/pygenum.c	2007-04-11 10:44:24.000000000 -0400
@@ -292,6 +292,21 @@
     { NULL, 0, 0 }
 };
 
+static PyObject *
+pyg_enum___reduce__(PyGEnum *self, PyObject *args)
+{
+    if (!PyArg_ParseTuple(args, ":GEnum.__reduce__"))
+        return NULL;
+    return Py_BuildValue("(O(i)OOO)", ((PyObject *)self)->ob_type, PyInt_AsLong((PyObject *)self),
+                         PyObject_GetAttrString((PyObject *)self, "__dict__"), Py_None, Py_None);
+}
+
+static PyMethodDef pyg_enum_methods[] = {
+    {"__reduce__", (PyCFunction)pyg_enum___reduce__, METH_VARARGS},
+    { NULL, NULL, 0 }
+};
+
+
 PyTypeObject PyGEnum_Type = {
 	PyObject_HEAD_INIT(NULL)
 	0,
@@ -321,7 +336,7 @@
 	0,					  /* tp_weaklistoffset */
 	0,					  /* tp_iter */
 	0,					  /* tp_iternext */
-	0,					  /* tp_methods */
+	pyg_enum_methods,			  /* tp_methods */
 	0,					  /* tp_members */
 	pyg_enum_getsets,			  /* tp_getset */
 	0,	  				  /* tp_base */
