From 192c8ee88b083d899160f198c09cd06759ddcd72 Mon Sep 17 00:00:00 2001 From: "R. Belmont" Date: Mon, 29 Apr 2013 03:09:57 +0000 Subject: [PATCH] SDL: Don't double-shutdown the font cache on *IX when exiting with the debugger enabled. [R. Belmont] --- src/osd/sdl/debugqt.c | 6 ++++++ src/osd/sdl/sdlmain.c | 11 ++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) 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