diff --git a/src/MyEventReceiver.cpp b/src/MyEventReceiver.cpp index eb3f54df..907226ea 100644 --- a/src/MyEventReceiver.cpp +++ b/src/MyEventReceiver.cpp @@ -478,6 +478,7 @@ bool MyEventReceiver::OnEvent(const irr::SEvent &event) if (id == GUIMain::GUI_ID_CLOSE_BOX) { shutdownDialogActive = false; + model->setAccelerator(preShutdownAccelerator); } } @@ -2151,10 +2152,10 @@ bool MyEventReceiver::IsButtonPressed(irr::u32 button, irr::u32 buttonBitmap) co void MyEventReceiver::startShutdown() { - model->setAccelerator(0.0); - device->sleep(500); if (!shutdownDialogActive) { + preShutdownAccelerator = model->getAccelerator(); + model->setAccelerator(0.0); device->getGUIEnvironment()->getRootGUIElement()->setVisible(true); device->getGUIEnvironment()->addMessageBox(L"Quit?", L"Quit?", true, irr::gui::EMBF_OK | irr::gui::EMBF_CANCEL, 0, GUIMain::GUI_ID_CLOSE_BOX); // I18n shutdownDialogActive = true; diff --git a/src/MyEventReceiver.hpp b/src/MyEventReceiver.hpp index 0dec26eb..395ad2f5 100644 --- a/src/MyEventReceiver.hpp +++ b/src/MyEventReceiver.hpp @@ -247,6 +247,8 @@ class MyEventReceiver : public irr::IEventReceiver bool previousJoystickPOVInitialised; irr::u32 linesMode; // 0 = none, 1 = own ship end, 2 = other end + + irr::f32 preShutdownAccelerator; }; #endif