diff options
author | Tom Tromey <tom@tromey.com> | 2019-10-01 17:29:49 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-10-09 16:50:35 -0600 |
commit | 7523da63ca33a37b54c2cde18b7752d0f0f11c26 (patch) | |
tree | 9c89a33c5d2848fa4613e5b558136a6cd000fb24 /gdb/tui/tui-win.c | |
parent | a7798e7f7dd1c4226376d455af957e369aa2a192 (diff) | |
download | binutils-gdb-7523da63ca33a37b54c2cde18b7752d0f0f11c26.tar.gz |
Make TUI window handle a unique_ptr
This changes tui_gen_win_info::handle to be a specialization of
unique_ptr. This is perhaps mildly uglier in some spots, due to the
proliferation of "get"; but on the other hand it cleans up some manual
management and it allows for the removal of tui_delete_win.
gdb/ChangeLog
2019-10-09 Tom Tromey <tom@tromey.com>
* tui/tui-wingeneral.h (tui_delete_win): Don't declare.
* tui/tui-stack.c (tui_locator_window::rerender): Update.
* tui/tui-command.c (tui_cmd_window::resize)
(tui_refresh_cmd_win): Update.
* tui/tui-win.c (tui_resize_all, tui_set_focus_command): Update.
* tui/tui.c (tui_rl_other_window, tui_enable): Update.
* tui/tui-data.c (~tui_gen_win_info): Remove.
* tui/tui-layout.c (tui_gen_win_info::resize): Update.
* tui/tui-io.c (update_cmdwin_start_line, tui_putc, tui_puts)
(tui_redisplay_readline, tui_mld_flush)
(tui_mld_erase_entire_line, tui_mld_getc, tui_getc): Update.
* tui/tui-regs.c (tui_data_window::delete_data_content_windows)
(tui_data_window::erase_data_content)
(tui_data_item_window::rerender)
(tui_data_item_window::refresh_window): Update.
* tui/tui-wingeneral.c (tui_gen_win_info::refresh_window)
(box_win, tui_gen_win_info::make_window)
(tui_gen_win_info::make_visible): Update.
(tui_delete_win): Remove.
* tui/tui-winsource.c
(tui_source_window_base::do_erase_source_content): Update.
(tui_show_source_line, tui_source_window_base::update_tab_width)
(tui_source_window_base::update_exec_info): Update.
* tui/tui-data.h (struct curses_deleter): New.
(struct tui_gen_win_info) <handle>: Now a unique_ptr.
(struct tui_gen_win_info) <~tui_gen_win_info>: Define.
Diffstat (limited to 'gdb/tui/tui-win.c')
-rw-r--r-- | gdb/tui/tui-win.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c index 37e22c550f9..41c61f12b21 100644 --- a/gdb/tui/tui-win.c +++ b/gdb/tui/tui-win.c @@ -529,7 +529,7 @@ tui_resize_all (void) #endif /* Turn keypad off while we resize. */ if (win_with_focus != TUI_CMD_WIN) - keypad (TUI_CMD_WIN->handle, FALSE); + keypad (TUI_CMD_WIN->handle.get (), FALSE); tui_update_gdb_sizes (); tui_set_term_height_to (screenheight); tui_set_term_width_to (screenwidth); @@ -639,7 +639,7 @@ tui_resize_all (void) /* Turn keypad back on, unless focus is in the command window. */ if (win_with_focus != TUI_CMD_WIN) - keypad (TUI_CMD_WIN->handle, TRUE); + keypad (TUI_CMD_WIN->handle.get (), TRUE); } } @@ -791,7 +791,7 @@ tui_set_focus_command (const char *arg, int from_tty) error (_("Window \"%s\" is not visible"), arg); tui_set_win_focus_to (win_info); - keypad (TUI_CMD_WIN->handle, (win_info != TUI_CMD_WIN)); + keypad (TUI_CMD_WIN->handle.get (), win_info != TUI_CMD_WIN); printf_filtered (_("Focus set to %s window.\n"), tui_win_with_focus ()->name ()); } |