diff --git a/src/guiengine/engine.cpp b/src/guiengine/engine.cpp index 5e3ffacbf..94a1ee1e5 100644 --- a/src/guiengine/engine.cpp +++ b/src/guiengine/engine.cpp @@ -1209,7 +1209,7 @@ namespace GUIEngine ul.unlock(); #endif - const GameState gamestate = g_state_manager->getGameState(); + GameState gamestate = g_state_manager->getGameState(); // ---- some menus may need updating bool dialog_opened = false; @@ -1235,6 +1235,8 @@ namespace GUIEngine screen->onUpdate(elapsed_time); } } + + gamestate = g_state_manager->getGameState(); // ---- menu drawing diff --git a/src/guiengine/skin.cpp b/src/guiengine/skin.cpp index ed931a59e..8cd0be146 100644 --- a/src/guiengine/skin.cpp +++ b/src/guiengine/skin.cpp @@ -1871,7 +1871,11 @@ void Skin::drawListHeader(const irr::core::rect< irr::s32 > &rect, void Skin::renderSections(PtrVector* within_vector) { #ifndef SERVER_ONLY - if (within_vector == NULL) within_vector = &getCurrentScreen()->m_widgets; + if (within_vector == NULL && getCurrentScreen()) + within_vector = &getCurrentScreen()->m_widgets; + + if (!within_vector) + return; const unsigned short widgets_amount = within_vector->size();