From: Tom Tromey Date: Mon, 1 Jul 2019 02:46:18 +0000 (-0600) Subject: Simplify show_source_disasm_command X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f4e049775aa3b025501d6b4aae1cdb975505a767;p=binutils-gdb.git 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 * tui/tui-layout.c (show_source_disasm_command): Simplify window resetting. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d9645201a1a..be9bce1dc5e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2019-07-17 Tom Tromey + + * tui/tui-layout.c (show_source_disasm_command): Simplify window + resetting. + 2019-07-17 Tom Tromey * tui/tui.h (tui_set_layout_by_name): Don't declare. diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c index 0ed7b29ce4b..4e914b79ea0 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);