From 9abbb0899b3770d29937c5b761a09d0ce42ed76b Mon Sep 17 00:00:00 2001 From: Magnus Auvinen Date: Sun, 5 Aug 2007 15:42:48 +0000 Subject: added safty checks to the server --- src/game/server/game_server.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/game/server/game_server.cpp b/src/game/server/game_server.cpp index b05b7d75..1d6b101f 100644 --- a/src/game/server/game_server.cpp +++ b/src/game/server/game_server.cpp @@ -316,6 +316,10 @@ void game_world::destroy_entity(entity *ent) void game_world::remove_entity(entity *ent) { + // not in the list + if(!ent->next_entity && !ent->prev_entity && first_entity != ent) + return; + // remove if(ent->prev_entity) ent->prev_entity->next_entity = ent->next_entity; @@ -330,6 +334,11 @@ void game_world::remove_entity(entity *ent) first_entity_types[ent->objtype] = ent->next_type_entity; if(ent->next_type_entity) ent->next_type_entity->prev_type_entity = ent->prev_type_entity; + + ent->next_entity = 0; + ent->prev_entity = 0; + ent->next_type_entity = 0; + ent->prev_type_entity = 0; } // -- cgit 1.4.1