Entity despawning memory leak fixed #45

This commit is contained in:
Shoghi Cervantes Pueyo 2013-01-11 15:06:24 +01:00
parent 6ab08020c3
commit ab2b519c2e
2 changed files with 7 additions and 6 deletions

View File

@ -92,10 +92,11 @@ class EntityAPI{
public function remove($eid){
if(isset($this->server->entities[$eid])){
$this->server->query("DELETE FROM entities WHERE EID = ".$eid.";");
$this->server->api->dhandle("entity.remove", $this->server->entities[$eid]);
$this->server->entities[$eid]->close();
$entity = $this->server->entities[$eid];
unset($this->server->entities[$eid]);
$this->server->query("DELETE FROM entities WHERE EID = ".$entity->eid.";");
$this->server->api->dhandle("entity.remove", $entity);
unset($entity);
}
}
}

View File

@ -202,11 +202,11 @@ class PlayerAPI{
public function remove($CID){
if(isset($this->server->clients[$CID])){
$player = $this->server->clients[$CID];
$this->server->api->entity->remove($player->entity->eid);
unset($this->server->clients[$player->CID]);
$this->saveOffline($player->username, $player->data);
$this->server->query("DELETE FROM players WHERE name = '".$player->username."';");
unset($this->server->entities[$player->eid]);
unset($this->server->clients[$player->CID]);
unset($player);
$this->server->api->entity->remove($player->eid);
}
}