• M
    tty: vt: initialize softcursor_original correctly · e882f715
    Melchior FRANZ 提交于
    add_softcursor() stores the contents of the text buffer position in this
    variable before drawing the softcursor, whereas hide_softcursor() writes
    the value back. A value of -1 means that no cursor has been drawn and
    therefore no character is to be restored. softcursor_original, however,
    is only implicitly initialized with 0. Therefore, when hide_softcursor
    is called for the first time (console_init -> con_init -> redraw_screen
    -> hide_cursor), it wrongly writes 0x0000 in the top left corner of
    the text buffer. Normally, this is just as black as the rest of the
    screen (vc_video_erase_char) and can't be seen, but it appears as a
    black cursor rectangle on non-black backgrounds e.g. with boot option
    "vt.global_cursor_default=0 vt.color=0xf0". softcursor_original needs
    to be initialized with -1.
    Signed-off-by: NMelchior FRANZ <mfranz@aon.at>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    e882f715
vt.c 103.0 KB