emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 37db78c: Fix stretch glyphs overlap with line above


From: Alan Third
Subject: [Emacs-diffs] master 37db78c: Fix stretch glyphs overlap with line above (bug#36633)
Date: Sat, 27 Jul 2019 13:30:08 -0400 (EDT)

branch: master
commit 37db78c4bd351041eada08ebbdbf92c16819f09c
Author: Alan Third <address@hidden>
Commit: Alan Third <address@hidden>

    Fix stretch glyphs overlap with line above (bug#36633)
    
    * src/nsterm.m (ns_dumpglyphs_stretch): Move overwriting of the
    clipping rectangle to after performing clipping.
---
 src/nsterm.m | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/nsterm.m b/src/nsterm.m
index 0233182..b875427 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -3913,10 +3913,13 @@ ns_dumpglyphs_stretch (struct glyph_string *s)
   if (!s->background_filled_p)
     {
       n = ns_get_glyph_string_clip_rect (s, r);
-      *r = NSMakeRect (s->x, s->y, s->background_width, s->height);
 
       if (ns_clip_to_rect (s->f, r, n))
         {
+          /* FIXME: Why are we reusing the clipping rectangles? The
+             other terms don't appear to do anything like this.  */
+          *r = NSMakeRect (s->x, s->y, s->background_width, s->height);
+
           if (s->hl == DRAW_MOUSE_FACE)
             {
               face = FACE_FROM_ID_OR_NULL (s->f,
@@ -3951,13 +3954,6 @@ ns_dumpglyphs_stretch (struct glyph_string *s)
                         r[i].origin.x += leftoverrun;
                         r[i].size.width -= leftoverrun;
                       }
-
-                    /* XXX: Try to work between problem where a stretch glyph 
on
-                       a partially-visible bottom row will clear part of the
-                       modeline, and another where list-buffers headers and 
similar
-                       rows erroneously have visible_height set to 0.  Not sure
-                       where this is coming from as other terms seem not to 
show.  */
-                    r[i].size.height = min (s->height, s->row->visible_height);
                 }
 
               [bgCol set];



reply via email to

[Prev in Thread] Current Thread [Next in Thread]