diff src/screen.c @ 1616:dbef8434a2ea v7.1.329

updated for version 7.1-329
author vimboss
date Sat, 21 Jun 2008 12:14:30 +0000
parents 3b48421dbde1
children 82b5078be2dd
line wrap: on
line diff
--- a/src/screen.c
+++ b/src/screen.c
@@ -4863,6 +4863,7 @@ comp_char_differs(off_from, off_to)
  * - the (first byte of the) character is different
  * - the attributes are different
  * - the character is multi-byte and the next byte is different
+ * - the character is two cells wide and the second cell differs.
  */
     static int
 char_needs_redraw(off_from, off_to, cols)
@@ -4884,7 +4885,9 @@ char_needs_redraw(off_from, off_to, cols
 		|| (enc_utf8
 		    && (ScreenLinesUC[off_from] != ScreenLinesUC[off_to]
 			|| (ScreenLinesUC[off_from] != 0
-			    && comp_char_differs(off_from, off_to))))
+			    && comp_char_differs(off_from, off_to))
+			|| (cols > 1 && ScreenLines[off_from + 1]
+						 != ScreenLines[off_to + 1])))
 #endif
 	       ))
 	return TRUE;