tui_update_source_window (struct tui_source_window_base *win_info,
struct gdbarch *gdbarch,
struct symtab *s,
- struct tui_line_or_address line_or_addr,
- int noerror)
+ struct tui_line_or_address line_or_addr)
{
win_info->horizontal_offset = 0;
- tui_update_source_window_as_is (win_info, gdbarch, s, line_or_addr, noerror);
+ tui_update_source_window_as_is (win_info, gdbarch, s, line_or_addr);
}
tui_update_source_window_as_is (struct tui_source_window_base *win_info,
struct gdbarch *gdbarch,
struct symtab *s,
- struct tui_line_or_address line_or_addr,
- int noerror)
+ struct tui_line_or_address line_or_addr)
{
enum tui_status ret;
if (win_info->type == SRC_WIN)
- ret = tui_set_source_content (win_info, s, line_or_addr.u.line_no,
- noerror);
+ ret = tui_set_source_content (win_info, s, line_or_addr.u.line_no);
else
ret = tui_set_disassem_content (win_info, gdbarch, line_or_addr.u.addr);
sal = find_pc_line (addr, 0);
l.loa = LOA_LINE;
l.u.line_no = sal.line;
- tui_show_symtab_source (TUI_SRC_WIN, gdbarch, sal.symtab, l, FALSE);
+ tui_show_symtab_source (TUI_SRC_WIN, gdbarch, sal.symtab, l);
break;
}
}
default:
l.loa = LOA_LINE;
l.u.line_no = line;
- tui_show_symtab_source (TUI_SRC_WIN, gdbarch, s, l, FALSE);
+ tui_show_symtab_source (TUI_SRC_WIN, gdbarch, s, l);
if (tui_current_layout () == SRC_DISASSEM_COMMAND)
{
find_line_pc (s, line, &pc);
void
tui_source_window_base::update_tab_width ()
{
- /* We don't really change the height of any windows, but
- calling these 2 functions causes a complete regeneration
- and redisplay of the window's contents, which will take
- the new tab width into account. */
- make_invisible_and_set_new_height (height);
- make_visible_with_new_height ();
+ werase (handle);
+ rerender ();
}
-/* See tui-data.h. */
-
-void
-tui_source_window_base::set_new_height (int height)
-{
- execution_info->make_visible (false);
- execution_info->height = height;
- execution_info->origin.y = origin.y;
- if (height > 1)
- execution_info->viewport_height = height - 1;
- else
- execution_info->viewport_height = height;
- execution_info->viewport_height--;
-
- if (m_has_locator)
- {
- tui_locator_window *gen_win_info = tui_locator_win_info_ptr ();
- gen_win_info->make_visible (false);
- gen_win_info->origin.y = origin.y + height;
- }
-}
-
-/* See tui-data.h. */
-
void
-tui_source_window_base::do_make_visible_with_new_height ()
+tui_source_window_base::rerender ()
{
- execution_info->make_visible (true);
if (!content.empty ())
{
struct tui_line_or_address line_or_addr;
line_or_addr = start_line_or_addr;
tui_update_source_window (this, gdbarch,
- cursal.symtab, line_or_addr, TRUE);
+ cursal.symtab, line_or_addr);
}
else if (deprecated_safe_get_selected_frame () != NULL)
{
line.loa = LOA_ADDRESS;
find_line_pc (s, cursal.line, &line.u.addr);
}
- tui_update_source_window (this, gdbarch, s, line, TRUE);
- }
- if (m_has_locator)
- {
- tui_locator_win_info_ptr ()->make_visible (true);
- tui_show_locator_content ();
+ tui_update_source_window (this, gdbarch, s, line);
}
+ else
+ erase_source_content ();
}
/* See tui-data.h. */
}
tui_update_source_window_as_is (this, gdbarch, s,
- content[0].line_or_addr,
- FALSE);
+ content[0].line_or_addr);
}
/* Scroll the source forward or backward horizontally. */