summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Hunt <hunt@redhat.com>2002-12-19 01:09:09 +0000
committerMartin Hunt <hunt@redhat.com>2002-12-19 01:09:09 +0000
commita8de2f93df2d46eee6c1b3b8ed340d6ba004eddb (patch)
tree0e943e85be4be0c00d8064fd466fc39c4839b89e
parent67882b9f716c7c90641f66a281bc777e62abe9eb (diff)
downloadgdb-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/ChangeLog8
-rw-r--r--gdb/gdbtk/library/regwin.itb22
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)
}
}