From c0f588e234bd6516103a0c8ab79d8ad0622bdc59 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 19 Feb 2017 16:08:10 +0100 Subject: [PATCH] - let M_ClearMenus destroy all open menus so that they can properly deinitialize. --- src/menu/menu.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/menu/menu.cpp b/src/menu/menu.cpp index b2ceffc7a..9a8860510 100644 --- a/src/menu/menu.cpp +++ b/src/menu/menu.cpp @@ -766,13 +766,14 @@ void M_Drawer (void) // //============================================================================= -void M_ClearMenus () +void M_ClearMenus() { M_DemoNoPlay = false; - if (CurrentMenu != nullptr) + while (CurrentMenu != nullptr) { + DMenu* parent = CurrentMenu->mParentMenu; CurrentMenu->Destroy(); - CurrentMenu = nullptr; + CurrentMenu = parent; } V_SetBorderNeedRefresh(); menuactive = MENU_Off;