Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

One fixed, was: Re: Two frequent crossfire-crashers....



> Peter Mardahl wrote:

Thanks to Mark's lead (below) I was able to fix one of the
crashing problems.  It turns out remove_ob won't remove the
all of a multi-square monster unless you call it on the monster's
head.

In "random_maps/special.c", I have a function, "nuke area of map",
which basically remove_ob's everything in a rectangle so that a
sub-map can be inserted.  What happened was part of a multi-square
monster got removed, but not all of it, leaving wild pointers.

Anyway, now if nuke_area calls remove_ob on a part of a multi-square
object, it removes the head, and therefore the whole thing.

The other problem still stands, though.


>  My guess is that there is some corruption on the map file itself.  Looking a
>t
> the stack trace you provided, it is getting called back because it is in an
> op->more field of some other object.

PeterM