Author: soliton
Date: Thu Mar 26 01:32:49 2009
New Revision: 34136

URL: http://svn.gna.org/viewcvs/wesnoth?rev=34136&view=rev
Log:
also log leaving players on game destruction

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

Modified: branches/1.6/src/server/game.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/branches/1.6/src/server/game.cpp?rev=34136&r1=34135&r2=34136&view=diff
==============================================================================
--- branches/1.6/src/server/game.cpp (original)
+++ branches/1.6/src/server/game.cpp Thu Mar 26 01:32:49 2009
@@ -83,6 +83,9 @@
 
 game::~game()
 {
+       for (user_vector::const_iterator p = players_.begin(); p != 
players_.end(); ++p) {
+               remove_player(*p, false, true);
+       }
        for(std::vector<simple_wml::document*>::iterator i = history_.begin(); 
i != history_.end(); ++i) {
                delete *i;
        }
@@ -935,7 +938,7 @@
        return true;
 }
 
-bool game::remove_player(const network::connection player, const bool 
disconnect) {
+bool game::remove_player(const network::connection player, const bool 
disconnect, const bool destruct) {
        if (!is_member(player)) {
                ERR_GAME << "ERROR: User is not in this game. (socket: "
                        << player << ")\n";
@@ -976,6 +979,8 @@
                << (observer ? " as an observer" : "")
                << (disconnect ? " and disconnected" : "")
                << ". (socket: " << user->first << ")\n";
+       // No need to do anything more when the game gets destructed.
+       if (destruct) return true;
        if (game_ended) {
                send_server_message_to_all((user->second.name() + " ended the 
game.").c_str(), player);
                return true;

Modified: branches/1.6/src/server/game.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/branches/1.6/src/server/game.hpp?rev=34136&r1=34135&r2=34136&view=diff
==============================================================================
--- branches/1.6/src/server/game.hpp (original)
+++ branches/1.6/src/server/game.hpp Thu Mar 26 01:32:49 2009
@@ -96,7 +96,7 @@
         *                            no more players or the host left on a not 
yet
         *                            started game.
         */
-       bool remove_player(const network::connection player, const bool 
disconnect=false);
+       bool remove_player(const network::connection player, const bool 
disconnect=false, const bool destruct=false);
 
        /** Adds players and observers into one vector and returns that. */
        const user_vector all_game_users() const;


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

Reply via email to