Fix longstanding bug: must send WM_PAINT after SCREEN_WRITE so that
authorChris Hanson <org/chris-hanson/cph>
Tue, 22 May 2001 02:46:47 +0000 (02:46 +0000)
committerChris Hanson <org/chris-hanson/cph>
Tue, 22 May 2001 02:46:47 +0000 (02:46 +0000)
messages appear on screen even when no input is being read.

v7/src/microcode/ntio.c

index b5f24337a18606468afa72b8ef789372dd2c7260..8f0faef9cc75eade4f9e80bec7fe992b75510bf1 100644 (file)
@@ -1,8 +1,8 @@
 /* -*-C-*-
 
-$Id: ntio.c,v 1.23 2000/12/05 21:23:45 cph Exp $
+$Id: ntio.c,v 1.24 2001/05/22 02:46:47 cph Exp $
 
-Copyright (c) 1992-2000 Massachusetts Institute of Technology
+Copyright (c) 1992-2001 Massachusetts Institute of Technology
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -16,7 +16,8 @@ General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+USA.
 */
 
 #include "scheme.h"
@@ -35,6 +36,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 extern FILE * trace_file;
 #endif
 
+extern HANDLE master_tty_window;
+
 channel_class_t * NT_channel_class_generic;
 channel_class_t * NT_channel_class_file;
 channel_class_t * NT_channel_class_screen;
@@ -301,8 +304,10 @@ static long
 screen_channel_write (Tchannel channel, const void * buffer,
                      unsigned long n_bytes)
 {
-  SendMessage ((CHANNEL_HANDLE (channel)), SCREEN_WRITE,
-              ((WPARAM) n_bytes), ((LPARAM) buffer));
+  HANDLE h = (CHANNEL_HANDLE (channel));
+  SendMessage (h, SCREEN_WRITE, ((WPARAM) n_bytes), ((LPARAM) buffer));
+  if (h == master_tty_window)
+    SendMessage (h, WM_PAINT, 0, 0);
   return (n_bytes);
 }