Make TUI borders respect "set style enabled"

When adding support for styling the TUI borders, I neglected to have
this code check cli_styling.  As a result, "set style enabled off"
does not affect the borders.

This patch fixes this oversight.  While doing this, I found that
running gdb without an executable, enabling the TUI, and then trying
"set style enabled off" would fail with the mysterious "No registers".
The fix for this is to use deprecated_safe_get_selected_frame in
tui_source_window_base::refill.

gdb/ChangeLog
2020-01-11  Tom Tromey  <tom@tromey.com>

	* tui/tui-wingeneral.c (box_win): Check cli_styling.
	* tui/tui-winsource.c (tui_source_window_base::refill): Use
	deprecated_safe_get_selected_frame.

Change-Id: I36acda25dd9014d994d366b4a0e8faee9d95d0f8
This commit is contained in:
Tom Tromey 2020-01-04 14:35:02 -07:00
parent ef96a356b8
commit 7c392d1de1
3 changed files with 15 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2020-01-11 Tom Tromey <tom@tromey.com>
* tui/tui-wingeneral.c (box_win): Check cli_styling.
* tui/tui-winsource.c (tui_source_window_base::refill): Use
deprecated_safe_get_selected_frame.
2020-01-10 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
* inferior.c (print_inferior): Switch inferior before printing it.

View File

@ -55,9 +55,10 @@ box_win (struct tui_win_info *win_info,
/* tui_apply_style resets the style entirely, so be sure to call it
before applying ATTRS. */
tui_apply_style (win, (highlight_flag
? tui_active_border_style.style ()
: tui_border_style.style ()));
if (cli_styling)
tui_apply_style (win, (highlight_flag
? tui_active_border_style.style ()
: tui_border_style.style ()));
wattron (win, attrs);
#ifdef HAVE_WBORDER
wborder (win, tui_border_vline, tui_border_vline,

View File

@ -352,7 +352,11 @@ tui_source_window_base::refill ()
{
sal = get_current_source_symtab_and_line ();
if (sal.symtab == NULL)
sal = find_pc_line (get_frame_pc (get_selected_frame (NULL)), 0);
{
struct frame_info *fi = deprecated_safe_get_selected_frame ();
if (fi != nullptr)
sal = find_pc_line (get_frame_pc (fi), 0);
}
}
if (sal.pspace == nullptr)