diff --git a/src/display.c b/src/display.c index 71ce67766..19e60d41c 100644 --- a/src/display.c +++ b/src/display.c @@ -1853,6 +1853,10 @@ show_glyph(coordxy x, coordxy y, int glyph) boolean show_glyph_change = FALSE; int oldglyph; + /* don't process map glyphs when saving, restoring, or in_mklev */ + if (suppress_map_output()) + return; + //if (glyph == 3972 || glyph == 3988) // __debugbreak(); /* diff --git a/src/save.c b/src/save.c index f3ea97a62..0f194ba34 100644 --- a/src/save.c +++ b/src/save.c @@ -87,6 +87,7 @@ dosave0(void) int res = 0; program_state.saving++; /* inhibit status and perm_invent updates */ + notice_mon_off(); /* we may get here via hangup signal, in which case we want to fix up a few of things before saving so that they won't be restored in an improper state; these will be no-ops for normal save sequence */ @@ -234,6 +235,7 @@ dosave0(void) res = 1; done: + notice_mon_on(); program_state.saving--; return res; }