Fixed commit miss at 41eb4fbf86e7ae9c9ff993e07a19fa44eb74be9b

This commit is contained in:
Nobuyoshi Nakada 2021-02-23 21:23:46 +09:00
parent 5a4742a0b4
commit 819dd464de
No known key found for this signature in database
GPG Key ID: 7CD2805BFA3770C6

View File

@ -6599,32 +6599,34 @@ static struct constat *
constat_handle(HANDLE h) constat_handle(HANDLE h)
{ {
st_data_t data; st_data_t data;
struct constat *p; struct constat *p = NULL;
if (!conlist) { thread_exclusive(conlist) {
if (console_emulator_p()) { if (!conlist) {
conlist = conlist_disabled; if (console_emulator_p()) {
return NULL; conlist = conlist_disabled;
continue;
}
conlist = st_init_numtable();
install_vm_exit_handler();
} }
conlist = st_init_numtable(); else if (conlist == conlist_disabled) {
install_vm_exit_handler(); continue;
} }
else if (conlist == conlist_disabled) { if (st_lookup(conlist, (st_data_t)h, &data)) {
return NULL; p = (struct constat *)data;
} }
if (st_lookup(conlist, (st_data_t)h, &data)) { else {
p = (struct constat *)data; CONSOLE_SCREEN_BUFFER_INFO csbi;
} p = ALLOC(struct constat);
else { p->vt100.state = constat_init;
CONSOLE_SCREEN_BUFFER_INFO csbi; p->vt100.attr = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED;
p = ALLOC(struct constat); p->vt100.reverse = 0;
p->vt100.state = constat_init; p->vt100.saved.X = p->vt100.saved.Y = 0;
p->vt100.attr = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED; if (GetConsoleScreenBufferInfo(h, &csbi)) {
p->vt100.reverse = 0; p->vt100.attr = csbi.wAttributes;
p->vt100.saved.X = p->vt100.saved.Y = 0; }
if (GetConsoleScreenBufferInfo(h, &csbi)) { st_insert(conlist, (st_data_t)h, (st_data_t)p);
p->vt100.attr = csbi.wAttributes;
} }
st_insert(conlist, (st_data_t)h, (st_data_t)p);
} }
return p; return p;
} }