diff options
author | Stephane Carrez <stcarrez@nerim.fr> | 2012-11-08 06:58:30 +0000 |
---|---|---|
committer | Stephane Carrez <stcarrez@nerim.fr> | 2012-11-08 06:58:30 +0000 |
commit | d69e6a338dcef599eee89853646fb4fd1b988bfe (patch) | |
tree | e155c2182c53d07c5147f55c5f89f34780cb8ec9 /gdb/tui | |
parent | 1e96de833a703034395bd7f2b3d532e344035bb8 (diff) | |
download | gdb-d69e6a338dcef599eee89853646fb4fd1b988bfe.zip gdb-d69e6a338dcef599eee89853646fb4fd1b988bfe.tar.gz gdb-d69e6a338dcef599eee89853646fb4fd1b988bfe.tar.bz2 |
* tui/tui-hooks.c (tui_inferior_exit): New function.
(tui_detach_hook): Remove.
(tui_install_hooks): Install the inferior exit observer.
(tui_remove_hooks): Remove it.
Diffstat (limited to 'gdb/tui')
-rw-r--r-- | gdb/tui/tui-hooks.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/gdb/tui/tui-hooks.c b/gdb/tui/tui-hooks.c index 4d1e063..1a415d1 100644 --- a/gdb/tui/tui-hooks.c +++ b/gdb/tui/tui-hooks.c @@ -245,11 +245,14 @@ tui_print_frame_info_listing_hook (struct symtab *s, tui_show_frame_info (get_selected_frame (NULL)); } -/* Called when the target process died or is detached. - Update the status line. */ +/* Perform all necessary cleanups regarding our module's inferior data + that is required after the inferior INF just exited. */ + static void -tui_detach_hook (void) +tui_inferior_exit (struct inferior *inf) { + /* Leave the SingleKey mode to make sure the gdb prompt is visible. */ + tui_set_key_mode (TUI_COMMAND_MODE); tui_show_frame_info (0); tui_display_main (); } @@ -258,6 +261,7 @@ tui_detach_hook (void) static struct observer *tui_bp_created_observer; static struct observer *tui_bp_deleted_observer; static struct observer *tui_bp_modified_observer; +static struct observer *tui_inferior_exit_observer; /* Install the TUI specific hooks. */ void @@ -278,9 +282,10 @@ tui_install_hooks (void) = observer_attach_breakpoint_deleted (tui_event_delete_breakpoint); tui_bp_modified_observer = observer_attach_breakpoint_modified (tui_event_modify_breakpoint); + tui_inferior_exit_observer + = observer_attach_inferior_exit (tui_inferior_exit); deprecated_register_changed_hook = tui_register_changed_hook; - deprecated_detach_hook = tui_detach_hook; } /* Remove the TUI specific hooks. */ @@ -292,7 +297,6 @@ tui_remove_hooks (void) deprecated_print_frame_info_listing_hook = 0; deprecated_query_hook = 0; deprecated_register_changed_hook = 0; - deprecated_detach_hook = 0; /* Remove our observers. */ observer_detach_breakpoint_created (tui_bp_created_observer); @@ -301,6 +305,8 @@ tui_remove_hooks (void) tui_bp_deleted_observer = NULL; observer_detach_breakpoint_modified (tui_bp_modified_observer); tui_bp_modified_observer = NULL; + observer_detach_inferior_exit (tui_inferior_exit_observer); + tui_inferior_exit_observer = NULL; } void _initialize_tui_hooks (void); |