diff options
author | Martin Hunt <hunt@redhat.com> | 2002-12-19 01:09:09 +0000 |
---|---|---|
committer | Martin Hunt <hunt@redhat.com> | 2002-12-19 01:09:09 +0000 |
commit | a8de2f93df2d46eee6c1b3b8ed340d6ba004eddb (patch) | |
tree | 0e943e85be4be0c00d8064fd466fc39c4839b89e | |
parent | 67882b9f716c7c90641f66a281bc777e62abe9eb (diff) | |
download | gdb-a8de2f93df2d46eee6c1b3b8ed340d6ba004eddb.tar.gz |
2002-12-18 Martin M. Hunt <hunt@redhat.com>
* library/regwin.itb (RegWin::update): When updating, check
that a cell still exists before checking its value.
(RegWin::_select_group): Clear cells with changed values before
changing group. After new group is selected, highlight any changed
values still visible.
-rw-r--r-- | gdb/gdbtk/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/gdbtk/library/regwin.itb | 22 |
2 files changed, 27 insertions, 3 deletions
diff --git a/gdb/gdbtk/ChangeLog b/gdb/gdbtk/ChangeLog index bb0bbc869a8..b4e50716a65 100644 --- a/gdb/gdbtk/ChangeLog +++ b/gdb/gdbtk/ChangeLog @@ -1,3 +1,11 @@ +2002-12-18 Martin M. Hunt <hunt@redhat.com> + + * library/regwin.itb (RegWin::update): When updating, check + that a cell still exists before checking its value. + (RegWin::_select_group): Clear cells with changed values before + changing group. After new group is selected, highlight any changed + values still visible. + 2002-12-17 Martin M. Hunt <hunt@redhat.com> * library/interface.tcl (gdbtk_tcl_fputs_target_err): diff --git a/gdb/gdbtk/library/regwin.itb b/gdb/gdbtk/library/regwin.itb index 0cb1962627f..d68fd4eb0b9 100644 --- a/gdb/gdbtk/library/regwin.itb +++ b/gdb/gdbtk/library/regwin.itb @@ -901,14 +901,30 @@ itcl::body RegWin::_update_register {rn} { # ------------------------------------------------------------------ itcl::body RegWin::_select_group {} { set gr [$itk_component(frame).opt get] + debug $gr if {$gr == ""} { return } + + # Change anything on the old change list back to normal + foreach r $_change_list { + if {[info exists _cell($r)] && $_cell($r) != "hidden"} { + $itk_component(table) tag cell normal $_cell($r) + } + } + set _group $gr + _layout_table + + # highlight changed registers if they still exist in the new group + foreach r $_change_list { + if {[info exists _cell($r)] && $_cell($r) != "hidden" && $_data($_cell($r)) != ""} { + $itk_component(table) tag cell highlight $_cell($r) + } + } + # Clear gdb's change list catch {gdb_reginfo changed} - update "" - _layout_table } @@ -999,7 +1015,7 @@ itcl::body RegWin::update {event} { # Change anything on the old change list back to normal foreach r $_change_list { - if {$_cell($r) != "hidden"} { + if {[info exists _cell($r)] && $_cell($r) != "hidden"} { $itk_component(table) tag cell normal $_cell($r) } } |