From 90004242d6e32e450f39b8566a1512d9cbe5312a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20B=C3=A1lint=20Misius?= Date: Sat, 24 Jun 2023 07:13:43 +0200 Subject: [PATCH] Fix crash when overwriting a local save --- src/gui/game/GameController.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/game/GameController.cpp b/src/gui/game/GameController.cpp index 7c70016d3..c9c962db6 100644 --- a/src/gui/game/GameController.cpp +++ b/src/gui/game/GameController.cpp @@ -1163,10 +1163,10 @@ void GameController::OpenLocalSaveWindow(bool asCurrent) tempSave->SetFileName(gameModel->GetSaveFile()->GetName()); tempSave->SetDisplayName(gameModel->GetSaveFile()->GetDisplayName()); } - tempSave->SetGameSave(std::move(gameSave)); if (!asCurrent || !gameModel->GetSaveFile()) { + tempSave->SetGameSave(std::move(gameSave)); new LocalSaveActivity(std::move(tempSave), [this](auto file) { gameModel->SetSaveFile(std::move(file), gameView->ShiftBehaviour()); }); @@ -1183,6 +1183,7 @@ void GameController::OpenLocalSaveWindow(bool asCurrent) Platform::MakeDirectory(LOCAL_SAVE_DIR); auto [ fromNewerVersion, saveData ] = gameSave->Serialise(); + tempSave->SetGameSave(std::move(gameSave)); gameModel->SetSaveFile(std::move(tempSave), gameView->ShiftBehaviour()); (void)fromNewerVersion; if (saveData.size() == 0)