more #H267 - cursed figurine auto-activation
Figurine activation timer had the same problem as burning objects: it didn't clear up worn object pointers when destroying the object.
This commit is contained in:
@@ -339,6 +339,7 @@ make score file processing more bullet proof to avoid potential security issue
|
||||
towel equipped in weapon, alternate weapon, or quiver slot can be applied
|
||||
lit candle or potion of oil which burned out while equipped would leave stale
|
||||
weapon/alternate-weapon/quiver pointer that could cause panic or crash
|
||||
wielded/worn figurine which auto-transformed had same stale pointer bug
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
@@ -1852,8 +1852,12 @@ long timeout;
|
||||
}
|
||||
}
|
||||
/* free figurine now */
|
||||
obj_extract_self(figurine);
|
||||
obfree(figurine, (struct obj *)0);
|
||||
if (carried(figurine)) {
|
||||
useup(figurine);
|
||||
} else {
|
||||
obj_extract_self(figurine);
|
||||
obfree(figurine, (struct obj *)0);
|
||||
}
|
||||
if (redraw) newsym(cc.x, cc.y);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user