diff options
| author | Bruce Evans <bde@FreeBSD.org> | 2017-03-11 11:31:06 +0000 |
|---|---|---|
| committer | Bruce Evans <bde@FreeBSD.org> | 2017-03-11 11:31:06 +0000 |
| commit | ad530aa98b4e0f84546ee370c347bd557a214d34 (patch) | |
| tree | a84f6af84cf99337de95998fe1bc28e8e65e535f /sys/dev/syscons/syscons.c | |
| parent | ffeeb2ab3f5700cece24b508bd3b70d07fdf6686 (diff) | |
Notes
Diffstat (limited to 'sys/dev/syscons/syscons.c')
| -rw-r--r-- | sys/dev/syscons/syscons.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index d3a5899ad34d..47a16d614d73 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/syscons.c @@ -3140,16 +3140,6 @@ scinit(int unit, int flags) init_scp(sc, sc->first_vty, scp); sc_vtb_init(&scp->vtb, VTB_MEMORY, scp->xsize, scp->ysize, (void *)sc_buffer, FALSE); - - /* move cursors to the initial positions */ - if (col >= scp->xsize) - col = 0; - if (row >= scp->ysize) - row = scp->ysize - 1; - scp->xpos = col; - scp->ypos = row; - scp->cursor_pos = scp->cursor_oldpos = row*scp->xsize + col; - if (sc_init_emulator(scp, SC_DFLT_TERM)) sc_init_emulator(scp, "*"); (*scp->tsw->te_default_attr)(scp, SC_NORM_ATTR, SC_NORM_REV_ATTR); @@ -3171,6 +3161,17 @@ scinit(int unit, int flags) sc_vtb_copy(&scp->scr, 0, &scp->vtb, 0, scp->xsize*scp->ysize); #endif + /* Sync h/w cursor position to s/w (sc and teken). */ + if (col >= scp->xsize) + col = 0; + if (row >= scp->ysize) + row = scp->ysize - 1; + scp->xpos = col; + scp->ypos = row; + scp->cursor_pos = scp->cursor_oldpos = row*scp->xsize + col; + (*scp->tsw->te_set_cursor)(scp, col, row); + + /* Sync BIOS cursor shape to s/w (sc only). */ if (bios_value.cursor_end < scp->font_size) sc->dflt_curs_attr.base = scp->font_size - bios_value.cursor_end - 1; |
