diff --git a/src/gui/guiChatConsole.cpp b/src/gui/guiChatConsole.cpp index 243828df0..c04eeebc3 100644 --- a/src/gui/guiChatConsole.cpp +++ b/src/gui/guiChatConsole.cpp @@ -106,9 +106,13 @@ GUIChatConsole::~GUIChatConsole() void GUIChatConsole::openConsole(f32 scale) { + if (m_open) + return; + assert(scale > 0.0f && scale <= 1.0f); m_open = true; + m_desired_height_fraction = scale; m_desired_height = scale * m_screensize.Y; reformatConsole(); diff --git a/src/gui/mainmenumanager.h b/src/gui/mainmenumanager.h index 05d7c8974..25ff475f4 100644 --- a/src/gui/mainmenumanager.h +++ b/src/gui/mainmenumanager.h @@ -48,14 +48,14 @@ class MainMenuManager : public IMenuManager public: virtual void createdMenu(gui::IGUIElement *menu) { -#ifndef NDEBUG - for (gui::IGUIElement *i : m_stack) { - assert(i != menu); + for (gui::IGUIElement *e : m_stack) { + if (e == menu) + return; } -#endif if(!m_stack.empty()) m_stack.back()->setVisible(false); + m_stack.push_back(menu); guienv->setFocus(m_stack.back()); }