Subject: bug#8992: 23.3.50; Wrong mouse highlight background ascent and height

From: Kenichi Handa <[email-masked]>
Date: Thu, 15 Dec 2011 11:15:53 +0900

In article <[email-masked]>, YAMAMOTO Mitsuharu <[email-masked]> writes:

> Steps to reproduce:

>   1. $ emacs -q -fn courier
>   2. Move the mouse pointer over "Emacs Tutorial" in the splash screen.

> Result:

>   Mouse highlight does not fill the whole background (see the first
>   attachment).

> The patch below seems to work (see the second attachment).  I think
> colors should be extracted from s->face, but font metrics should be
> obtained from s->font.

You are right.  Thank you for the report and the patch.
I've just installed it.  I checked the other XXX_draw
functions and it seems that they are doing the right thing.

---
Kenichi Handa
[email-masked]

> === modified file 'src/xftfont.c'
> *** src/xftfont.c	2011-02-02 02:15:29 +0000
> --- src/xftfont.c	2011-07-03 07:03:15 +0000
> ***************
> *** 689,695 ****
  
>     if (with_background)
>       XftDrawRect (xft_draw, &bg,
> ! 		 x, y - face->font->ascent, s->width, face->font->height);
>     code = alloca (sizeof (FT_UInt) * len);
>     for (i = 0; i < len; i++)
>       code[i] = ((XCHAR2B_BYTE1 (s->char2b + from + i) << 8)
> --- 689,695 ----
  
>     if (with_background)
>       XftDrawRect (xft_draw, &bg,
> ! 		 x, y - s->font->ascent, s->width, s->font->height);
>     code = alloca (sizeof (FT_UInt) * len);
>     for (i = 0; i < len; i++)
>       code[i] = ((XCHAR2B_BYTE1 (s->char2b + from + i) << 8)