ncurses fixes

This commit is contained in:
folkert van heusden 2024-04-24 23:51:05 +02:00
parent 31da4d3105
commit fe124c5589
Signed by untrusted user who does not match committer: folkert
GPG key ID: 6B6455EDFEED3BD1

View file

@ -72,7 +72,7 @@ int console_ncurses::wait_for_char_ll(const short timeout)
void console_ncurses::put_char_ll(const char c) void console_ncurses::put_char_ll(const char c)
{ {
if (c >= 32 || (c != 12 && c != 27 && c != 13)) { if ((c >= 32 && c < 127) || c == 10) {
std::unique_lock<std::mutex> lck(ncurses_mutex); std::unique_lock<std::mutex> lck(ncurses_mutex);
wprintw(w_main->win, "%c", c); wprintw(w_main->win, "%c", c);
@ -213,6 +213,9 @@ void console_ncurses::panel_update_thread()
werase(w_panel->win); werase(w_panel->win);
} }
{
std::unique_lock<std::mutex> lck(ncurses_mutex);
// speed // speed
uint64_t cur_instr_cnt = c->get_instructions_executed_count(); uint64_t cur_instr_cnt = c->get_instructions_executed_count();
@ -225,10 +228,13 @@ void console_ncurses::panel_update_thread()
mydoupdate(); mydoupdate();
} }
}
} }
void console_ncurses::refresh_virtual_terminal() void console_ncurses::refresh_virtual_terminal()
{ {
std::unique_lock<std::mutex> lck(ncurses_mutex);
wclear(w_main->win); wclear(w_main->win);
for(int row=0; row<t_height; row++) for(int row=0; row<t_height; row++)