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,6 +1692,8 @@ bool Core::Init()
if (is_headless) if (is_headless)
{ {
#ifdef LINUX_BUILD #ifdef LINUX_BUILD
if (is_text_mode)
{
auto endwin = (int(*)(void))dlsym(RTLD_DEFAULT, "endwin"); auto endwin = (int(*)(void))dlsym(RTLD_DEFAULT, "endwin");
if (endwin) if (endwin)
{ {
@ -1701,6 +1703,11 @@ bool Core::Init()
{ {
cerr << "endwin(): bind failed" << endl; cerr << "endwin(): bind failed" << endl;
} }
}
else
{
cerr << "Headless mode requires PRINT_MODE:TEXT" << endl;
}
#else #else
cerr << "Headless mode not supported on Windows" << endl; cerr << "Headless mode not supported on Windows" << endl;
#endif #endif