mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-23 13:21:43 +08:00
2000-10-13 Fernando Nasser <fnasser@totem.to.cygnus.com>
* varobj.c (varobj_update): Prevent uninitialized error code to be returned on type_changed. Also, prevent value_equal() to be called for the types we do not want to test for updates.
This commit is contained in:
parent
b9a6918857
commit
ae093f962b
@ -1,3 +1,9 @@
|
||||
2000-10-13 Fernando Nasser <fnasser@totem.to.cygnus.com>
|
||||
|
||||
* varobj.c (varobj_update): Prevent uninitialized error code to be
|
||||
returned on type_changed. Also, prevent value_equal() to be called
|
||||
for the types we do not want to test for updates.
|
||||
|
||||
2000-10-11 Fernando Nasser <fnasser@totem.to.cygnus.com>
|
||||
|
||||
From Grant Edwards <grante@visi.com>
|
||||
|
29
gdb/varobj.c
29
gdb/varobj.c
@ -917,21 +917,24 @@ varobj_update (struct varobj *var, struct varobj ***changelist)
|
||||
/* Initialize a stack for temporary results */
|
||||
vpush (&result, NULL);
|
||||
|
||||
if (type_changed || !my_value_equal (var->value, new, &error2))
|
||||
/* If this is a "use_selected_frame" varobj, and its type has changed,
|
||||
them note that it's changed. */
|
||||
if (type_changed)
|
||||
{
|
||||
/* Note that it's changed There a couple of exceptions here,
|
||||
though. We don't want some types to be reported as
|
||||
"changed". The exception to this is if this is a
|
||||
"use_selected_frame" varobj, and its type has changed. */
|
||||
if (type_changed || type_changeable (var))
|
||||
{
|
||||
vpush (&result, var);
|
||||
changed++;
|
||||
}
|
||||
vpush (&result, var);
|
||||
changed++;
|
||||
}
|
||||
/* If values are not equal, note that it's changed.
|
||||
There a couple of exceptions here, though.
|
||||
We don't want some types to be reported as "changed". */
|
||||
else if (type_changeable (var) && !my_value_equal (var->value, new, &error2))
|
||||
{
|
||||
vpush (&result, var);
|
||||
changed++;
|
||||
/* error2 replaces var->error since this new value
|
||||
WILL replace the old one. */
|
||||
var->error = error2;
|
||||
}
|
||||
/* error2 replaces var->error since this new value
|
||||
WILL replace the old one. */
|
||||
var->error = error2;
|
||||
|
||||
/* We must always keep around the new value for this root
|
||||
variable expression, or we lose the updated children! */
|
||||
|
Loading…
Reference in New Issue
Block a user