diff options
Diffstat (limited to 'glib/pygspawn.c')
-rw-r--r-- | glib/pygspawn.c | 5 |
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; |