* dispnew.c (update_text_area): Revert 2006-09-17 change.
[bpt/emacs.git] / src / dispnew.c
index 9182f43..172f07c 100644 (file)
@@ -4391,12 +4391,12 @@ update_text_area (w, vpos)
       || desired_row->phys_height != current_row->phys_height
       || desired_row->visible_height != current_row->visible_height
       || current_row->overlapped_p
-#if 0
-      /* This causes excessive flickering when mouse is moved across
-        the mode line.  Luckily everything seems to work just fine
-        without doing this.  KFS 2006-09-17.  */
-      || current_row->mouse_face_p
-#endif
+      /* This next line is necessary for correctly redrawing
+        mouse-face areas after scrolling and other operations.
+        However, it causes excessive flickering when mouse is moved
+        across the mode line.  Luckily, turning it off for the mode
+        line doesn't seem to hurt anything. -- cyd.  */
+      || (current_row->mouse_face_p && !current_row->mode_line_p)
       || current_row->x != desired_row->x)
     {
       rif->cursor_to (vpos, 0, desired_row->y, desired_row->x);