Date: Wednesday July 26, 2000 @ 11:24 Author: peterm Update of /home/cvs/CVS/crossfire/random_maps In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv27384 Modified Files: treasure.c Log Message: Crashing bug fixed. This crash should actually not have come up; it was a result of an illegal wall style. Long ago I had fixed the archetypes to prevent this problem, but it got, uh, "unfixed." --PeterM **************************************** Index: crossfire/random_maps/treasure.c diff -u crossfire/random_maps/treasure.c:1.6 crossfire/random_maps/treasure.c:1.7 --- crossfire/random_maps/treasure.c:1.6 Tue Jun 20 21:54:57 2000 +++ crossfire/random_maps/treasure.c Wed Jul 26 11:24:38 2000 @@ -1,6 +1,6 @@ /* * static char *rcsid_treasure_c = - * "$Id: treasure.c,v 1.6 2000/06/21 04:54:57 peterm Exp $"; + * "$Id: treasure.c,v 1.7 2000/07/26 18:24:38 peterm Exp $"; */ /* @@ -678,13 +678,15 @@ object *wallface; door=doorlist[i]; wallface=retrofit_joined_wall(map,door->x,door->y,1); - retrofit_joined_wall(map,door->x-1,door->y,0); - retrofit_joined_wall(map,door->x+1,door->y,0); - retrofit_joined_wall(map,door->x,door->y-1,0); - retrofit_joined_wall(map,door->x,door->y+1,0); - door->face = wallface->face; - if(!QUERY_FLAG(wallface,FLAG_REMOVED)) remove_ob(wallface); - free_object(wallface); + if(wallface!=NULL) { + retrofit_joined_wall(map,door->x-1,door->y,0); + retrofit_joined_wall(map,door->x+1,door->y,0); + retrofit_joined_wall(map,door->x,door->y-1,0); + retrofit_joined_wall(map,door->x,door->y+1,0); + door->face = wallface->face; + if(!QUERY_FLAG(wallface,FLAG_REMOVED)) remove_ob(wallface); + free_object(wallface); + } } } }