diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 28 |
1 files changed, 5 insertions, 23 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 9c9031fa443..65b16da76c3 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -19865,30 +19865,12 @@ produce_stretch_glyph (it) | |||
| 19865 | && it->current_x + width > it->last_visible_x) | 19865 | && it->current_x + width > it->last_visible_x) |
| 19866 | width = it->last_visible_x - it->current_x - 1; | 19866 | width = it->last_visible_x - it->current_x - 1; |
| 19867 | 19867 | ||
| 19868 | if (width > 0 && height > 0) | 19868 | if (width > 0 && height > 0 && it->glyph_row) |
| 19869 | { | 19869 | { |
| 19870 | 19870 | Lisp_Object object = it->stack[it->sp - 1].string; | |
| 19871 | if (face->box != FACE_NO_BOX && face->box_line_width != 0) | 19871 | if (!STRINGP (object)) |
| 19872 | { | 19872 | object = it->w->buffer; |
| 19873 | if (face->box_line_width > 0) | 19873 | append_stretch_glyph (it, object, width, height, ascent); |
| 19874 | { | ||
| 19875 | ascent += face->box_line_width; | ||
| 19876 | height += face->box_line_width * 2; | ||
| 19877 | } | ||
| 19878 | |||
| 19879 | if (it->start_of_box_run_p) | ||
| 19880 | width += abs (face->box_line_width); | ||
| 19881 | if (it->end_of_box_run_p) | ||
| 19882 | width += abs (face->box_line_width); | ||
| 19883 | } | ||
| 19884 | |||
| 19885 | if (it->glyph_row) | ||
| 19886 | { | ||
| 19887 | Lisp_Object object = it->stack[it->sp - 1].string; | ||
| 19888 | if (!STRINGP (object)) | ||
| 19889 | object = it->w->buffer; | ||
| 19890 | append_stretch_glyph (it, object, width, height, ascent); | ||
| 19891 | } | ||
| 19892 | } | 19874 | } |
| 19893 | 19875 | ||
| 19894 | it->pixel_width = width; | 19876 | it->pixel_width = width; |