]> git.eshelyaron.com Git - emacs.git/commitdiff
(x_set_glyph_string_background_width): Set the glyph
authorGerd Moellmann <gerd@gnu.org>
Tue, 28 Aug 2001 14:34:17 +0000 (14:34 +0000)
committerGerd Moellmann <gerd@gnu.org>
Tue, 28 Aug 2001 14:34:17 +0000 (14:34 +0000)
strings background width so that multi-line mouse-face is drawn to
the right edge of the window.
(show_mouse_face): Set the row's mouse_face_p flag after drawing
glyphs.

src/ChangeLog
src/xterm.c

index c4dc94cc701a154dcd0201354d2acfad6fad5717..eb8694739d70fdedd51fef14b39ac406e3df94e4 100644 (file)
@@ -1,5 +1,11 @@
 2001-08-28  Gerd Moellmann  <gerd@gnu.org>
 
+       * xterm.c (x_set_glyph_string_background_width): Set the glyph
+       string's background width so that multi-line mouse-face is drawn
+       to the right edge of the window.
+       (show_mouse_face): Set the row's mouse_face_p flag after drawing
+       glyphs.
+
        * dispnew.c (direct_output_for_insert): Set updated_area
        before insering/writing glyphs.
 
index b472bde7656c9f901be4e6d8acfe2c888093a273..66e5c5cfd083c87fb4bdf5c0ecc489e37b3dca07 100644 (file)
@@ -4836,12 +4836,14 @@ x_set_glyph_string_background_width (s, start, last_x)
   struct face *default_face = FACE_FROM_ID (s->f, DEFAULT_FACE_ID);
   
   if (start == s->row->used[s->area]
-      && s->hl == DRAW_NORMAL_TEXT
       && s->area == TEXT_AREA
-      && (s->row->fill_line_p
-         || s->face->background != default_face->background
-         || s->face->stipple != default_face->stipple))
-    s->extends_to_end_of_line_p = 1;
+      && ((s->hl == DRAW_NORMAL_TEXT
+          && (s->row->fill_line_p
+              || s->face->background != default_face->background
+              || s->face->stipple != default_face->stipple
+              || s->row->mouse_face_p))
+         || s->hl == DRAW_MOUSE_FACE))
+      s->extends_to_end_of_line_p = 1;
   
   /* If S extends its face to the end of the line, set its
      background_width to the distance to the right edge of the drawing
@@ -7696,9 +7698,9 @@ show_mouse_face (dpyinfo, draw)
 
       if (end_hpos > start_hpos)
        {
-         row->mouse_face_p = draw == DRAW_MOUSE_FACE || DRAW_IMAGE_RAISED;
          x_draw_glyphs (w, start_x, row, TEXT_AREA, 
                         start_hpos, end_hpos, draw, NULL, NULL, 0);
+         row->mouse_face_p = draw == DRAW_MOUSE_FACE || DRAW_IMAGE_RAISED;
        }
     }