[PR tui/15933] TUI shows registers of the wrong frame the first time
authorPedro Alves <palves@redhat.com>
Thu, 5 Sep 2013 11:20:16 +0000 (11:20 +0000)
committerPedro Alves <palves@redhat.com>
Thu, 5 Sep 2013 11:20:16 +0000 (11:20 +0000)
I've stumbled on this by inspection.

When the TUI's register window is first displayed, it always shows the
registers of the current frame, instead of of the selected frame,
which is obviously bogus.

E.g.,

 (gdb) step             # into "function"
 (gdb) up
 (gdb) tui reg general  # or C-x 2, C-x 2

shows the registers of "function", rather than the caller's.

A subsequent:

 (gdb) frame

or

 (gdb) down
 (gdb) up

can be used as workaround to "fix" it.

gdb/
2013-09-05  Pedro Alves  <palves@redhat.com>

PR tui/15933
* tui/tui-regs.c (tui_show_registers): Show registers of the
selected frame, not the current frame.

gdb/ChangeLog
gdb/tui/tui-regs.c

index 1954af5bc3e85994c4a29539efc371378912e839..463d9f67bb1c01b82eb3668d83ad339f7c34b665 100644 (file)
@@ -1,3 +1,9 @@
+2013-09-05  Pedro Alves  <palves@redhat.com>
+
+       PR tui/15933
+       * tui/tui-regs.c (tui_show_registers): Show registers of the
+       selected frame, not the current frame.
+
 2013-09-05  Ricard Wanderlof  <ricardw@axis.com>
 
        * MAINTAINERS (Write After Approval): Add myself to the list.
index bb723402560ee7ffc2c50f20bb6bb00849f67f72..b043a29c24b9ff3de64ded29871a960d31d748c6 100644 (file)
@@ -157,7 +157,7 @@ tui_show_registers (struct reggroup *group)
 
   if (target_has_registers && target_has_stack && target_has_memory)
     {
-      ret = tui_show_register_group (group, get_current_frame (),
+      ret = tui_show_register_group (group, get_selected_frame (NULL),
                                      group == display_info->current_group);
     }
   if (ret == TUI_FAILURE)