Author: soliton
Date: Mon Mar 30 00:28:56 2009
New Revision: 34268

URL: http://svn.gna.org/viewcvs/wesnoth?rev=34268&view=rev
Log:
make the diff from the right player after a kick(ban)

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

Modified: branches/1.6/src/server/server.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/branches/1.6/src/server/server.cpp?rev=34268&r1=34267&r2=34268&view=diff
==============================================================================
--- branches/1.6/src/server/server.cpp (original)
+++ branches/1.6/src/server/server.cpp Mon Mar 30 00:28:56 2009
@@ -2232,17 +2232,19 @@
                        }
                        // Send all other players in the lobby the update to 
the gamelist.
                        simple_wml::document diff;
-                       bool diff1 = 
make_change_diff(*games_and_users_list_.root().child("gamelist"),
+                       
make_change_diff(*games_and_users_list_.root().child("gamelist"),
                                                      "gamelist", "game", 
g->description(), diff);
-                       bool diff2 = 
make_change_diff(games_and_users_list_.root(), NULL,
-                                                     "user", 
pl->second.config_address(), diff);
-                       if (diff1 || diff2) {
-                               lobby_.send_data(diff, sock);
-                       }
+                       const wesnothd::player_map::iterator pl2 = 
players_.find(user);
+                       if (pl2 == players_.end()) {
+                               ERR_SERVER << "ERROR: Could not find kicked 
player in players_."
+                               " (socket: " << user << ")\n";
+                       } else {
+                               make_change_diff(games_and_users_list_.root(), 
NULL, "user",
+                                               pl2->second.config_address(), 
diff);
+                       }
+                       lobby_.send_data(diff, sock);
                        // Send the removed user the lobby game list.
                        send_doc(games_and_users_list_, user);
-                       // FIXME: should also send a user diff to the lobby
-                       //        to mark this player as available for others
                }
                return;
        // If info is being provided about the game state.


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

Reply via email to