Change tui_check_register_values to be a method
This changes tui_check_register_values to be a method on tui_data_window. An additional check in tui_register_changed is needed, because TUI_DATA_WIN could be NULL at this point. 2019-08-20 Tom Tromey <tom@tromey.com> * tui/tui-regs.h (struct tui_data_window) <check_register_values>: Declare. (tui_check_register_values): Don't declare. * tui/tui-regs.c (tui_data_window::check_register_values): Rename from tui_check_register_values. * tui/tui-hooks.c (tui_register_changed): Update.
This commit is contained in:
parent
42cc14a753
commit
63356bfda1
|
@ -1,3 +1,12 @@
|
||||||
|
2019-08-20 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* tui/tui-regs.h (struct tui_data_window) <check_register_values>:
|
||||||
|
Declare.
|
||||||
|
(tui_check_register_values): Don't declare.
|
||||||
|
* tui/tui-regs.c (tui_data_window::check_register_values): Rename
|
||||||
|
from tui_check_register_values.
|
||||||
|
* tui/tui-hooks.c (tui_register_changed): Update.
|
||||||
|
|
||||||
2019-08-20 Tom Tromey <tom@tromey.com>
|
2019-08-20 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* tui/tui-regs.c (tui_reg_layout): Move later.
|
* tui/tui-regs.c (tui_reg_layout): Move later.
|
||||||
|
|
|
@ -71,6 +71,9 @@ tui_register_changed (struct frame_info *frame, int regno)
|
||||||
{
|
{
|
||||||
struct frame_info *fi;
|
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
|
/* 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.
|
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
|
And even if the frames differ a register change made in one can still show
|
||||||
|
@ -80,7 +83,7 @@ tui_register_changed (struct frame_info *frame, int regno)
|
||||||
if (tui_refreshing_registers == 0)
|
if (tui_refreshing_registers == 0)
|
||||||
{
|
{
|
||||||
tui_refreshing_registers = 1;
|
tui_refreshing_registers = 1;
|
||||||
tui_check_register_values (fi);
|
TUI_DATA_WIN->check_register_values (fi);
|
||||||
tui_refreshing_registers = 0;
|
tui_refreshing_registers = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -152,7 +155,7 @@ tui_refresh_frame_and_register_information (int registers_too_p)
|
||||||
&& (frame_info_changed_p || registers_too_p))
|
&& (frame_info_changed_p || registers_too_p))
|
||||||
{
|
{
|
||||||
tui_refreshing_registers = 1;
|
tui_refreshing_registers = 1;
|
||||||
tui_check_register_values (fi);
|
TUI_DATA_WIN->check_register_values (fi);
|
||||||
tui_refreshing_registers = 0;
|
tui_refreshing_registers = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -555,29 +555,24 @@ tui_data_window::refresh_window ()
|
||||||
given a particular frame. If the values have changed, they are
|
given a particular frame. If the values have changed, they are
|
||||||
updated with the new value and highlighted. */
|
updated with the new value and highlighted. */
|
||||||
void
|
void
|
||||||
tui_check_register_values (struct frame_info *frame)
|
tui_data_window::check_register_values (struct frame_info *frame)
|
||||||
{
|
{
|
||||||
if (TUI_DATA_WIN != NULL
|
if (regs_content.empty () && display_regs)
|
||||||
&& TUI_DATA_WIN->is_visible ())
|
tui_show_registers (current_group);
|
||||||
|
else
|
||||||
{
|
{
|
||||||
if (TUI_DATA_WIN->regs_content.empty ()
|
for (auto &&data_item_win_ptr : regs_content)
|
||||||
&& TUI_DATA_WIN->display_regs)
|
|
||||||
tui_show_registers (TUI_DATA_WIN->current_group);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
for (auto &&data_item_win_ptr : TUI_DATA_WIN->regs_content)
|
int was_hilighted;
|
||||||
{
|
|
||||||
int was_hilighted;
|
|
||||||
|
|
||||||
was_hilighted = data_item_win_ptr->highlight;
|
was_hilighted = data_item_win_ptr->highlight;
|
||||||
|
|
||||||
tui_get_register (frame, data_item_win_ptr.get (),
|
tui_get_register (frame, data_item_win_ptr.get (),
|
||||||
data_item_win_ptr->item_no,
|
data_item_win_ptr->item_no,
|
||||||
&data_item_win_ptr->highlight);
|
&data_item_win_ptr->highlight);
|
||||||
|
|
||||||
if (data_item_win_ptr->highlight || was_hilighted)
|
if (data_item_win_ptr->highlight || was_hilighted)
|
||||||
tui_display_register (data_item_win_ptr.get ());
|
tui_display_register (data_item_win_ptr.get ());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,6 +100,8 @@ struct tui_data_window : public tui_win_info
|
||||||
started from. If nothing is displayed (-1) is returned. */
|
started from. If nothing is displayed (-1) is returned. */
|
||||||
int display_registers_from_line (int line_no);
|
int display_registers_from_line (int line_no);
|
||||||
|
|
||||||
|
void check_register_values (struct frame_info *frame);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
void do_scroll_vertical (int num_to_scroll) override;
|
void do_scroll_vertical (int num_to_scroll) override;
|
||||||
|
@ -120,7 +122,6 @@ protected:
|
||||||
void rerender () override;
|
void rerender () override;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern void tui_check_register_values (struct frame_info *);
|
|
||||||
extern void tui_show_registers (struct reggroup *group);
|
extern void tui_show_registers (struct reggroup *group);
|
||||||
|
|
||||||
#endif /* TUI_TUI_REGS_H */
|
#endif /* TUI_TUI_REGS_H */
|
||||||
|
|
Loading…
Reference in New Issue