summaryrefslogtreecommitdiffstats
path: root/glib/pygspawn.c
diff options
context:
space:
mode:
Diffstat (limited to 'glib/pygspawn.c')
-rw-r--r--glib/pygspawn.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/glib/pygspawn.c b/glib/pygspawn.c
index cded501..3471b4a 100644
--- a/glib/pygspawn.c
+++ b/glib/pygspawn.c
@@ -65,11 +65,12 @@ PyObject *
pyg_pid_new(GPid pid)
{
_PyLongObject *pygpid;
- pygpid = PyObject_NEW(_PyLongObject, &PyGPid_Type);
#if PY_VERSION_HEX >= 0x03000000
-# warning "FIXME: figure out how to subclass long"
+ return PyObject_CallMethod((PyObject*)&PyLong_Type, "__new__", "Oi",
+ &PyGPid_Type, pygpid);
#else
+ pygpid = PyObject_NEW(_PyLongObject, &PyGPid_Type);
pygpid->ob_ival = pid;
#endif
return (PyObject *) pygpid;