diff options
-rw-r--r-- | gobject/gobjectmodule.c | 12 | ||||
-rw-r--r-- | tests/Makefile.am | 1 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index 0f1ba8f..10aea45 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -1832,7 +1832,12 @@ child_watch_func(GPid pid, gint status, gpointer data) child_data->data); else retval = PyObject_CallFunction(child_data->func, "ii", pid, status); - Py_XDECREF(retval); + + if (retval) + Py_DECREF(retval); + else + PyErr_Print(); + pyg_gil_state_release(gil); } @@ -1894,7 +1899,10 @@ _pyg_spawn_async_callback(gpointer user_data) retval = PyObject_CallFunction(data->func, "O", data->data); else retval = PyObject_CallFunction(data->func, NULL); - Py_XDECREF(retval); + if (retval) + Py_DECREF(retval); + else + PyErr_Print(); Py_DECREF(data->func); Py_XDECREF(data->data); g_free(data); diff --git a/tests/Makefile.am b/tests/Makefile.am index 650dd5a..9b0b8de 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -23,6 +23,7 @@ tests = \ test_dialog.py \ test_enum.py \ test_gtype.py \ + test_mainloop.py \ test_radiobutton.py \ test_signal.py \ test_subprocess.py \ |