]> git.eshelyaron.com Git - emacs.git/commitdiff
(x_draw_glyphs): Don't call notice_overwritten_cursor if
authorGerd Moellmann <gerd@gnu.org>
Wed, 28 Nov 2001 17:12:35 +0000 (17:12 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 28 Nov 2001 17:12:35 +0000 (17:12 +0000)
OVERLAPS_P.

src/ChangeLog
src/xterm.c

index 450deb8461871901b95ea165da2bc5dae6f1663f..35fd27526166203015ea7477f7e3b0fb57882324 100644 (file)
@@ -1,3 +1,8 @@
+2001-11-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
+       OVERLAPS_P.
+
 2001-11-25  Richard M. Stallman  <rms@gnu.org>
 
        * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
index df55fe4751b2f005f90c7b6ba7650fd4fb4b60eb..3a122756f4915f0f4cd194f50c7c954ea399fb64 100644 (file)
@@ -5216,7 +5216,12 @@ x_draw_glyphs (w, x, row, area, start, end, hl, overlaps_p)
   for (s = head; s; s = s->next)
     x_draw_glyph_string (s);
 
-  if (area == TEXT_AREA && !row->full_width_p)
+  if (area == TEXT_AREA
+      && !row->full_width_p
+      /* When drawing overlapping rows, only the glyph strings'
+        foreground is drawn, which doesn't erase a cursor
+        completely. */
+      && !overlaps_p)
     {
       int x0 = head ? head->x : x;
       int x1 = tail ? tail->x + tail->background_width : x;
@@ -5224,7 +5229,7 @@ x_draw_glyphs (w, x, row, area, start, end, hl, overlaps_p)
       x0 = FRAME_TO_WINDOW_PIXEL_X (w, x0);
       x1 = FRAME_TO_WINDOW_PIXEL_X (w, x1);
       
-      if (!row->full_width_p && XFASTINT (w->left_margin_width) != 0)
+      if (XFASTINT (w->left_margin_width) != 0)
        {
          int left_area_width = window_box_width (w, LEFT_MARGIN_AREA);
          x0 -= left_area_width;