diff --git a/src/osd/sdl/debugqt.c b/src/osd/sdl/debugqt.c index b4e7ccfedd6..86a23f918f8 100644 --- a/src/osd/sdl/debugqt.c +++ b/src/osd/sdl/debugqt.c @@ -210,8 +210,14 @@ void sdl_osd_interface::init_debugger() // Core functionality //============================================================ +#ifdef SDLMAME_UNIX +extern int sdl_entered_debugger; +#endif + void sdl_osd_interface::wait_for_debugger(device_t &device, bool firststop) { + sdl_entered_debugger = 1; + // Dialog initialization if (oneShot) { diff --git a/src/osd/sdl/sdlmain.c b/src/osd/sdl/sdlmain.c index c298c861dac..4111152d527 100644 --- a/src/osd/sdl/sdlmain.c +++ b/src/osd/sdl/sdlmain.c @@ -81,6 +81,10 @@ // Global variables //============================================================ +#ifdef SDLMAME_UNIX +int sdl_entered_debugger; +#endif + //============================================================ // Local variables //============================================================ @@ -332,6 +336,7 @@ int main(int argc, char *argv[]) setvbuf(stderr, (char *) NULL, _IONBF, 0); #ifdef SDLMAME_UNIX + sdl_entered_debugger = 0; #if (!defined(SDLMAME_MACOSX)) && (!defined(SDLMAME_HAIKU)) if (TTF_Init() == -1) { @@ -386,7 +391,11 @@ int main(int argc, char *argv[]) #ifdef SDLMAME_UNIX #if (!defined(SDLMAME_MACOSX)) && (!defined(SDLMAME_HAIKU)) TTF_Quit(); - FcFini(); + + if (!sdl_entered_debugger) + { + FcFini(); + } #endif #endif