vt(4): Mark cursor old position as dirty before reading the dirty area
Otherwise, the redraw is done during the next vt_flush run. MFC after: 1 week
This commit is contained in:
parent
c4ad232a03
commit
c5dabe0780
@ -832,6 +832,14 @@ vt_flush(struct vt_device *vd)
|
||||
if (vd->vd_flags & VDF_SPLASH || vw->vw_flags & VWF_BUSY)
|
||||
return;
|
||||
|
||||
#ifndef SC_NO_CUTPASTE
|
||||
if ((vw->vw_flags & VWF_MOUSE_HIDE) == 0) {
|
||||
/* Mark last mouse position as dirty to erase. */
|
||||
vtbuf_mouse_cursor_position(&vw->vw_buf, vd->vd_mdirtyx,
|
||||
vd->vd_mdirtyy);
|
||||
}
|
||||
#endif
|
||||
|
||||
vtbuf_undirty(&vw->vw_buf, &tarea, &tmask);
|
||||
vt_termsize(vd, vf, &size);
|
||||
|
||||
@ -844,14 +852,6 @@ vt_flush(struct vt_device *vd)
|
||||
vd->vd_flags &= ~VDF_INVALID;
|
||||
}
|
||||
|
||||
#ifndef SC_NO_CUTPASTE
|
||||
if ((vw->vw_flags & VWF_MOUSE_HIDE) == 0) {
|
||||
/* Mark last mouse position as dirty to erase. */
|
||||
vtbuf_mouse_cursor_position(&vw->vw_buf, vd->vd_mdirtyx,
|
||||
vd->vd_mdirtyy);
|
||||
}
|
||||
#endif
|
||||
|
||||
for (row = tarea.tr_begin.tp_row; row < tarea.tr_end.tp_row; row++) {
|
||||
if (!VTBUF_DIRTYROW(&tmask, row))
|
||||
continue;
|
||||
|
Loading…
x
Reference in New Issue
Block a user