Fix regression introduced by patch for Bug#10500.

* xterm.c (x_draw_image_relief): Respect Vtool_bar_button_margin.
* w32term.c (x_draw_image_relief): Likewise.
This commit is contained in:
YAMAMOTO Mitsuharu 2014-03-21 19:14:10 +09:00
parent 21e18b30e2
commit fef27dc1ad
3 changed files with 46 additions and 8 deletions

View file

@ -1,3 +1,9 @@
2014-03-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Fix regression introduced by patch for Bug#10500.
* xterm.c (x_draw_image_relief): Respect Vtool_bar_button_margin.
* w32term.c (x_draw_image_relief): Likewise.
2014-03-21 Martin Rudalics <rudalics@gmx.at>
* w32fns.c (w32_wnd_proc): For WM_WINDOWPOSCHANGING don't

View file

@ -1892,6 +1892,7 @@ static void
x_draw_image_relief (struct glyph_string *s)
{
int x1, y1, thick, raised_p, top_p, bot_p, left_p, right_p;
int extra_x, extra_y;
RECT r;
int x = s->x;
int y = s->ybase - image_ascent (s->img, s->face, &s->slice);
@ -1925,16 +1926,31 @@ x_draw_image_relief (struct glyph_string *s)
x1 = x + s->slice.width - 1;
y1 = y + s->slice.height - 1;
extra_x = extra_y = 0;
if (s->face->id == TOOL_BAR_FACE_ID)
{
if (CONSP (Vtool_bar_button_margin)
&& INTEGERP (XCAR (Vtool_bar_button_margin))
&& INTEGERP (XCDR (Vtool_bar_button_margin)))
{
extra_x = XINT (XCAR (Vtool_bar_button_margin));
extra_y = XINT (XCDR (Vtool_bar_button_margin));
}
else if (INTEGERP (Vtool_bar_button_margin))
extra_x = extra_y = XINT (Vtool_bar_button_margin);
}
top_p = bot_p = left_p = right_p = 0;
if (s->slice.x == 0)
x -= thick, left_p = 1;
x -= thick + extra_x, left_p = 1;
if (s->slice.y == 0)
y -= thick, top_p = 1;
y -= thick + extra_y, top_p = 1;
if (s->slice.x + s->slice.width == s->img->width)
x1 += thick, right_p = 1;
x1 += thick + extra_x, right_p = 1;
if (s->slice.y + s->slice.height == s->img->height)
y1 += thick, bot_p = 1;
y1 += thick + extra_y, bot_p = 1;
x_setup_relief_colors (s);
get_glyph_string_clip_rect (s, &r);

View file

@ -2162,6 +2162,7 @@ static void
x_draw_image_relief (struct glyph_string *s)
{
int x1, y1, thick, raised_p, top_p, bot_p, left_p, right_p;
int extra_x, extra_y;
XRectangle r;
int x = s->x;
int y = s->ybase - image_ascent (s->img, s->face, &s->slice);
@ -2194,16 +2195,31 @@ x_draw_image_relief (struct glyph_string *s)
x1 = x + s->slice.width - 1;
y1 = y + s->slice.height - 1;
extra_x = extra_y = 0;
if (s->face->id == TOOL_BAR_FACE_ID)
{
if (CONSP (Vtool_bar_button_margin)
&& INTEGERP (XCAR (Vtool_bar_button_margin))
&& INTEGERP (XCDR (Vtool_bar_button_margin)))
{
extra_x = XINT (XCAR (Vtool_bar_button_margin));
extra_y = XINT (XCDR (Vtool_bar_button_margin));
}
else if (INTEGERP (Vtool_bar_button_margin))
extra_x = extra_y = XINT (Vtool_bar_button_margin);
}
top_p = bot_p = left_p = right_p = 0;
if (s->slice.x == 0)
x -= thick, left_p = 1;
x -= thick + extra_x, left_p = 1;
if (s->slice.y == 0)
y -= thick, top_p = 1;
y -= thick + extra_y, top_p = 1;
if (s->slice.x + s->slice.width == s->img->width)
x1 += thick, right_p = 1;
x1 += thick + extra_x, right_p = 1;
if (s->slice.y + s->slice.height == s->img->height)
y1 += thick, bot_p = 1;
y1 += thick + extra_y, bot_p = 1;
x_setup_relief_colors (s);
get_glyph_string_clip_rect (s, &r);