seed r78 - trunk/libseed



Author: racarr
Date: Mon Nov  3 08:39:40 2008
New Revision: 78
URL: http://svn.gnome.org/viewvc/seed?rev=78&view=rev

Log:
Protect signal closure data from garbage collection.


Modified:
   trunk/libseed/seed-signals.c

Modified: trunk/libseed/seed-signals.c
==============================================================================
--- trunk/libseed/seed-signals.c	(original)
+++ trunk/libseed/seed-signals.c	Mon Nov  3 08:39:40 2008
@@ -176,11 +176,15 @@
 	((SeedClosure *)closure)->object = 
 		g_object_get_data(privates->object, "js-ref");
 	if (argumentCount == 2 && !JSValueIsNull(eng->context,arguments[1]))
-		((SeedClosure *)closure)->this = (JSObjectRef)arguments[1];
+	{
+			JSValueProtect(eng->context, (JSObjectRef)arguments[1]);
+			((SeedClosure *)closure)->this = (JSObjectRef)arguments[1];
+	}
 	else
 		((SeedClosure *)closure)->this = 0;
 	
 
+	JSValueProtect(eng->context, (JSObjectRef)arguments[0]);
 	
 	
 	g_signal_connect_closure_by_id (privates->object,



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