&& it->current_x + width > it->last_visible_x)
width = it->last_visible_x - it->current_x - 1;
- if (width > 0 && height > 0)
+ if (width > 0 && height > 0 && it->glyph_row)
{
-
- if (face->box != FACE_NO_BOX && face->box_line_width != 0)
- {
- if (face->box_line_width > 0)
- {
- ascent += face->box_line_width;
- height += face->box_line_width * 2;
- }
-
- if (it->start_of_box_run_p)
- width += abs (face->box_line_width);
- if (it->end_of_box_run_p)
- width += abs (face->box_line_width);
- }
-
- if (it->glyph_row)
- {
- Lisp_Object object = it->stack[it->sp - 1].string;
- if (!STRINGP (object))
- object = it->w->buffer;
- append_stretch_glyph (it, object, width, height, ascent);
- }
+ Lisp_Object object = it->stack[it->sp - 1].string;
+ if (!STRINGP (object))
+ object = it->w->buffer;
+ append_stretch_glyph (it, object, width, height, ascent);
}
it->pixel_width = width;