diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/pegasus/pegasus.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/pegasus/pegasus.cpp b/engines/pegasus/pegasus.cpp index 225bcbc35f..d2d1973a66 100644 --- a/engines/pegasus/pegasus.cpp +++ b/engines/pegasus/pegasus.cpp @@ -575,6 +575,13 @@ bool PegasusEngine::writeToStream(Common::WriteStream *stream, int saveType) { } void PegasusEngine::makeContinuePoint() { + // WORKAROUND: Do not attempt to make a continue point if the interface is not set + // up. The original did *not* do this and attempting to restore the game using the pause + // menu during the canyon/space chase sequence would segfault the game and crash the + // system. Nice! + if (!g_interface) + return; + delete _continuePoint; Common::MemoryWriteStreamDynamic newPoint(DisposeAfterUse::NO); |