X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftui%2Ftui-hooks.c;h=2555da7f1ae2916070cb0edeede6142c2414dd23;hb=7226433c44e3792aeea6ad19c54cd3056ea4308e;hp=9bac4a883aa7975b09e52e1de00f6d2fc622dbea;hpb=115ac53b852ed91e23d97e8357f24216609fa86f;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/tui/tui-hooks.c b/gdb/tui/tui-hooks.c index 9bac4a883a..2555da7f1a 100644 --- a/gdb/tui/tui-hooks.c +++ b/gdb/tui/tui-hooks.c @@ -45,7 +45,6 @@ #include "tui/tui-regs.h" #include "tui/tui-win.h" #include "tui/tui-stack.h" -#include "tui/tui-windata.h" #include "tui/tui-winsource.h" #include "gdb_curses.h" @@ -72,6 +71,9 @@ tui_register_changed (struct frame_info *frame, int regno) { struct frame_info *fi; + if (!tui_is_window_visible (DATA_WIN)) + return; + /* 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 @@ -81,7 +83,7 @@ tui_register_changed (struct frame_info *frame, int regno) if (tui_refreshing_registers == 0) { tui_refreshing_registers = 1; - tui_check_register_values (fi); + TUI_DATA_WIN->check_register_values (fi); tui_refreshing_registers = 0; } } @@ -91,7 +93,7 @@ tui_register_changed (struct frame_info *frame, int regno) static void tui_event_create_breakpoint (struct breakpoint *b) { - tui_update_all_breakpoint_info (); + tui_update_all_breakpoint_info (nullptr); } /* Breakpoint deletion hook. @@ -99,13 +101,13 @@ tui_event_create_breakpoint (struct breakpoint *b) static void tui_event_delete_breakpoint (struct breakpoint *b) { - tui_update_all_breakpoint_info (); + tui_update_all_breakpoint_info (b); } static void tui_event_modify_breakpoint (struct breakpoint *b) { - tui_update_all_breakpoint_info (); + tui_update_all_breakpoint_info (nullptr); } /* Refresh TUI's frame and register information. This is a hook intended to be @@ -153,7 +155,7 @@ tui_refresh_frame_and_register_information (int registers_too_p) && (frame_info_changed_p || registers_too_p)) { tui_refreshing_registers = 1; - tui_check_register_values (fi); + TUI_DATA_WIN->check_register_values (fi); tui_refreshing_registers = 0; } } @@ -204,18 +206,6 @@ tui_normal_stop (struct bpstats *bs, int print_frame) tui_refresh_frame_and_register_information (/*registers_too_p=*/1); } -/* Observer for source_cache_cleared. */ - -static void -tui_redisplay_source () -{ - if (tui_is_window_visible (SRC_WIN)) - { - /* Force redisplay. */ - TUI_SRC_WIN->refill (); - } -} - /* Token associated with observers registered while TUI hooks are installed. */ static const gdb::observers::token tui_observers_token {}; @@ -251,8 +241,6 @@ tui_attach_detach_observers (bool attach) tui_normal_stop, attach); attach_or_detach (gdb::observers::register_changed, tui_register_changed, attach); - attach_or_detach (gdb::observers::source_styling_changed, - tui_redisplay_source, attach); } /* Install the TUI specific hooks. */ @@ -275,7 +263,6 @@ void tui_remove_hooks (void) { deprecated_print_frame_info_listing_hook = 0; - deprecated_query_hook = 0; /* Remove our observers. */ tui_attach_detach_observers (false);