diff options
author | Tom Tromey <tom@tromey.com> | 2019-06-28 23:17:24 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-07-17 12:19:10 -0600 |
commit | fd6c75eecd92ad888cc369489b31d2ed9015130e (patch) | |
tree | a24918acae65b8422a94842553e954cb1c5ff9eb /gdb | |
parent | f6cc34a91c173634b6afcc1a48601a601fbace37 (diff) | |
download | gdb-fd6c75eecd92ad888cc369489b31d2ed9015130e.zip gdb-fd6c75eecd92ad888cc369489b31d2ed9015130e.tar.gz gdb-fd6c75eecd92ad888cc369489b31d2ed9015130e.tar.bz2 |
Merge refresh and refresh_window methods
Earlier refactorings introduced the refresh and refresh_window
methods, following the previous TUI code. However, these methods are
essentially the same, so this patch merges them. It also removes some
redundant refresh_window calls, because the execution window is
updated automatically by the corresponding source (or disassembly)
window.
gdb/ChangeLog
2019-07-17 Tom Tromey <tom@tromey.com>
* tui/tui-winsource.c (tui_show_exec_info_content): Don't call
refresh_window.
* tui/tui-wingeneral.c (tui_gen_win_info::refresh_window): Call
touchwin.
(tui_data_window::refresh_window): Call refresh_window on data
items. Always call superclass refresh_window.
(tui_win_info::refresh): Remove.
(tui_source_window_base::refresh_window): Update.
(tui_refresh_all): Update.
* tui/tui-layout.c (show_source_disasm_command): Remove call to
refresh_window.
(show_source_or_disasm_and_command): Likewise.
* tui/tui-data.h (struct tui_win_info) <refresh>: Remove.
(struct tui_source_window_base) <refresh>: Likewise.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 17 | ||||
-rw-r--r-- | gdb/tui/tui-data.h | 5 | ||||
-rw-r--r-- | gdb/tui/tui-layout.c | 2 | ||||
-rw-r--r-- | gdb/tui/tui-wingeneral.c | 33 | ||||
-rw-r--r-- | gdb/tui/tui-winsource.c | 1 |
5 files changed, 29 insertions, 29 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5ae3e35..3e7bd9e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,22 @@ 2019-07-17 Tom Tromey <tom@tromey.com> + * tui/tui-winsource.c (tui_show_exec_info_content): Don't call + refresh_window. + * tui/tui-wingeneral.c (tui_gen_win_info::refresh_window): Call + touchwin. + (tui_data_window::refresh_window): Call refresh_window on data + items. Always call superclass refresh_window. + (tui_win_info::refresh): Remove. + (tui_source_window_base::refresh_window): Update. + (tui_refresh_all): Update. + * tui/tui-layout.c (show_source_disasm_command): Remove call to + refresh_window. + (show_source_or_disasm_and_command): Likewise. + * tui/tui-data.h (struct tui_win_info) <refresh>: Remove. + (struct tui_source_window_base) <refresh>: Likewise. + +2019-07-17 Tom Tromey <tom@tromey.com> + * tui/tui-winsource.c (tui_clear_source_content) (tui_show_source_content): Update. * tui/tui-source.c (tui_source_window::showing_source_p): Check diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h index 0245031..fcbb940 100644 --- a/gdb/tui/tui-data.h +++ b/gdb/tui/tui-data.h @@ -303,9 +303,6 @@ public: return false; } - /* Refresh this window and any associated windows. */ - virtual void refresh (); - /* Called after all the TUI windows are refreshed, to let this window have a chance to update itself further. */ virtual void refresh_all () @@ -380,7 +377,7 @@ public: } void make_visible (bool visible) override; - void refresh () override; + void refresh_window () override; void refresh_all () override; /* Refill the source window's source cache and update it. If this diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c index a3ded20..a02c157 100644 --- a/gdb/tui/tui-layout.c +++ b/gdb/tui/tui-layout.c @@ -683,7 +683,6 @@ show_source_disasm_command (void) TUI_CMD_WIN->origin.y); tui_make_visible (TUI_CMD_WIN); } - TUI_CMD_WIN->refresh_window (); tui_set_current_layout_to (SRC_DISASSEM_COMMAND); } } @@ -924,7 +923,6 @@ show_source_or_disasm_and_command (enum tui_layout_type layout_type) { tui_win_list[CMD_WIN] = make_command_window (cmd_height, src_height); - TUI_CMD_WIN->refresh_window (); } else { diff --git a/gdb/tui/tui-wingeneral.c b/gdb/tui/tui-wingeneral.c index 22f841e..2902b80 100644 --- a/gdb/tui/tui-wingeneral.c +++ b/gdb/tui/tui-wingeneral.c @@ -37,7 +37,10 @@ void tui_gen_win_info::refresh_window () { if (handle != NULL) - wrefresh (handle); + { + touchwin (handle); + wrefresh (handle); + } } /* See tui-data.h. */ @@ -49,12 +52,11 @@ tui_data_window::refresh_window () { for (auto &&win : regs_content) { - if (win != NULL && win->handle != NULL) - wrefresh (win->handle); + if (win != NULL) + win->refresh_window (); } } - else - tui_gen_win_info::refresh_window (); + tui_gen_win_info::refresh_window (); } /* Function to delete the curses window, checking for NULL. */ @@ -231,20 +233,10 @@ tui_make_all_invisible (void) /* See tui-data.h. */ void -tui_win_info::refresh () -{ - touchwin (handle); - refresh_window (); -} - -/* See tui-data.h. */ - -void -tui_source_window_base::refresh () +tui_source_window_base::refresh_window () { - touchwin (execution_info->handle); execution_info->refresh_window (); - tui_win_info::refresh (); + tui_win_info::refresh_window (); } /* Function to refresh all the windows currently displayed. */ @@ -257,13 +249,10 @@ tui_refresh_all () for (tui_win_info *win_info : all_tui_windows ()) { if (win_info->is_visible) - win_info->refresh (); + win_info->refresh_window (); } if (locator->is_visible) - { - touchwin (locator->handle); - locator->refresh_window (); - } + locator->refresh_window (); } diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c index 39591db..38d5532 100644 --- a/gdb/tui/tui-winsource.c +++ b/gdb/tui/tui-winsource.c @@ -513,7 +513,6 @@ tui_show_exec_info_content (struct tui_source_window_base *win_info) const tui_exec_info_content *content = exec_info->get_content (); werase (exec_info->handle); - exec_info->refresh_window (); for (int cur_line = 1; cur_line <= win_info->content.size (); cur_line++) mvwaddstr (exec_info->handle, cur_line, |