fix #H6955 - wielded potion 'object lost' panic

Report classified this as 'segfault' but it's actually a controlled
panic().  When hero has lycanthropy and is wielding a potion of unholy
water while in human form, if that potion is boiled then it triggers
a transformation to beast form which in turn causes wielded weapon to
be dropped.  When the code unwinds back up through potionbreathe() to
destroy_item(), the boiled potion won't be found in inventory any more
and useup() -> useupall() -> freeinv() -> extract_nobj() panics.
This commit is contained in:
PatR
2018-03-11 12:39:01 -07:00
parent f026e37573
commit 152d9e7705
3 changed files with 24 additions and 7 deletions

View File

@@ -521,6 +521,9 @@ prayer boon of 'fix all troubles' could get stuck in an infinite loop for
TROUBLE_STUCK_IN_WALL if there was no spot to teleport into available
It shouldn't be considered hypocrisy if you speed up your pet while standing
on Elbereth
fix 'object lost' panic if hero with lycanthropy but in human form is wielding
a potion of unholy water which gets boiled/exploded by fire, causing
were-transformation and drop of wielded weapon
Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository