Simplify show_source_disasm_command
authorTom Tromey <tom@tromey.com>
Mon, 1 Jul 2019 02:46:18 +0000 (20:46 -0600)
committerTom Tromey <tom@tromey.com>
Wed, 17 Jul 2019 18:19:16 +0000 (12:19 -0600)
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.

gdb/ChangeLog
gdb/tui/tui-layout.c

index d9645201a1abf44fe6e339505ef1722f805704d8..be9bce1dc5e98ed9dc84c3fdd5d2aad2f2b0ced7 100644 (file)
@@ -1,3 +1,8 @@
+2019-07-17  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-layout.c (show_source_disasm_command): Simplify window
+       resetting.
+
 2019-07-17  Tom Tromey  <tom@tromey.com>
 
        * tui/tui.h (tui_set_layout_by_name): Don't declare.
index 0ed7b29ce4b2560caeedadf665351f37672b22a8..4e914b79ea0aaee165ad6f4f7d613f19d711d667 100644 (file)
@@ -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);