package monster-masher
tags 636014 + patch
quit

It's memory corruption when Intro.update calls intro_finished(),
and intro_finished deletes the Intro.

The attached patch is a workaround rather than a fix, but probably
sufficient to prevent the crash on all architectures.

Steve
--- a/src/intro.cpp
+++ b/src/intro.cpp
@@ -150,7 +150,11 @@
   else if (state == (sum += 12))
     ;				// do nothing, just wait
   else if (state >= (sum += 1))
+  {
     mw.intro_finished();
+    // this Intro has just been deleted, so return immediately
+    return true;
+  }
   else
     changed = false;
     

Reply via email to