Subject: bug#50660: 28.0.50; Text artifacting when the cursor moves over text under mouse face that originally displayed a box

From: Eli Zaretskii <[email-masked]>
Date: Mon, 20 Sep 2021 10:07:27 +0300

> Date: Mon, 20 Sep 2021 08:19:16 +0300
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked], [email-masked]
> 
> However, it is IMO wrong to "fix" the glyphs' pixel_width to account
> for the box face.

Walking through the code, I now see that we already update the
pixel_width of the border glyphs due to the box's vertical line.  So
set_cursor_from_row does its job correctly, and I still don't
understand why any change would be needed in it.

I guess you are saying that in the problematic scenario the
pixel_width of the glyphs remains the same, even though the box
dimensions have changed or the box attribute disappeared?  If so, I
think the problem is not where the cursor is drawn or its position is
computed, the problem is where we redraw a portion of text due to
change of mouse highlight, i.e. inside draw_row_with_mouse_face and
friends.