Fix bug #17115 with displaying on w32 images that have 'box' face.
src/w32term.c (x_draw_image_glyph_string): Fix computation of height and width of image background when it is displayed with a 'box' face.
This commit is contained in:
parent
8de64bb862
commit
0c4e715c98
2 changed files with 18 additions and 4 deletions
|
@ -1,3 +1,9 @@
|
|||
2014-03-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
||||
|
||||
* w32term.c (x_draw_image_glyph_string): Fix computation of height
|
||||
and width of image background when it is displayed with a 'box'
|
||||
face. (Bug#17115)
|
||||
|
||||
2014-03-26 Paul Eggert <eggert@penguin.cs.ucla.edu>
|
||||
|
||||
More backward-compatible fix to char-equal core dump (Bug#17011).
|
||||
|
|
|
@ -2085,10 +2085,14 @@ x_draw_image_glyph_string (struct glyph_string *s)
|
|||
int x, y;
|
||||
int box_line_hwidth = eabs (s->face->box_line_width);
|
||||
int box_line_vwidth = max (s->face->box_line_width, 0);
|
||||
int height;
|
||||
int height, width;
|
||||
HBITMAP pixmap = 0;
|
||||
|
||||
height = s->height - 2 * box_line_vwidth;
|
||||
height = s->height;
|
||||
if (s->slice.y == 0)
|
||||
height -= box_line_vwidth;
|
||||
if (s->slice.y + s->slice.height >= s->img->height)
|
||||
height -= box_line_vwidth;
|
||||
|
||||
/* Fill background with face under the image. Do it only if row is
|
||||
taller than image or if image has a clip mask to reduce
|
||||
|
@ -2101,10 +2105,14 @@ x_draw_image_glyph_string (struct glyph_string *s)
|
|||
|| s->img->pixmap == 0
|
||||
|| s->width != s->background_width)
|
||||
{
|
||||
width = s->background_width;
|
||||
x = s->x;
|
||||
if (s->first_glyph->left_box_line_p
|
||||
&& s->slice.x == 0)
|
||||
x += box_line_hwidth;
|
||||
{
|
||||
x += box_line_hwidth;
|
||||
width -= box_line_hwidth;
|
||||
}
|
||||
|
||||
y = s->y;
|
||||
if (s->slice.y == 0)
|
||||
|
@ -2150,7 +2158,7 @@ x_draw_image_glyph_string (struct glyph_string *s)
|
|||
}
|
||||
else
|
||||
#endif
|
||||
x_draw_glyph_string_bg_rect (s, x, y, s->background_width, height);
|
||||
x_draw_glyph_string_bg_rect (s, x, y, width, height);
|
||||
|
||||
s->background_filled_p = 1;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue