diff options
author | Martin Hunt <hunt@redhat.com> | 2002-12-03 23:44:49 +0000 |
---|---|---|
committer | Martin Hunt <hunt@redhat.com> | 2002-12-03 23:44:49 +0000 |
commit | a64d9551ecac33496950bb0b9b29b69df9425d43 (patch) | |
tree | bc1a86111d747bde32894506254b42fa3b092599 | |
parent | 8dffc81930997cd9da6d58537ab48f4d7973c8bd (diff) | |
download | gdb-a64d9551ecac33496950bb0b9b29b69df9425d43.tar.gz |
2002-12-03 Martin M. Hunt <hunt@redhat.com>
* library/vartree.itb (buildlayer): Check for error when updating
a variable's value.
(update_var): Ditto.
-rw-r--r-- | gdb/gdbtk/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/gdbtk/library/vartree.itb | 18 |
2 files changed, 18 insertions, 4 deletions
diff --git a/gdb/gdbtk/ChangeLog b/gdb/gdbtk/ChangeLog index 2142c96c8ba..1cb929752b1 100644 --- a/gdb/gdbtk/ChangeLog +++ b/gdb/gdbtk/ChangeLog @@ -1,5 +1,9 @@ 2002-12-03 Martin M. Hunt <hunt@redhat.com> + * library/vartree.itb (buildlayer): Check for error when updating + a variable's value. + (update_var): Ditto. + * library/srcpref.itb: Latest tk doesn't support "-col" as a grid option. Use "-column". diff --git a/gdb/gdbtk/library/vartree.itb b/gdb/gdbtk/library/vartree.itb index fa6bc8b6f8b..32e3389ad2d 100644 --- a/gdb/gdbtk/library/vartree.itb +++ b/gdb/gdbtk/library/vartree.itb @@ -71,7 +71,12 @@ itcl::body VarTree::buildlayer {tlist in} { set x [expr [lindex [$c bbox $j1] 2] + 5] set j2 [$c create text $x $y -text "([$var type])" -fill $colors(type) -anchor w -font global/fixed] set x [expr [lindex [$c bbox $j2] 2] + 5] - set j3 [$c create text $x $y -text "[$var value]" -fill $colors(value) -anchor w -font global/fixed] + if {[catch {$var value} val]} { + # error accessing memory, etc. + set j3 [$c create text $x $y -text $val -fill $colors(error) -anchor w -font global/fixed] + } else { + set j3 [$c create text $x $y -text $val -fill $colors(value) -anchor w -font global/fixed] + } set var_to_items($var) [list $j1 $j2 $j3] set item_to_var($j1) $var @@ -126,11 +131,15 @@ itcl::body VarTree::update_var {var enabled check} { if {$enabled} { $c itemconfigure $nam -fill $colors(name) $c itemconfigure $typ -fill $colors(type) - if {[$c itemcget $val -text] != [$var value]} { - $c itemconfigure $val -text [$var value] -fill $colors(change) + + if {[catch {$var value} value]} { + set color $colors(error) + } elseif {[$c itemcget $val -text] != $value} { + set color $colors(change) } else { - $c itemconfigure $val -text [$var value] -fill $colors(value) + set color $colors(value) } + $c itemconfigure $val -text $value -fill $color } else { $c itemconfigure $nam -fill $colors(disabled) $c itemconfigure $typ -fill $colors(disabled) @@ -381,6 +390,7 @@ itcl::body VarTree::_compare {a b} { itcl::body VarTree::_init_data {} { set colors(name) "\#0000C0" set colors(type) "red" + set colors(error) "red" set colors(value) "black" set colors(change) "green" set colors(disabled) "gray50" |