This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH]: PR tui/1995: Ctrl-L refresh in TUI only refreshes currentactive curses window.


Hi!

Committed this patch on mainline and 6_4 branch to fix PR 1995.
The CTRL-L was not refreshing the window when the focus was on
the command window.  A work arround existed to refresh it (leave and
re-enter TUI) but it's quite annoying.  The CTRl-L is now handled
even if the focus is on the command window.

Stephane

2005-11-11  Stephane Carrez  <stcarrez@nerim.fr>

	PR tui/1995
	* tui/tui-command.c (tui_dispatch_ctrl_char): Handle CTRL-L even if the
	focus is on the command window.
Index: tui/tui-command.c
===================================================================
RCS file: /cvs/src/src/gdb/tui/tui-command.c,v
retrieving revision 1.12
diff -u -p -r1.12 tui-command.c
--- tui/tui-command.c	31 Oct 2005 19:11:35 -0000	1.12
+++ tui/tui-command.c	11 Nov 2005 19:54:01 -0000
@@ -1,6 +1,6 @@
 /* Specific command window processing.
 
-   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
    Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
@@ -48,13 +48,14 @@ unsigned int
 tui_dispatch_ctrl_char (unsigned int ch)
 {
   struct tui_win_info *win_info = tui_win_with_focus ();
-  WINDOW *w = TUI_CMD_WIN->generic.handle;
 
-  /*
-     ** If the command window has the logical focus, or no-one does
-     ** assume it is the command window; in this case, pass the
-     ** character on through and do nothing here.
-   */
+  /* Handle the CTRL-L refresh for each window.  */
+  if (ch == '\f')
+    tui_refresh_all_win ();
+
+  /* If the command window has the logical focus, or no-one does
+     assume it is the command window; in this case, pass the
+     character on through and do nothing here.  */
   if (win_info == NULL || win_info == TUI_CMD_WIN)
     return ch;
   else
@@ -76,6 +77,7 @@ tui_dispatch_ctrl_char (unsigned int ch)
 	    {
 	      unsigned int page_ch = 0;
 	      unsigned int tmp_char;
+              WINDOW *w = TUI_CMD_WIN->generic.handle;
 
 	      tmp_char = 0;
 	      while (!key_is_end_sequence (tmp_char))
@@ -123,8 +125,7 @@ tui_dispatch_ctrl_char (unsigned int ch)
 	  tui_scroll_right (win_info, 1);
 	  break;
 	case '\f':
-	  tui_refresh_all_win ();
-	  break;
+          break;
 	default:
 	  c = ch_copy;
 	  break;

Attachment: signature.asc
Description: OpenPGP digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]