* 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.
This commit is contained in:
parent
29f49a6a4f
commit
aefc706471
|
@ -1,3 +1,10 @@
|
||||||
|
2009-01-18 Pedro Alves <pedro@codesourcery.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2009-01-18 Pedro Alves <pedro@codesourcery.com>
|
2009-01-18 Pedro Alves <pedro@codesourcery.com>
|
||||||
|
|
||||||
PR gdb/9747:
|
PR gdb/9747:
|
||||||
|
|
|
@ -379,24 +379,17 @@ tui_vertical_disassem_scroll (enum tui_scroll_direction scroll_direction,
|
||||||
{
|
{
|
||||||
CORE_ADDR pc;
|
CORE_ADDR pc;
|
||||||
tui_win_content content;
|
tui_win_content content;
|
||||||
struct symtab *s;
|
|
||||||
struct tui_line_or_address val;
|
struct tui_line_or_address val;
|
||||||
int max_lines, dir;
|
int dir;
|
||||||
struct symtab_and_line cursal = get_current_source_symtab_and_line ();
|
|
||||||
|
|
||||||
content = (tui_win_content) TUI_DISASM_WIN->generic.content;
|
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;
|
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.loa = LOA_ADDRESS;
|
||||||
val.u.addr = tui_find_disassembly_address (pc, dir);
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -312,13 +312,16 @@ tui_horizontal_source_scroll (struct tui_win_info *win_info,
|
||||||
if (win_info->generic.content != NULL)
|
if (win_info->generic.content != NULL)
|
||||||
{
|
{
|
||||||
int offset;
|
int offset;
|
||||||
struct symtab *s;
|
struct symtab *s = NULL;
|
||||||
struct symtab_and_line cursal = get_current_source_symtab_and_line ();
|
|
||||||
|
|
||||||
if (cursal.symtab == (struct symtab *) NULL)
|
if (win_info->generic.type == SRC_WIN)
|
||||||
s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL)));
|
{
|
||||||
else
|
struct symtab_and_line cursal = get_current_source_symtab_and_line ();
|
||||||
s = cursal.symtab;
|
if (cursal.symtab == NULL)
|
||||||
|
s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL)));
|
||||||
|
else
|
||||||
|
s = cursal.symtab;
|
||||||
|
}
|
||||||
|
|
||||||
if (direction == LEFT_SCROLL)
|
if (direction == LEFT_SCROLL)
|
||||||
offset = win_info->detail.source_info.horizontal_offset + num_to_scroll;
|
offset = win_info->detail.source_info.horizontal_offset + num_to_scroll;
|
||||||
|
|
Loading…
Reference in New Issue