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

Re: CF: Bug found in crossfire 0.92.4



> From: Raphael.Quinet writes:
> 
> Here is the description of the bug: if you cast a spell that leaves a
> deadly object on the map (such as "pool of chaos", "firewall", "wall
> of thorns", etc.) and a multi-square monster gets killed when moving
> over it, the game crashes with the error "Trying to remove removed
> object".  This happens because the monster is moved by removing it
> from its old position, then re-inserting it in the new position.
> While doing that, the routine insert_ob_in_map() calls check_walk_on()
> to see if the monster is stepping over a special object.  If the
> monster gets killed by this object, the routine hit_player() tries to
> remove it, but it crashes because the monster (or at least parts of
> it) has already been removed and is not yet completely re-inserted in
> the map.
> 

	Perhaps have a check in hit_player for multi-sqaure monsters?
	It goes through the linked object tree checking for removed status.
	If its already removed, it just skips ahead to the next part
	of the monster.

	I ll try to implement this. If it works, Ill send in a patch.


						shooting from the hip,

						-b.t.