Patchwork [11/20] Set TUI locator height to 1

login
register
mail settings
Submitter Tom Tromey
Date Sept. 10, 2019, 7:08 p.m.
Message ID <20190910190857.6562-12-tom@tromey.com>
Download mbox | patch
Permalink /patch/34480/
State New
Headers show

Comments

Tom Tromey - Sept. 10, 2019, 7:08 p.m.
The TUI has long had code to resize the locator, using 2 as the
height.  However the code has "1" in a comment, like:

    locator->resize (2 /* 1 */ ,

This patch fixes the resizing code to set the height to 1.  Doing this
revealed what was probably the reason for setting the height to 2 in
the first place: this caused the locator window to scroll.  However,
this is easily handled by calling scrollok on the locator window.

gdb/ChangeLog
2019-09-10  Tom Tromey  <tom@tromey.com>

	* tui/tui-win.c (tui_resize_all, tui_adjust_win_heights): Use 1 as
	height for locator.
	* tui/tui-stack.c (tui_locator_window::rerender): Call scrollok.
	* tui/tui-layout.c (show_source_disasm_command, show_data)
	(show_source_or_disasm_and_command): Use 1 as height for locator.
---
 gdb/ChangeLog        |  8 ++++++++
 gdb/tui/tui-layout.c | 18 ++++++------------
 gdb/tui/tui-stack.c  |  1 +
 gdb/tui/tui-win.c    |  9 ++++-----
 4 files changed, 19 insertions(+), 17 deletions(-)

Patch

diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 33d3dd6cb87..03115a7baa1 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -511,10 +511,8 @@  show_source_disasm_command (void)
 			  tui_term_width (),
 			  0,
 			  src_height - 1);
-  locator->resize (2 /* 1 */ ,
-		   tui_term_width (),
-		   0,
-		   (src_height + asm_height) - 1);
+  locator->resize (1, tui_term_width (),
+		   0, (src_height + asm_height) - 1);
 
   if (TUI_CMD_WIN == NULL)
     tui_win_list[CMD_WIN] = new tui_cmd_window ();
@@ -561,10 +559,8 @@  show_data (enum tui_layout_type new_layout)
 				  tui_term_width (),
 				  0,
 				  data_height - 1);
-  locator->resize (2 /* 1 */ ,
-		   tui_term_width (),
-		   0,
-		   total_height - 1);
+  locator->resize (1, tui_term_width (),
+		   0, total_height - 1);
   TUI_CMD_WIN->resize (TUI_CMD_WIN->height, tui_term_width (),
 		       0, total_height);
 
@@ -635,10 +631,8 @@  show_source_or_disasm_and_command (enum tui_layout_type layout_type)
       win_info = TUI_DISASM_WIN;
     }
 
-  locator->resize (2 /* 1 */ ,
-		   tui_term_width (),
-		   0,
-		   src_height - 1);
+  locator->resize (1, tui_term_width (),
+		   0, src_height - 1);
   win_info->resize (src_height - 1,
 		    tui_term_width (),
 		    0,
diff --git a/gdb/tui/tui-stack.c b/gdb/tui/tui-stack.c
index 163a5ad7255..6bfbb0e5ea6 100644
--- a/gdb/tui/tui-stack.c
+++ b/gdb/tui/tui-stack.c
@@ -229,6 +229,7 @@  tui_locator_window::rerender ()
   if (handle != NULL)
     {
       std::string string = make_status_line ();
+      scrollok (handle, FALSE);
       wmove (handle, 0, 0);
       /* We ignore the return value from wstandout and wstandend, casting
 	 them to void in order to avoid a compiler warning.  The warning
diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
index d07a777360f..77044738ef6 100644
--- a/gdb/tui/tui-win.c
+++ b/gdb/tui/tui-win.c
@@ -580,8 +580,7 @@  tui_resize_all (void)
 
 	  src_win->resize (new_height, screenwidth, 0, 0);
 
-	  locator->resize (2 /* 1 */, screenwidth,
-			   0, new_height);
+	  locator->resize (1, screenwidth, 0, new_height);
 
 	  new_height = screenheight - (new_height + 1);
 	  TUI_CMD_WIN->resize (new_height, screenwidth,
@@ -637,7 +636,7 @@  tui_resize_all (void)
 	  second_win->resize (new_height, screenwidth,
 			      0, first_win->height - 1);
 
-	  locator->resize (2 /* 1 */, screenwidth,
+	  locator->resize (1, screenwidth,
 			   0, second_win->origin.y + new_height);
 
 	  /* Change the command window's height/width.  */
@@ -1119,7 +1118,7 @@  tui_adjust_win_heights (struct tui_win_info *primary_win_info,
 		  second_win->resize (second_win->height + second_split_diff,
 				      width,
 				      0, first_win->height - 1);
-		  locator->resize (2 /* 1 */, width,
+		  locator->resize (1, width,
 				   0, (second_win->origin.y
 				       + second_win->height + 1));
 
@@ -1155,7 +1154,7 @@  tui_adjust_win_heights (struct tui_win_info *primary_win_info,
 		  else
 		    second_win->resize (second_win->height, width,
 					0, first_win->height - 1);
-		  locator->resize (2 /* 1 */, width,
+		  locator->resize (1, width,
 				   0, (second_win->origin.y
 				       + second_win->height + 1));
 		  TUI_CMD_WIN->origin.y = locator->origin.y + 1;