diff --git a/src/eventthread.cpp b/src/eventthread.cpp index ac1f93e1..a00de2c9 100644 --- a/src/eventthread.cpp +++ b/src/eventthread.cpp @@ -328,6 +328,13 @@ void EventThread::process(RGSSThreadData &rtData) if (event.key.keysym.scancode == SDL_SCANCODE_F1 && rtData.config.enableSettings) { + // Do not open settings menu until initializing shared state. + // Opening before initializing shared state will crash (segmentation fault). + if (!shState) + { + break; + } + #ifndef MKXPZ_BUILD_XCODE if (!sMenu) {