From: Gerd Moellmann Date: Wed, 28 Nov 2001 17:09:34 +0000 (+0000) Subject: (x_draw_glyphs): Don't call notice_overwritten_cursor if X-Git-Tag: ttn-vms-21-2-B4~18071 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bb313871fb2099a0caebb5ee3006013de424a737;p=emacs.git (x_draw_glyphs): Don't call notice_overwritten_cursor if OVERLAPS_P. --- diff --git a/src/ChangeLog b/src/ChangeLog index bb743bf8de6..a81c8c00939 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-28 Pavel Jan,Bm(Bk * xdisp.c (message_dolog): Remove unused variables `gcpro2', diff --git a/src/xterm.c b/src/xterm.c index 7edb0121763..c6ff4e6d08e 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -5186,7 +5186,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; @@ -5194,7 +5199,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;