[CF-Devel] CVS update: crossfire/random_maps

Crossfire CVS devel mwedel at scruznet.com
Wed Jul 26 13:24:39 CDT 2000


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);
+		}
     }
   }
 }

    
    


More information about the crossfire mailing list