From fbfb6dd4fd954890fe06ff567b3e14f61dc38380 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 17 Sep 2011 21:21:24 +0300 Subject: [PATCH] Fix bug #9530 with incorrect display of zero-width stretch. src/xdisp.c (produce_stretch_glyph): Another fix for changes made on 2011-08-30T17:32:44Z!eliz@gnu.org. --- src/ChangeLog | 5 +++++ src/xdisp.c | 22 ++++++++++++++-------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index a6d890cd149..97b727929de 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-09-17 Eli Zaretskii + + * xdisp.c (produce_stretch_glyph): Another fix for changes made on + 2011-08-30T17:32:44Z!eliz@gnu.org. (Bug#9530) + 2011-09-17 Eli Zaretskii * xdisp.c (reseat_at_next_visible_line_start): Keep information diff --git a/src/xdisp.c b/src/xdisp.c index 3cb9f301bb2..f889815fa1e 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -23298,14 +23298,7 @@ produce_stretch_glyph (struct it *it) object = it->w->buffer; #ifdef HAVE_WINDOW_SYSTEM if (FRAME_WINDOW_P (it->f)) - { - append_stretch_glyph (it, object, width, height, ascent); - it->pixel_width = width; - it->ascent = it->phys_ascent = ascent; - it->descent = it->phys_descent = height - it->ascent; - it->nglyphs = width > 0 && height > 0 ? 1 : 0; - take_vertical_position_into_account (it); - } + append_stretch_glyph (it, object, width, height, ascent); else #endif { @@ -23317,6 +23310,19 @@ produce_stretch_glyph (struct it *it) it->object = o_object; } } + + it->pixel_width = width; +#ifdef HAVE_WINDOW_SYSTEM + if (FRAME_WINDOW_P (it->f)) + { + it->ascent = it->phys_ascent = ascent; + it->descent = it->phys_descent = height - it->ascent; + it->nglyphs = width > 0 && height > 0 ? 1 : 0; + take_vertical_position_into_account (it); + } + else +#endif + it->nglyphs = width; } #ifdef HAVE_WINDOW_SYSTEM -- 2.39.2