From be6d77666ff59a663d40bd7b9b7fc1a44c930284 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Wed, 28 Nov 2001 17:12:35 +0000 Subject: [PATCH] (x_draw_glyphs): Don't call notice_overwritten_cursor if OVERLAPS_P. --- src/ChangeLog | 5 +++++ src/xterm.c | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 450deb84618..35fd2752616 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2001-11-28 Gerd Moellmann + + * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if + OVERLAPS_P. + 2001-11-25 Richard M. Stallman * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss". diff --git a/src/xterm.c b/src/xterm.c index df55fe4751b..3a122756f49 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -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; -- 2.39.2