Author: soliton
Date: Tue Apr 14 21:14:07 2009
New Revision: 34913

URL: http://svn.gna.org/viewcvs/wesnoth?rev=34913&view=rev
Log:
only don't display the ended game message when the user is an observer
and we're destructing the game; fixes odd games that are ended by observers
(all sides empty so there is no player in the game on start)

Modified:
    branches/1.6/src/server/game.cpp

Modified: branches/1.6/src/server/game.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/branches/1.6/src/server/game.cpp?rev=34913&r1=34912&r2=34913&view=diff
==============================================================================
--- branches/1.6/src/server/game.cpp (original)
+++ branches/1.6/src/server/game.cpp Tue Apr 14 21:14:07 2009
@@ -968,17 +968,18 @@
        const bool observer = is_observer(player);
        players_.erase(std::remove(players_.begin(), players_.end(), player), 
players_.end());
        observers_.erase(std::remove(observers_.begin(), observers_.end(), 
player), observers_.end());
-       const bool game_ended = (players_.empty() && !observer) || (host && 
!started_);
+       const bool game_ended = players_.empty() || (host && !started_);
        const player_map::iterator user = player_info_->find(player);
        if (user == player_info_->end()) {
                ERR_GAME << "ERROR: Could not find user in player_info_. 
(socket: "
                        << player << ")\n";
-               return false;
+               return game_ended;
        }
        LOG_GAME << network::ip_address(user->first) << "\t" << 
user->second.name()
-               << (game_ended ? (started_ ? "\tended" : "\taborted") : "\thas 
left")
+               << ((game_ended && !(observer && destruct))
+                       ? (started_ ? "\tended" : "\taborted") : "\thas left")
                << " game:\t\"" << name_ << "\" (" << id_ << ")"
-               << (game_ended && started_ ? " at turn: "
+               << (game_ended && started_ && !(observer && destruct) ? " at 
turn: "
                        + 
lexical_cast_default<std::string,size_t>(current_turn())
                        + " with reason: '" + termination_reason() + "'" : "")
                << (observer ? " as an observer" : "")


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to