diff src/redisplay.c @ 215:1f0dabaa0855 r20-4b6

Import from CVS: tag r20-4b6
author cvs
date Mon, 13 Aug 2007 10:07:35 +0200
parents 78f53ef88e17
children d44af0c54775
line wrap: on
line diff
--- a/src/redisplay.c	Mon Aug 13 10:06:48 2007 +0200
+++ b/src/redisplay.c	Mon Aug 13 10:07:35 2007 +0200
@@ -7809,6 +7809,18 @@
 	  if (FRAME_REPAINT_P (f) && FRAME_HAS_MINIBUF_P (f))
 	    {
 	      Lisp_Object window = FRAME_MINIBUF_WINDOW (f);
+	      /*
+	       * If the frame has changed, there may be random chud
+	       * on the screen left from previous messages because
+	       * redisplay_frame hasn't been called yet.  Clear the
+	       * screen to get rid of the potential mess.
+	       *
+	       * It would be nice if a way could be found not to
+	       * have to do this for every message until the next
+	       * full redisplay.
+	       */
+	      if (f->frame_changed)
+		DEVMETH (d, clear_frame, (f));
 	      redisplay_window (window, 0);
 	      call_redisplay_end_triggers (XWINDOW (window), 0);
 	    }