Fix segfault when setting DFHACK_HEADLESS but not PRINT_MODE:TEXT

endwin() is unhappy if initscr() wasn't called
develop
lethosor 2020-04-28 21:38:47 -04:00
parent 6bdbf5b0dd
commit 24cebbda58
1 changed files with 11 additions and 4 deletions

@ -1692,14 +1692,21 @@ bool Core::Init()
if (is_headless)
{
#ifdef LINUX_BUILD
auto endwin = (int(*)(void))dlsym(RTLD_DEFAULT, "endwin");
if (endwin)
if (is_text_mode)
{
endwin();
auto endwin = (int(*)(void))dlsym(RTLD_DEFAULT, "endwin");
if (endwin)
{
endwin();
}
else
{
cerr << "endwin(): bind failed" << endl;
}
}
else
{
cerr << "endwin(): bind failed" << endl;
cerr << "Headless mode requires PRINT_MODE:TEXT" << endl;
}
#else
cerr << "Headless mode not supported on Windows" << endl;