From 7c392d1de1400202eb86f7679628c4b7c14f8108 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sat, 4 Jan 2020 14:35:02 -0700 Subject: [PATCH] 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 * 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 --- gdb/ChangeLog | 6 ++++++ gdb/tui/tui-wingeneral.c | 7 ++++--- gdb/tui/tui-winsource.c | 6 +++++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ed2856c2466..735c46bf705 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2020-01-11 Tom Tromey + + * 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 * inferior.c (print_inferior): Switch inferior before printing it. diff --git a/gdb/tui/tui-wingeneral.c b/gdb/tui/tui-wingeneral.c index dae4255ada2..0a9fc5238d6 100644 --- a/gdb/tui/tui-wingeneral.c +++ b/gdb/tui/tui-wingeneral.c @@ -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, diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c index 69070115ec6..fbee2e3e181 100644 --- a/gdb/tui/tui-winsource.c +++ b/gdb/tui/tui-winsource.c @@ -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) -- 2.30.2