diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-08-05 15:42:48 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-08-05 15:42:48 +0000 |
| commit | 9abbb0899b3770d29937c5b761a09d0ce42ed76b (patch) | |
| tree | e17d37ab77b1572a0168d97eadc11503941983b3 /src/game | |
| parent | 6ec3e70babf3d54191b989dee9cd2496788cab60 (diff) | |
| download | zcatch-9abbb0899b3770d29937c5b761a09d0ce42ed76b.tar.gz zcatch-9abbb0899b3770d29937c5b761a09d0ce42ed76b.zip | |
added safty checks to the server
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/server/game_server.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
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; } // |