Problem: With ligatures enabled, a ghost cursor can be left on screen
because the cursor is marked valid before the ligature
cleanup, which redraws the cell with gui_screenchar() and
invalidates the cursor again (ubaldot)
Solution: Set gui.cursor_is_valid only after the ligature redraw is
done, so it isn't cleared afterwards (Foxe Chen).
fixes: #20916
closes: #20924
Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
}
break;
}
- // gui_redraw_block() may invalidate the cursor, make sure to validate
- // it again.
- gui.cursor_is_valid = true;
# ifndef USE_GTK4
if ((lig_left || lig_right) && shape->shape != SHAPE_BLOCK)
gui.col = old;
}
# endif
+ // gui_redraw_block()/gui_screenchar() may invalidate the cursor, make sure
+ // to validate it again.
+ gui.cursor_is_valid = true;
#endif
old_hl_mask = gui.highlight_mask;
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 905,
/**/
904,
/**/