GNU bug report logs - #50660
28.0.50; Text artifacting when the cursor moves over text under mouse face that originally displayed a box

Previous Next

Package: emacs;

Reported by: Po Lu <luangruo <at> yahoo.com>

Date: Sat, 18 Sep 2021 12:24:01 UTC

Severity: normal

Found in version 28.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Po Lu <luangruo <at> yahoo.com>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, larsi <at> gnus.org, 50660 <at> debbugs.gnu.org
Subject: bug#50660: 28.0.50; Text artifacting when the cursor moves over text under mouse face that originally displayed a box
Date: Thu, 14 Oct 2021 19:25:51 +0800
Robert Pluim <rpluim <at> gmail.com> writes:

>     Po Lu> +  struct face *face_for_box_line = s->face;
>     Po Lu> +
>     Po Lu> +  if (s->hl == DRAW_CURSOR && cursor_in_mouse_face_p (s->w))
>     Po Lu> +    {
>     Po Lu> +      /* In this situation, the cursor is in the mouse face, but
>     Po Lu> +	 s->face hasn't been updated with the mouse face yet. */
>     Po Lu> +      face_for_box_line =
>     Po Lu> +	FACE_FROM_ID_OR_NULL (s->f, MOUSE_HL_INFO (s->f)->mouse_face_face_id);
>     Po Lu> +
>     Po Lu> +      if (!face_for_box_line)
>     Po Lu> +	face_for_box_line = FACE_FROM_ID (s->f, MOUSE_FACE_ID);
>     Po Lu> +    }
>
> This chunk looks like itʼs repeated a lot, perhaps break it out into a
> function?

Actually, on second thought, I think a better solution would be to set
s->face to the mouse face in x_set_cursor_gc if cursor_in_mouse_face_p.

Any thoughts?  TIA.





This bug report was last modified 3 years and 275 days ago.

Previous Next


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