From: Paul Koning Date: Mon, 3 Oct 2011 16:14:39 +0000 (+0000) Subject: * python/py-value.c (valpy_get_address): Use Py_XINCREF. X-Git-Tag: sid-snapshot-20111101~312 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3fcaed3833ab21b4d36489b7662084a5a9f1e12e;p=platform%2Fupstream%2Fbinutils.git * python/py-value.c (valpy_get_address): Use Py_XINCREF. (value_to_value_object): Fetch value if it was lazy. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 931fb05..625bbbb 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2011-10-03 Paul Koning + + * python/py-value.c (valpy_get_address): Use Py_XINCREF. + (value_to_value_object): Fetch value if it was lazy. + 2011-10-02 Jan Kratochvil Code cleanup. diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c index fc5053a..252d9b9 100644 --- a/gdb/python/py-value.c +++ b/gdb/python/py-value.c @@ -209,7 +209,7 @@ valpy_get_address (PyObject *self, void *closure) val_obj->address = value_to_value_object (res_val); } - Py_INCREF (val_obj->address); + Py_XINCREF (val_obj->address); return val_obj->address; } @@ -1045,7 +1045,15 @@ PyObject * value_to_value_object (struct value *val) { value_object *val_obj; + volatile struct gdb_exception except; + TRY_CATCH (except, RETURN_MASK_ALL) + { + if (value_lazy (val)) + value_fetch_lazy (val); + } + GDB_PY_HANDLE_EXCEPTION (except); + val_obj = PyObject_New (value_object, &value_object_type); if (val_obj != NULL) {