From aceeb16d1391b0f364139e7a99bab78373a70c6a Mon Sep 17 00:00:00 2001 From: ray Date: Tue, 8 Apr 2014 14:18:39 +0000 Subject: [PATCH] Update to fix at r264244. o Unmute terminal when done with driver replacement. o Move init fonts to early point. o Minor cleanup. MFC after: 6 days X-MFC-with: r264244 r264242 Sponsored by: The FreeBSD Foundation --- sys/dev/vt/vt_core.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index fa36482504ef..eb2843edaabf 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -720,9 +720,11 @@ vt_flush(struct vt_device *vd) #endif vw = vd->vd_curwindow; - if (vw == NULL) return; + if (vw == NULL) + return; vf = vw->vw_font; - if ((vf == NULL) && !(vd->vd_flags & VDF_TEXTMODE)) return; + if (((vd->vd_flags & VDF_TEXTMODE) == 0) && (vf == NULL)) + return; if (vd->vd_flags & VDF_SPLASH || vw->vw_flags & VWF_BUSY) return; @@ -1891,9 +1893,6 @@ vt_upgrade(struct vt_device *vd) } terminal_maketty(vw->vw_terminal, "v%r", VT_UNIT(vw)); - /* Assign default font to window, if not textmode. */ - if (!(vd->vd_flags & VDF_TEXTMODE) && vw->vw_font == NULL) - vw->vw_font = vtfont_ref(&vt_font_default); } if (vd->vd_curwindow == NULL) vd->vd_curwindow = vd->vd_windows[VT_CONSWINDOW]; @@ -1914,6 +1913,9 @@ vt_resize(struct vt_device *vd) for (i = 0; i < VT_MAXWINDOWS; i++) { vw = vd->vd_windows[i]; + /* Assign default font to window, if not textmode. */ + if (!(vd->vd_flags & VDF_TEXTMODE) && vw->vw_font == NULL) + vw->vw_font = vtfont_ref(&vt_font_default); /* Resize terminal windows */ vt_change_font(vw, vw->vw_font); } @@ -1975,8 +1977,10 @@ vt_allocate(struct vt_driver *drv, void *softc) vtterm_splash(vd); #endif - if (vd->vd_flags & VDF_ASYNC) + if (vd->vd_flags & VDF_ASYNC) { + terminal_mute(vd->vd_curwindow->vw_terminal, 0); callout_schedule(&vd->vd_timer, hz / VT_TIMERFREQ); + } termcn_cnregister(vd->vd_windows[VT_CONSWINDOW]->vw_terminal);