aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-06-28 23:17:24 -0600
committerTom Tromey <tom@tromey.com>2019-07-17 12:19:10 -0600
commitfd6c75eecd92ad888cc369489b31d2ed9015130e (patch)
treea24918acae65b8422a94842553e954cb1c5ff9eb /gdb
parentf6cc34a91c173634b6afcc1a48601a601fbace37 (diff)
downloadgdb-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/ChangeLog17
-rw-r--r--gdb/tui/tui-data.h5
-rw-r--r--gdb/tui/tui-layout.c2
-rw-r--r--gdb/tui/tui-wingeneral.c33
-rw-r--r--gdb/tui/tui-winsource.c1
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,