stale spellbook pointer
If you get interrupted while reading a spellbook and then
the book gets destroyed or you change levels, the object pointer
remembered for the book will be invalid and could accidentally
match one subsequently allocated to some other book. That would
result in "you continue your efforts to memorize the spell" when
starting to read that other book; it would also end up bypassing
the reading difficulty check and reuse the old book's delay counter.
I don't remember who reported this. It was quite some time
ago and I have an abandoned patch dated last March from when I
first started to fix it.
Files patched:
include/extern.h
src/save.c, shk.c, spell.c
This commit is contained in:
@@ -493,6 +493,8 @@ add wizard #poly and #levelchange (originally levelgain; Dylan O'Donnell),
|
||||
add Jason Short's additional lenses use patch
|
||||
add new Gnomish Mines levels from Kelly Bailey's patch
|
||||
jousting by players wielding a lance while riding
|
||||
when reading spellbooks, don't "continue studying" wrong book if original one
|
||||
gets destroyed after previous reading attempt has been interrupted
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific New Features
|
||||
|
||||
Reference in New Issue
Block a user