From 0470ded12022841d9c59941598cfbc31427d3d14 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Mon, 4 Feb 2019 17:35:24 +1100 Subject: [PATCH] Fix crash when exiting directly while filter UI is active (GitHub #4596) --- src/frontend/mame/ui/menu.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/frontend/mame/ui/menu.cpp b/src/frontend/mame/ui/menu.cpp index 4bc6a13d81e..eecaab68978 100644 --- a/src/frontend/mame/ui/menu.cpp +++ b/src/frontend/mame/ui/menu.cpp @@ -162,8 +162,17 @@ void menu::global_state::stack_reset() void menu::global_state::clear_free_list() { + // free stack is in reverse order - unwind it properly + std::unique_ptr reversed; while (m_free) - m_free = std::move(m_free->m_parent); + { + std::unique_ptr menu(std::move(m_free)); + m_free = std::move(menu->m_parent); + menu->m_parent = std::move(reversed); + reversed = std::move(menu); + } + while (reversed) + reversed = std::move(reversed->m_parent); }