Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2009-06-28 19:41:48 +0000
committerStijn Buys <ingar@osirion.org>2009-06-28 19:41:48 +0000
commitbf96f47d2c993112327f278eb2dd270b769e59aa (patch)
tree63d8de26c95229176b500012812dec9b19e96262 /src/core/netserver.cc
parentcb30a59798dc78f2e67627befefb7810e48cbfb1 (diff)
Fixed remote entity owners
Diffstat (limited to 'src/core/netserver.cc')
-rw-r--r--src/core/netserver.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/core/netserver.cc b/src/core/netserver.cc
index 73aa73d..2639b97 100644
--- a/src/core/netserver.cc
+++ b/src/core/netserver.cc
@@ -159,9 +159,17 @@ void NetServer::reap()
if (client->error()) {
- // notify the game server
- if (client->state() == NetClient::Connected)
+ // notify other clients
+ for (Clients::iterator cit = clients.begin(); cit != clients.end(); cit++) {
+ if ((*cit) != (*it)) {
+ send_player_disconnect_info((*cit), (*it)->player());
+ }
+ }
+
+ if (client->state() == NetClient::Connected) {
+ // notify the game server
server()->player_disconnect((*it)->player());
+ }
// remove the client
delete client;