diff options
| author | Chong Yidong <cyd@gnu.org> | 2012-02-22 14:03:30 +0800 | 
|---|---|---|
| committer | Chong Yidong <cyd@gnu.org> | 2012-02-22 14:03:30 +0800 | 
| commit | 86b847b644525b83ea218bc7b6ed2de73beaced6 (patch) | |
| tree | f79823258f3ab2f379b7b33922ca79f530636cb4 /src/xterm.c | |
| parent | f25aef2e1e79cdd0cb1007bb1078d6894ebc4aeb (diff) | |
| download | emacs-86b847b644525b83ea218bc7b6ed2de73beaced6.tar.gz | |
* src/xterm.c (x_draw_image_relief): Add missing type check for Vtool_bar_button_margin.
Fixes: debbugs:10743
Diffstat (limited to 'src/xterm.c')
| -rw-r--r-- | src/xterm.c | 26 | 
1 files changed, 19 insertions, 7 deletions
| diff --git a/src/xterm.c b/src/xterm.c index 0a54c987387..6a5798661fa 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -2292,7 +2292,8 @@ x_draw_image_foreground (struct glyph_string *s)  static void  x_draw_image_relief (struct glyph_string *s)  { -  int x0, y0, x1, y1, thick, raised_p, extra; +  int x0, y0, x1, y1, thick, raised_p; +  int extra_x, extra_y;    XRectangle r;    int x = s->x;    int y = s->ybase - image_ascent (s->img, s->face, &s->slice); @@ -2323,13 +2324,24 @@ x_draw_image_relief (struct glyph_string *s)        raised_p = s->img->relief > 0;      } -  extra = s->face->id == TOOL_BAR_FACE_ID -    ? XINT (Vtool_bar_button_margin) : 0; +  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 = XCAR (Vtool_bar_button_margin); +	  extra_y = XCDR (Vtool_bar_button_margin); +	} +      else if (INTEGERP (Vtool_bar_button_margin)) +	extra_x = extra_y = XINT (Vtool_bar_button_margin); +    } -  x0 = x - thick - extra; -  y0 = y - thick - extra; -  x1 = x + s->slice.width + thick - 1 + extra; -  y1 = y + s->slice.height + thick - 1 + extra; +  x0 = x - thick - extra_x; +  y0 = y - thick - extra_y; +  x1 = x + s->slice.width + thick - 1 + extra_x; +  y1 = y + s->slice.height + thick - 1 + extra_y;    x_setup_relief_colors (s);    get_glyph_string_clip_rect (s, &r); | 
