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
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
Message #167 received at 50660 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> @@ -1799,11 +1799,24 @@ x_draw_glyph_string_foreground (struct glyph_string *s)
>> {
>> int i, x;
>>
>> + struct face *face_for_box_line = s->face;
>> +
>> + if (s->hl == DRAW_CURSOR && cursor_in_mouse_face_p (s->w))
>> + {
>> + /* In this situation, the cursor is in the mouse face, but
>> + s->face hasn't been updated with the mouse face yet. */
>> + face_for_box_line =
>> + FACE_FROM_ID_OR_NULL (s->f, MOUSE_HL_INFO (s->f)->mouse_face_face_id);
>> +
>> + if (!face_for_box_line)
>> + face_for_box_line = FACE_FROM_ID (s->f, MOUSE_FACE_ID);
>> + }
> Can't we "fix" this face in xdisp.c, before calling the
> terminal-specific backend? The bonus will be that we then do it only
> in one place.
The only way to do that I can think of would be to offset the glyph
string's x position (but not the phys cursor) by the vertical box line
width, and I think it would be an ugly thing to do, because that would
imply lying to the window system backend.
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.