Fix crash when exiting directly while filter UI is active (GitHub #4596)

This commit is contained in:
Vas Crabb 2019-02-04 17:35:24 +11:00
parent e0f2275982
commit 0470ded120

View File

@ -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<menu> reversed;
while (m_free)
m_free = std::move(m_free->m_parent);
{
std::unique_ptr<menu> 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);
}