From e19565c170ba8baf7a90945beb44cb1ef7292e50 Mon Sep 17 00:00:00 2001 From: Benjamin Lindley Date: Tue, 5 Mar 2019 01:13:15 -0600 Subject: [PATCH] Replace for loop with call to standard library function (#8194) This loop makes multiple passes over m_stack (type std::list) in order to remove all elements with a specified value. Replacing the loop with a call to std::list::remove does the same job, but in only one pass. --- src/gui/mainmenumanager.h | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/src/gui/mainmenumanager.h b/src/gui/mainmenumanager.h index ea9327813..102492255 100644 --- a/src/gui/mainmenumanager.h +++ b/src/gui/mainmenumanager.h @@ -62,21 +62,7 @@ public: virtual void deletingMenu(gui::IGUIElement *menu) { // Remove all entries if there are duplicates - bool removed_entry; - do{ - removed_entry = false; - for(std::list::iterator - i = m_stack.begin(); - i != m_stack.end(); ++i) - { - if(*i == menu) - { - m_stack.erase(i); - removed_entry = true; - break; - } - } - }while(removed_entry); + m_stack.remove(menu); /*core::list::Iterator i = m_stack.getLast(); assert(*i == menu);