#R650: Game crash (Panic - obj not free)
> <email deleted> > Oops! [...] > Suddenly, the dungeon collapses. > place_object: obj not free > > The crash is reproducible in wizmode by wishing for a landmine, arming it and > pushing a wished-for boulder onto it.
This commit is contained in:
@@ -2,6 +2,7 @@ $RCSfile$ $Revision$ $Date$
|
||||
|
||||
General Fixes and Modified Features
|
||||
-----------------------------------
|
||||
Prevent panic() obj_not_free when pushing a boulder over a landmine
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
@@ -438,8 +438,9 @@ struct obj *obj; /* only scatter this obj */
|
||||
&& rn2(10)) {
|
||||
if (otmp->otyp == BOULDER) {
|
||||
pline("%s apart.", Tobjnam(otmp, "break"));
|
||||
fracture_rock(otmp);
|
||||
place_object(otmp, sx, sy); /* put fragments on floor */
|
||||
fracture_rock(otmp); /* the will place fragments on floor */
|
||||
obj_extract_self(otmp);
|
||||
place_object(otmp, sx, sy);
|
||||
if ((otmp = sobj_at(BOULDER, sx, sy)) != 0) {
|
||||
/* another boulder here, restack it to the top */
|
||||
obj_extract_self(otmp);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)weapon.c 3.4 2002/02/07 */
|
||||
/* SCCS Id: @(#)weapon.c 3.4 2002/03/22 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -871,7 +871,7 @@ enhance_weapon_skill()
|
||||
/* start with a legend if any entries will be annotated
|
||||
with "*" or "#" below */
|
||||
if (eventually_advance > 0 || maxxed_cnt > 0) {
|
||||
any.a_int = 0;
|
||||
any.a_void = 0;
|
||||
if (eventually_advance > 0) {
|
||||
Sprintf(buf,
|
||||
"(Skill%s flagged by \"*\" may be enhanced %s.)",
|
||||
|
||||
Reference in New Issue
Block a user