stratagus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Stratagus-CVS] stratagus/src/clone ccl.c


From: ludovic pollet
Subject: [Stratagus-CVS] stratagus/src/clone ccl.c
Date: Tue, 11 Nov 2003 11:34:46 -0500

CVSROOT:        /cvsroot/stratagus
Module name:    stratagus
Branch:         
Changes by:     ludovic pollet <address@hidden> 03/11/11 11:34:46

Modified files:
        src/clone      : ccl.c 

Log message:
        Fixed guile & GC

Patches:
Index: stratagus/src/clone/ccl.c
diff -u stratagus/src/clone/ccl.c:1.128 stratagus/src/clone/ccl.c:1.129
--- stratagus/src/clone/ccl.c:1.128     Tue Nov 11 07:45:24 2003
+++ stratagus/src/clone/ccl.c   Tue Nov 11 11:34:45 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: ccl.c,v 1.128 2003/11/11 12:45:24 pludov Exp $
+//     $Id: ccl.c,v 1.129 2003/11/11 16:34:45 pludov Exp $
 
 //@{
 
@@ -297,7 +297,7 @@
 */
 local int CclNeedProtect(SCM val)
 {
-    return (val != SCM_UNSPECIFIED) && (!gh_null_p(val));
+    return (val != SCM_UNSPECIFIED) && (val != NULL) && (!gh_null_p(val));
 }
 #endif
 
@@ -389,6 +389,10 @@
 
 global void CclGcProtectedAssign(SCM* obj, SCM value)
 {
+    if (*obj == value) {
+       return;
+    }
+
 #ifdef GC_PROTECT_VALUE
     CclGcUnprotect(obj);
     (*obj) = value;
@@ -396,7 +400,7 @@
 #else
 #ifdef DEBUG_GC
     int id;
-    
+
     // Check if already protected
     id = FindProtectedCell(obj);
     DebugCheck(id == -1);
@@ -1186,8 +1190,10 @@
 #endif
 
 #ifndef SIOD_HEAP_GC
+#ifndef USE_GUILE
     gh_define("*ccl-protect*", NIL);
 #endif
+#endif
 
     print_welcome();
 }
@@ -1262,7 +1268,7 @@
     }
 
     fprintf(fd, ";;; -----------------------------------------\n");
-    fprintf(fd, ";;; $Id: ccl.c,v 1.128 2003/11/11 12:45:24 pludov Exp $\n");
+    fprintf(fd, ";;; $Id: ccl.c,v 1.129 2003/11/11 16:34:45 pludov Exp $\n");
 
     fprintf(fd, "(set-video-resolution! %d %d)\n", VideoWidth, VideoHeight);
     
@@ -1287,7 +1293,7 @@
     }
 
     fprintf(fd, ";;; -----------------------------------------\n");
-    fprintf(fd, ";;; $Id: ccl.c,v 1.128 2003/11/11 12:45:24 pludov Exp $\n");
+    fprintf(fd, ";;; $Id: ccl.c,v 1.129 2003/11/11 16:34:45 pludov Exp $\n");
 
     // Global options
     if (OriginalFogOfWar) {
@@ -1398,7 +1404,7 @@
     extern SCM oblistvar;
 
     CLprintf(file, "\n;;; -----------------------------------------\n");
-    CLprintf(file, ";;; MODULE: CCL $Id: ccl.c,v 1.128 2003/11/11 12:45:24 
pludov Exp $\n\n");
+    CLprintf(file, ";;; MODULE: CCL $Id: ccl.c,v 1.129 2003/11/11 16:34:45 
pludov Exp $\n\n");
 
     for (list = oblistvar; gh_list_p(list); list = gh_cdr(list)) {
        SCM sym;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]