summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlan Third <alan@idiocy.org>2019-07-16 21:32:23 +0100
committerAlan Third <alan@idiocy.org>2019-07-27 18:29:57 +0100
commit37db78c4bd351041eada08ebbdbf92c16819f09c (patch)
treeba09db9fa15bc88742badb60b2a11972fd9593ae /src
parentc26469daa752baf276bcad61b042b218402547de (diff)
downloademacs-37db78c4bd351041eada08ebbdbf92c16819f09c.tar.gz
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.
Diffstat (limited to 'src')
-rw-r--r--src/nsterm.m12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/nsterm.m b/src/nsterm.m
index 02331826d9b..b8754278f04 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];