diff --git a/src/conio/bitmap_con.c b/src/conio/bitmap_con.c index 7a4dc926f096e83d8f76f90bba6ea9046a565245..87cca35715b89893e995912390a50c31d8cb6bb7 100644 --- a/src/conio/bitmap_con.c +++ b/src/conio/bitmap_con.c @@ -992,17 +992,6 @@ static void blinker_thread(void *data) assert_rwlock_wrlock(&vstatlock); switch (vstat.mode) { case PRESTEL_40X24: - if (next_blink < now) { - if (vstat.blink) { - vstat.blink=FALSE; - next_blink = now + 1000; - } - else { - vstat.blink=TRUE; - next_blink = now + 333; - } - blink_changed = 1; - } if (next_cursor < now) { curs_changed = cursor_visible_locked(); if (vstat.curs_blink) { @@ -1011,8 +1000,21 @@ static void blinker_thread(void *data) else { vstat.curs_blink=TRUE; } + next_cursor = now + 333; curs_changed = (curs_changed != cursor_visible_locked()); - next_cursor = now + 320; + if (next_blink < now) { + if (vstat.blink) { + vstat.blink=FALSE; + vstat.curs_blink = TRUE; + next_blink = now + 1000; + } + else { + vstat.blink=TRUE; + vstat.curs_blink = FALSE; + next_blink = now + 333; + } + blink_changed = 1; + } } break; case C64_40X25: