[Scummvm-cvs-logs] SF.net SVN: scummvm:[47925] scummvm/trunk/engines/sci/engine/kmisc.cpp

waltervn at users.sourceforge.net waltervn at users.sourceforge.net
Sat Feb 6 05:13:00 CET 2010


Revision: 47925
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47925&view=rev
Author:   waltervn
Date:     2010-02-06 04:13:00 +0000 (Sat, 06 Feb 2010)

Log Message:
-----------
SCI: Don't call garbage collector directly from kFlushResources() as this is no longer safe.

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/kmisc.cpp

Modified: scummvm/trunk/engines/sci/engine/kmisc.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kmisc.cpp	2010-02-06 01:38:00 UTC (rev 47924)
+++ scummvm/trunk/engines/sci/engine/kmisc.cpp	2010-02-06 04:13:00 UTC (rev 47925)
@@ -159,7 +159,11 @@
 }
 
 reg_t kFlushResources(EngineState *s, int argc, reg_t *argv) {
-	run_gc(s);
+	// We used to call run_gc() directly from here. This is no longer safe
+	// as we now always add our fake "kernel" stack frame for debugging
+	// purposes. Instead of calling run_gc(), we set gc_countdown to 1
+	// to make the garbage collector run before the next kernel function.
+	s->gc_countdown = 1;
 	debugC(2, kDebugLevelRoom, "Entering room number %d", argv[0].toUint16());
 	return s->r_acc;
 }


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list