diff --git a/doc/fixes34.4 b/doc/fixes34.4 index eeb2d2286..feaca00ff 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -299,6 +299,9 @@ attempting to kick beyond map edge performed an out of array bounds memory access; symptom seen was "show_glyph: bad pos" warning when blind attempting to engrave with an empty wand should always use a turn don't access freed memory after engraving "wrests one last charnge" from wand +a magic portal could be rendered inactive for the hero if a successful + hangup save took place during level change; leaving the level by any + means other than triggering the portal would reactivate it Platform- and/or Interface-Specific Fixes diff --git a/src/restore.c b/src/restore.c index e5ec5e2bd..685a0ac71 100644 --- a/src/restore.c +++ b/src/restore.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)restore.c 3.5 2007/01/11 */ +/* SCCS Id: @(#)restore.c 3.5 2007/02/03 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -562,6 +562,8 @@ unsigned int *stuckid, *steedid; /* STEED */ u.uz.dlevel = 1; return(FALSE); } + /* in case hangup save occurred in midst of level change */ + assign_level(&u.uz0, &u.uz); /* this stuff comes after potential aborted restore attempts */ restore_killers(fd);