Closed cbQB closed 2 years ago
void USpudSubsystem::SaveComplete(const FString& SlotName, bool bSuccess) { SlotNameInProgress = ""; TitleInProgress = FText(); ExtraInfoInProgress = nullptr; CurrentState = ESpudSystemState::RunningIdle; PostSaveGame.Broadcast(SlotName, bSuccess); } On successful completion, SlotName is a reference to SlotNameInProgress, which gets cleared by the first line. Suggested fix: CurrentState = ESpudSystemState::RunningIdle; PostSaveGame.Broadcast(SlotName, bSuccess); SlotNameInProgress = ""; TitleInProgress = FText(); ExtraInfoInProgress = nullptr;
Thanks for reporting, this is now fixed.
void USpudSubsystem::SaveComplete(const FString& SlotName, bool bSuccess) { SlotNameInProgress = ""; TitleInProgress = FText(); ExtraInfoInProgress = nullptr; CurrentState = ESpudSystemState::RunningIdle; PostSaveGame.Broadcast(SlotName, bSuccess); } On successful completion, SlotName is a reference to SlotNameInProgress, which gets cleared by the first line. Suggested fix: CurrentState = ESpudSystemState::RunningIdle; PostSaveGame.Broadcast(SlotName, bSuccess); SlotNameInProgress = ""; TitleInProgress = FText(); ExtraInfoInProgress = nullptr;