Author: dumbbell Date: Thu Aug 21 13:28:48 2014 New Revision: 270271 URL: http://svnweb.freebsd.org/changeset/base/270271
Log: 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 Modified: head/sys/dev/vt/vt_core.c Modified: head/sys/dev/vt/vt_core.c ============================================================================== --- head/sys/dev/vt/vt_core.c Thu Aug 21 13:27:05 2014 (r270270) +++ head/sys/dev/vt/vt_core.c Thu Aug 21 13:28:48 2014 (r270271) @@ -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; _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"