+2013-05-20 Tom Tromey <tromey@redhat.com>
+
+ * python/py-event.c (evpy_emit_event): Decref the
+ result of PyObject_CallFunctionObjArgs.
+
2013-05-20 Tom Tromey <tromey@redhat.com>
* python/py-cmd.c (cmdpy_completer): Use iterator protocol.
for (i = 0; i < PyList_Size (callback_list_copy); i++)
{
PyObject *func = PyList_GetItem (callback_list_copy, i);
+ PyObject *func_result;
if (func == NULL)
goto fail;
- if (!PyObject_CallFunctionObjArgs (func, event, NULL))
+ func_result = PyObject_CallFunctionObjArgs (func, event, NULL);
+
+ if (func_result == NULL)
{
/* Print the trace here, but keep going -- we want to try to
call all of the callbacks even if one is broken. */
gdbpy_print_stack ();
}
+ else
+ {
+ Py_DECREF (func_result);
+ }
}
Py_XDECREF (callback_list_copy);