tui: replace deprecated_register_changed_hook with observer
This is a straightforward replacement of the TUI's use of the aforementioned hook with the register_changed observer. Since this was the only user of the hook, this patch also removes the hook. gdb/ChangeLog: * defs.h (deprecated_register_changed_hook): Remove prototype. * interps.c (clear_iterpreter_hooks): Remove reference to deprecated_register_changed_hook. * top.c (deprecated_register_changed_hook): Remove prototype. * valops.c (value_assign): Remove reference to deprecated_register_changed_hook. * tui/tui-hooks.c (tui_register_changed): Add parameter "frame". Add comment documenting the function. (tui_register_changed_observer): Define. (tui_install_hooks): Remove reference to deprecated_register_changed_hook. Set tui_register_changed_observer. (tui_remove_hooks): Remove reference to deprecated_register_changed_hook. Unset tui_register_changed_observer.
This commit is contained in:
parent
328e7bfdde
commit
a9bd710f87
6 changed files with 31 additions and 14 deletions
|
@ -1,3 +1,21 @@
|
|||
2015-07-08 Patrick Palka <patrick@parcs.ath.cx>
|
||||
|
||||
* defs.h (deprecated_register_changed_hook): Remove prototype.
|
||||
* interps.c (clear_iterpreter_hooks): Remove reference to
|
||||
deprecated_register_changed_hook.
|
||||
* top.c (deprecated_register_changed_hook): Remove prototype.
|
||||
* valops.c (value_assign): Remove reference to
|
||||
deprecated_register_changed_hook.
|
||||
* tui/tui-hooks.c (tui_register_changed): Add parameter "frame".
|
||||
Add comment documenting the function.
|
||||
(tui_register_changed_observer): Define.
|
||||
(tui_install_hooks): Remove reference to
|
||||
deprecated_register_changed_hook. Set
|
||||
tui_register_changed_observer.
|
||||
(tui_remove_hooks): Remove reference to
|
||||
deprecated_register_changed_hook. Unset
|
||||
tui_register_changed_observer.
|
||||
|
||||
2015-07-08 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
PR compile/18484
|
||||
|
|
|
@ -649,7 +649,6 @@ extern void (*deprecated_readline_begin_hook) (char *, ...)
|
|||
ATTRIBUTE_FPTR_PRINTF_1;
|
||||
extern char *(*deprecated_readline_hook) (const char *);
|
||||
extern void (*deprecated_readline_end_hook) (void);
|
||||
extern void (*deprecated_register_changed_hook) (int regno);
|
||||
extern void (*deprecated_context_hook) (int);
|
||||
extern ptid_t (*deprecated_target_wait_hook) (ptid_t ptid,
|
||||
struct target_waitstatus *status,
|
||||
|
|
|
@ -370,7 +370,6 @@ clear_interpreter_hooks (void)
|
|||
deprecated_readline_begin_hook = 0;
|
||||
deprecated_readline_hook = 0;
|
||||
deprecated_readline_end_hook = 0;
|
||||
deprecated_register_changed_hook = 0;
|
||||
deprecated_context_hook = 0;
|
||||
deprecated_target_wait_hook = 0;
|
||||
deprecated_call_command_hook = 0;
|
||||
|
|
|
@ -221,11 +221,6 @@ void (*deprecated_detach_hook) (void);
|
|||
|
||||
void (*deprecated_interactive_hook) (void);
|
||||
|
||||
/* Tell the GUI someone changed the register REGNO. -1 means
|
||||
that the caller does not know which register changed or
|
||||
that several registers have changed (see value_assign). */
|
||||
void (*deprecated_register_changed_hook) (int regno);
|
||||
|
||||
/* Called when going to wait for the target. Usually allows the GUI
|
||||
to run while waiting for target events. */
|
||||
|
||||
|
|
|
@ -66,11 +66,18 @@ tui_new_objfile_hook (struct objfile* objfile)
|
|||
/* Prevent recursion of deprecated_register_changed_hook(). */
|
||||
static int tui_refreshing_registers = 0;
|
||||
|
||||
/* Observer for the register_changed notification. */
|
||||
|
||||
static void
|
||||
tui_register_changed_hook (int regno)
|
||||
tui_register_changed (struct frame_info *frame, int regno)
|
||||
{
|
||||
struct frame_info *fi;
|
||||
|
||||
/* The frame of the register that was changed may differ from the selected
|
||||
frame, but we only want to show the register values of the selected frame.
|
||||
And even if the frames differ a register change made in one can still show
|
||||
up in the other. So we always use the selected frame here, and ignore
|
||||
FRAME. */
|
||||
fi = get_selected_frame (NULL);
|
||||
if (tui_refreshing_registers == 0)
|
||||
{
|
||||
|
@ -226,6 +233,7 @@ static struct observer *tui_inferior_exit_observer;
|
|||
static struct observer *tui_about_to_proceed_observer;
|
||||
static struct observer *tui_before_prompt_observer;
|
||||
static struct observer *tui_normal_stop_observer;
|
||||
static struct observer *tui_register_changed_observer;
|
||||
|
||||
/* Install the TUI specific hooks. */
|
||||
void
|
||||
|
@ -253,8 +261,8 @@ tui_install_hooks (void)
|
|||
= observer_attach_before_prompt (tui_before_prompt);
|
||||
tui_normal_stop_observer
|
||||
= observer_attach_normal_stop (tui_normal_stop);
|
||||
|
||||
deprecated_register_changed_hook = tui_register_changed_hook;
|
||||
tui_register_changed_observer
|
||||
= observer_attach_register_changed (tui_register_changed);
|
||||
}
|
||||
|
||||
/* Remove the TUI specific hooks. */
|
||||
|
@ -263,8 +271,6 @@ tui_remove_hooks (void)
|
|||
{
|
||||
deprecated_print_frame_info_listing_hook = 0;
|
||||
deprecated_query_hook = 0;
|
||||
deprecated_register_changed_hook = 0;
|
||||
|
||||
/* Remove our observers. */
|
||||
observer_detach_breakpoint_created (tui_bp_created_observer);
|
||||
tui_bp_created_observer = NULL;
|
||||
|
@ -280,6 +286,8 @@ tui_remove_hooks (void)
|
|||
tui_before_prompt_observer = NULL;
|
||||
observer_detach_normal_stop (tui_normal_stop_observer);
|
||||
tui_normal_stop_observer = NULL;
|
||||
observer_detach_register_changed (tui_register_changed_observer);
|
||||
tui_register_changed_observer = NULL;
|
||||
}
|
||||
|
||||
void _initialize_tui_hooks (void);
|
||||
|
|
|
@ -1170,8 +1170,6 @@ value_assign (struct value *toval, struct value *fromval)
|
|||
}
|
||||
|
||||
observer_notify_register_changed (frame, value_reg);
|
||||
if (deprecated_register_changed_hook)
|
||||
deprecated_register_changed_hook (-1);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue