aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-06-30 20:46:18 -0600
committerTom Tromey <tom@tromey.com>2019-07-17 12:19:16 -0600
commitf4e049775aa3b025501d6b4aae1cdb975505a767 (patch)
tree4bf2a315859770d8cf37e7f204623c88af766064 /gdb/tui
parent0379b8837a875403866e2cf1a0315bee1d8d5694 (diff)
downloadgdb-f4e049775aa3b025501d6b4aae1cdb975505a767.zip
gdb-f4e049775aa3b025501d6b4aae1cdb975505a767.tar.gz
gdb-f4e049775aa3b025501d6b4aae1cdb975505a767.tar.bz2
Simplify show_source_disasm_command
This is the first of a few patches to further simplify window (re-)initialization in tui-layout.c. When changing the layout, a window may be created or, if it already exists, simply resized. These two cases normally are identical, but this was obscured by the way the code was written. This patch changes show_source_disasm_command to unify the creation and re-initialization cases. gdb/ChangeLog 2019-07-17 Tom Tromey <tom@tromey.com> * tui/tui-layout.c (show_source_disasm_command): Simplify window resetting.
Diffstat (limited to 'gdb/tui')
-rw-r--r--gdb/tui/tui-layout.c48
1 files changed, 17 insertions, 31 deletions
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 0ed7b29..4e914b7 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -559,43 +559,29 @@ show_source_disasm_command (void)
asm_height = tui_term_height () - (src_height + cmd_height);
if (TUI_SRC_WIN == NULL)
- tui_win_list[SRC_WIN] = make_source_window (src_height, 0);
- else
- {
- TUI_SRC_WIN->reset (src_height,
- tui_term_width (),
- 0,
- 0);
- tui_make_visible (TUI_SRC_WIN);
- TUI_SRC_WIN->m_has_locator = false;
- }
+ tui_win_list[SRC_WIN] = new tui_source_window ();
+ TUI_SRC_WIN->reset (src_height,
+ tui_term_width (),
+ 0,
+ 0);
+ tui_make_visible (TUI_SRC_WIN);
+ TUI_SRC_WIN->m_has_locator = false;
struct tui_locator_window *locator = tui_locator_win_info_ptr ();
gdb_assert (locator != nullptr);
tui_show_source_content (TUI_SRC_WIN);
if (TUI_DISASM_WIN == NULL)
- {
- tui_win_list[DISASSEM_WIN]
- = make_disasm_window (asm_height, src_height - 1);
- locator->reset (2 /* 1 */ ,
- tui_term_width (),
- 0,
- (src_height + asm_height) - 1);
- }
- else
- {
- locator->reset (2 /* 1 */ ,
- tui_term_width (),
- 0,
- (src_height + asm_height) - 1);
- TUI_DISASM_WIN->m_has_locator = true;
- TUI_DISASM_WIN->reset (asm_height,
- tui_term_width (),
- 0,
- src_height - 1);
- tui_make_visible (TUI_DISASM_WIN);
- }
+ tui_win_list[DISASSEM_WIN] = new tui_disasm_window ();
+ TUI_DISASM_WIN->reset (asm_height,
+ tui_term_width (),
+ 0,
+ src_height - 1);
+ tui_make_visible (TUI_DISASM_WIN);
+ locator->reset (2 /* 1 */ ,
+ tui_term_width (),
+ 0,
+ (src_height + asm_height) - 1);
TUI_SRC_WIN->m_has_locator = false;
TUI_DISASM_WIN->m_has_locator = true;
tui_make_visible (locator);