texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[5994] Fix visual-nell on MS-Windows.


From: Eli Zaretskii
Subject: [5994] Fix visual-nell on MS-Windows.
Date: Fri, 26 Dec 2014 11:20:19 +0000

Revision: 5994
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=5994
Author:   eliz
Date:     2014-12-26 11:20:18 +0000 (Fri, 26 Dec 2014)
Log Message:
-----------
Fix visual-nell on MS-Windows.  Patch from Jason Hood.

 info/pcterm.c (ScreenVisualBell): Fix setting visual attribute
 on the mode line.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/info/pcterm.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2014-12-26 10:54:34 UTC (rev 5993)
+++ trunk/ChangeLog     2014-12-26 11:20:18 UTC (rev 5994)
@@ -1,3 +1,8 @@
+2014-12-26  Jason Hood  <address@hidden>  (tiny change)
+
+       * info/pcterm.c (ScreenVisualBell): Fix setting visual attribute
+       on the mode line.
+
 2014-12-26  Eli Zaretskii  <address@hidden>
 
        * info/info-utils.c (fncmp) [__MSDOS__ || __MINGW32__]: Now

Modified: trunk/info/pcterm.c
===================================================================
--- trunk/info/pcterm.c 2014-12-26 10:54:34 UTC (rev 5993)
+++ trunk/info/pcterm.c 2014-12-26 11:20:18 UTC (rev 5994)
@@ -250,11 +250,20 @@
   DWORD nchars = screenwidth * screenheight;
   COORD start_pos;
   DWORD written;
+  PWORD attr;
+  DWORD i;
 
   start_pos.X = start_pos.Y = 0;
-  FillConsoleOutputAttribute (hscreen, inv_attr, nchars, start_pos, &written);
-  Sleep (20);
-  FillConsoleOutputAttribute (hscreen, norm_attr, nchars, start_pos, &written);
+  attr = xmalloc (nchars * sizeof (WORD));
+  ReadConsoleOutputAttribute (hscreen, attr, nchars, start_pos, &written);
+  for (i = 0; i < nchars; ++i)
+    attr[i] ^= norm_attr ^ inv_attr;
+  WriteConsoleOutputAttribute (hscreen, attr, nchars, start_pos, &written);
+  Sleep (50);
+  for (i = 0; i < nchars; ++i)
+    attr[i] ^= norm_attr ^ inv_attr;
+  WriteConsoleOutputAttribute (hscreen, attr, nchars, start_pos, &written);
+  free (attr);
 }
 
 int




reply via email to

[Prev in Thread] Current Thread [Next in Thread]