diff options
Diffstat (limited to 'crawl-ref/source/spells3.cc')
-rw-r--r-- | crawl-ref/source/spells3.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/crawl-ref/source/spells3.cc b/crawl-ref/source/spells3.cc index 8740fae83d..56d2c079aa 100644 --- a/crawl-ref/source/spells3.cc +++ b/crawl-ref/source/spells3.cc @@ -1319,6 +1319,18 @@ static bool _teleport_player( bool allow_control, bool new_abyss_area ) show_map(pos, false); redraw_screen(); +#if defined(USE_UNIX_SIGNALS) && defined(SIGHUP_SAVE) && defined(USE_CURSES) + // If we've received a HUP signal then the user can't choose a + // location, so cancel the teleport. + if (crawl_state.seen_hups) + { + mpr("Controlled teleport interrupted by HUP signal, " + "cancelling teleport.", MSGCH_ERROR); + you.turn_is_over = false; + return (false); + } +#endif + #if DEBUG_DIAGNOSTICS mprf(MSGCH_DIAGNOSTICS, "Target square (%d,%d)", pos.x, pos.y ); #endif |