GNU bug report logs - #8992
23.3.50; Wrong mouse highlight background ascent and height

Previous Next

Package: emacs;

Reported by: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>

Date: Sun, 3 Jul 2011 23:43:01 UTC

Severity: normal

Found in version 23.3.50

Fixed in version 24.0.93

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Kenichi Handa <handa <at> m17n.org>
To: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
Cc: 8992 <at> debbugs.gnu.org
Subject: bug#8992: 23.3.50; Wrong mouse highlight background ascent and height
Date: Thu, 15 Dec 2011 11:15:53 +0900
In article <wlliwf0w42.wl%mituharu <at> math.s.chiba-u.ac.jp>, YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> 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
handa <at> m17n.org

> === 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)




This bug report was last modified 13 years and 165 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.