diff options
author | Pedro Alves <palves@redhat.com> | 2009-01-18 21:28:39 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2009-01-18 21:28:39 +0000 |
commit | aefc706471ace00a164b5a65717d5a0932d2eaf0 (patch) | |
tree | 74d4899e33a523638b1a8c190edad5d1687f7462 /gdb/tui | |
parent | 29f49a6a4f3f165090de6c85fdb0f29dcb579ae7 (diff) | |
download | gdb-aefc706471ace00a164b5a65717d5a0932d2eaf0.zip gdb-aefc706471ace00a164b5a65717d5a0932d2eaf0.tar.gz gdb-aefc706471ace00a164b5a65717d5a0932d2eaf0.tar.bz2 |
* tui/tui-disasm.c (tui_vertical_disassem_scroll): Scroll one line
at a time, times NUM_TO_SCROLL.
* tui/tui-winsource.c (tui_horizontal_source_scroll): Don't try to
fetch the selected frame if there is no stack.
Diffstat (limited to 'gdb/tui')
-rw-r--r-- | gdb/tui/tui-disasm.c | 15 | ||||
-rw-r--r-- | gdb/tui/tui-winsource.c | 15 |
2 files changed, 13 insertions, 17 deletions
diff --git a/gdb/tui/tui-disasm.c b/gdb/tui/tui-disasm.c index 9c4f9d5..c079087 100644 --- a/gdb/tui/tui-disasm.c +++ b/gdb/tui/tui-disasm.c @@ -379,24 +379,17 @@ tui_vertical_disassem_scroll (enum tui_scroll_direction scroll_direction, { CORE_ADDR pc; tui_win_content content; - struct symtab *s; struct tui_line_or_address val; - int max_lines, dir; - struct symtab_and_line cursal = get_current_source_symtab_and_line (); + int dir; content = (tui_win_content) TUI_DISASM_WIN->generic.content; - if (cursal.symtab == (struct symtab *) NULL) - s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL))); - else - s = cursal.symtab; - /* Account for hilite. */ - max_lines = TUI_DISASM_WIN->generic.height - 2; pc = content[0]->which_element.source.line_or_addr.u.addr; - dir = (scroll_direction == FORWARD_SCROLL) ? max_lines : - max_lines; + num_to_scroll++; + dir = (scroll_direction == FORWARD_SCROLL) ? num_to_scroll : -num_to_scroll; val.loa = LOA_ADDRESS; val.u.addr = tui_find_disassembly_address (pc, dir); - tui_update_source_window_as_is (TUI_DISASM_WIN, s, val, FALSE); + tui_update_source_window_as_is (TUI_DISASM_WIN, NULL, val, FALSE); } } diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c index b93c2c9..158aa89 100644 --- a/gdb/tui/tui-winsource.c +++ b/gdb/tui/tui-winsource.c @@ -312,13 +312,16 @@ tui_horizontal_source_scroll (struct tui_win_info *win_info, if (win_info->generic.content != NULL) { int offset; - struct symtab *s; - struct symtab_and_line cursal = get_current_source_symtab_and_line (); + struct symtab *s = NULL; - if (cursal.symtab == (struct symtab *) NULL) - s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL))); - else - s = cursal.symtab; + if (win_info->generic.type == SRC_WIN) + { + struct symtab_and_line cursal = get_current_source_symtab_and_line (); + if (cursal.symtab == NULL) + s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL))); + else + s = cursal.symtab; + } if (direction == LEFT_SCROLL) offset = win_info->detail.source_info.horizontal_offset + num_to_scroll; |