Fix exiting savegamedialog with 'esc' when no game is running

pull/303/head
scrawl 7 years ago
parent d94235e3a7
commit cd437f094d

@ -210,6 +210,11 @@ namespace MWGui
} }
} }
bool MainMenu::exit()
{
return MWBase::Environment::get().getStateManager()->getState() == MWBase::StateManager::State_Running;
}
void MainMenu::updateMenu() void MainMenu::updateMenu()
{ {
setCoord(0,0, mWidth, mHeight); setCoord(0,0, mWidth, mHeight);

@ -38,6 +38,8 @@ namespace MWGui
void onFrame(float dt); void onFrame(float dt);
bool exit();
private: private:
const VFS::Manager* mVFS; const VFS::Manager* mVFS;

@ -750,8 +750,8 @@ namespace MWGui
if (!window->exit()) if (!window->exit())
{ {
// unable to exit window, but give access to main menu // unable to exit window, but give access to main menu
if (!MyGUI::InputManager::getInstance().isModalAny()) if (!MyGUI::InputManager::getInstance().isModalAny() && getMode() != GM_MainMenu)
pushGuiMode (MWGui::GM_MainMenu); pushGuiMode (GM_MainMenu);
return; return;
} }
} }

@ -241,9 +241,7 @@ namespace MWInput
switch (action) switch (action)
{ {
case A_GameMenu: case A_GameMenu:
if(!(MWBase::Environment::get().getStateManager()->getState() != MWBase::StateManager::State_Running toggleMainMenu ();
&& MWBase::Environment::get().getWindowManager()->getMode() == MWGui::GM_MainMenu))
toggleMainMenu ();
break; break;
case A_Screenshot: case A_Screenshot:
screenshot(); screenshot();

Loading…
Cancel
Save