diff --git a/src/dedicated/i_system.c b/src/dedicated/i_system.c index 94937504d11b1435f09a0ae9d471a53f393719ed..2afde6ac71e861ae73e7bbf7495a3c7b43242e35 100644 --- a/src/dedicated/i_system.c +++ b/src/dedicated/i_system.c @@ -220,6 +220,8 @@ static boolean framebuffer = false; static size_t num_exit_funcs; static void (*exit_funcs[MAX_EXIT_FUNCS])(void); +static boolean is_quitting = false; + #ifdef __linux__ #define MEMINFO_FILE "/proc/meminfo" #define MEMTOTAL "MemTotal:" @@ -457,6 +459,10 @@ ticcmd_t *I_BaseTiccmd2(void) FUNCNORETURN static void I_QuitStatus(int status) { + if (is_quitting) + abort(); + + is_quitting = true; M_SaveConfig(NULL); //save game config, cvars.. D_SaveBan(); // save the ban list G_SaveGameData(clientGamedata); // Tails 12-08-2002