From eccc67c0b1643983138f56477e5110401f0ba904 Mon Sep 17 00:00:00 2001 From: Chris Beck Date: Sat, 31 May 2014 20:43:30 -0400 Subject: [PATCH] use completion setter object in mp linger mode mp linger mode was not properly setting the completion status, as sp does. This caused mp end of scenario saves not to end up in linger mode when they are reloaded. --- src/playmp_controller.cpp | 2 +- src/playsingle_controller.cpp | 14 -------------- src/playsingle_controller.hpp | 15 +++++++++++++++ 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/playmp_controller.cpp b/src/playmp_controller.cpp index 58817d0a1453..8e06867f8a94 100644 --- a/src/playmp_controller.cpp +++ b/src/playmp_controller.cpp @@ -342,7 +342,7 @@ void playmp_controller::linger() // this is actually for after linger mode is over -- we don't want to // stay stuck in linger state when the *next* scenario is over. - gamestate_.classification().completion = "running"; + set_completion setter(gamestate_,"running"); // End all unit moves BOOST_FOREACH(unit &u, units_) { u.set_user_end_turn(true); diff --git a/src/playsingle_controller.cpp b/src/playsingle_controller.cpp index eae4f4af2071..fa91c40cbefa 100644 --- a/src/playsingle_controller.cpp +++ b/src/playsingle_controller.cpp @@ -803,20 +803,6 @@ void playsingle_controller::play_human_turn() { gui_->draw(); } } -struct set_completion -{ - set_completion(game_state& state, const std::string& completion) : - state_(state), completion_(completion) - { - } - ~set_completion() - { - state_.classification().completion = completion_; - } - private: - game_state& state_; - const std::string completion_; -}; void playsingle_controller::linger() { diff --git a/src/playsingle_controller.hpp b/src/playsingle_controller.hpp index e8930d458279..0ab372374ead 100644 --- a/src/playsingle_controller.hpp +++ b/src/playsingle_controller.hpp @@ -20,6 +20,21 @@ #include "playturn_network_adapter.hpp" #include "replay.hpp" +struct set_completion +{ + set_completion(game_state& state, const std::string& completion) : + state_(state), completion_(completion) + { + } + ~set_completion() + { + state_.classification().completion = completion_; + } + private: + game_state& state_; + const std::string completion_; +}; + class playsingle_controller : public play_controller { public: