From 1af1bbee3eca961ea3230a919b89fec4a92fa185 Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Sat, 29 Apr 2017 16:40:07 +0100 Subject: [PATCH] Free level select memory whenever it isn't possible to go back to the menu. --- src/m_menu.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/m_menu.c b/src/m_menu.c index 4530e3f05..aecb91dd0 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -4134,6 +4134,8 @@ static void M_HandleLevelPlatter(INT32 choice) M_SetupNextMenu(currentMenu->prevMenu->prevMenu); else M_ChangeLevel(0); + Z_Free(levelselect.rows); + levelselect.rows = NULL; } else M_LevelSelectWarp(0); @@ -4163,6 +4165,8 @@ static void M_HandleLevelPlatter(INT32 choice) } else M_ClearMenus(true); + Z_Free(levelselect.rows); + levelselect.rows = NULL; } } @@ -6105,6 +6109,10 @@ static void M_ChoosePlayer(INT32 choice) G_DeferedInitNew(ultmode, G_BuildMapName(startmap), (UINT8)skinnum, false, fromlevelselect); COM_BufAddText("dummyconsvar 1\n"); // G_DeferedInitNew doesn't do this + + if (levelselect.rows) + Z_Free(levelselect.rows); + levelselect.rows = NULL; } // ===============