diff --git a/apps/openmw/mwgui/savegamedialog.cpp b/apps/openmw/mwgui/savegamedialog.cpp
index f93d1cc0a..cbc95e808 100644
--- a/apps/openmw/mwgui/savegamedialog.cpp
+++ b/apps/openmw/mwgui/savegamedialog.cpp
@@ -253,6 +253,21 @@ namespace MWGui
return;
}
}
+ else
+ {
+ MWBase::StateManager::State state = MWBase::Environment::get().getStateManager()->getState();
+
+ // If game is running, ask for confirmation first
+ if (state == MWBase::StateManager::State_Running && !reallySure)
+ {
+ ConfirmationDialog* dialog = MWBase::Environment::get().getWindowManager()->getConfirmationDialog();
+ dialog->askForConfirmation("#{sMessage1}");
+ dialog->eventOkClicked.clear();
+ dialog->eventOkClicked += MyGUI::newDelegate(this, &SaveGameDialog::onConfirmationGiven);
+ dialog->eventCancelClicked.clear();
+ return;
+ }
+ }
setVisible(false);
MWBase::Environment::get().getWindowManager()->removeGuiMode (MWGui::GM_MainMenu);
diff --git a/files/mygui/openmw_button.skin.xml b/files/mygui/openmw_button.skin.xml
index 09a4c0e39..5aee8de7a 100644
--- a/files/mygui/openmw_button.skin.xml
+++ b/files/mygui/openmw_button.skin.xml
@@ -111,7 +111,7 @@
-
+
diff --git a/files/mygui/openmw_confirmation_dialog.layout b/files/mygui/openmw_confirmation_dialog.layout
index fbf779cd1..2d533135a 100644
--- a/files/mygui/openmw_confirmation_dialog.layout
+++ b/files/mygui/openmw_confirmation_dialog.layout
@@ -1,7 +1,7 @@
-
+
diff --git a/files/mygui/openmw_savegame_dialog.layout b/files/mygui/openmw_savegame_dialog.layout
index ca11b65f8..f18218430 100644
--- a/files/mygui/openmw_savegame_dialog.layout
+++ b/files/mygui/openmw_savegame_dialog.layout
@@ -1,7 +1,7 @@
-
+
diff --git a/files/mygui/openmw_windows.skin.xml b/files/mygui/openmw_windows.skin.xml
index 423de14aa..00e6f9148 100644
--- a/files/mygui/openmw_windows.skin.xml
+++ b/files/mygui/openmw_windows.skin.xml
@@ -1,7 +1,7 @@
-
+
@@ -9,6 +9,14 @@
+
+
+
+
+
+
+
+
@@ -883,4 +891,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+