seed r642 - trunk/libseed



Author: racarr
Date: Sun Jan  4 10:10:42 2009
New Revision: 642
URL: http://svn.gnome.org/viewvc/seed?rev=642&view=rev

Log:
Avoid defining methods on struct constructors, as this is wrong. Shaves
another 0.1-0.2 megs off import of Gtk...quickly approaching half of
python!
starting

Modified:
   trunk/libseed/seed-engine.c

Modified: trunk/libseed/seed-engine.c
==============================================================================
--- trunk/libseed/seed-engine.c	(original)
+++ trunk/libseed/seed-engine.c	Sun Jan  4 10:10:42 2009
@@ -1048,9 +1048,16 @@
 
 			for (i = 0; i < n_methods; i++)
 			{
+				GIFunctionInfoFlags flags;
 				finfo = g_struct_info_get_method((GIStructInfo *) info, i);
-				seed_gobject_define_property_from_function_info
-					(ctx, finfo, struct_ref, FALSE);
+
+				flags = g_function_info_get_flags(finfo);
+				
+				if (flags & GI_FUNCTION_IS_METHOD)
+					g_base_info_unref((GIBaseInfo *)finfo);
+				else
+					seed_gobject_define_property_from_function_info
+						(ctx, finfo, struct_ref, FALSE);
 
 			}
 			
@@ -1077,9 +1084,16 @@
 
 			for (i = 0; i < n_methods; i++)
 			{
+				GIFunctionInfoFlags flags;
+
 				finfo = g_union_info_get_method((GIUnionInfo *) info, i);
-				seed_gobject_define_property_from_function_info
-					(ctx, finfo, struct_ref, FALSE);
+				flags = g_function_info_get_flags(finfo);
+				
+				if (flags & GI_FUNCTION_IS_METHOD)
+					g_base_info_unref((GIBaseInfo *)finfo);
+				else
+					seed_gobject_define_property_from_function_info
+						(ctx, finfo, struct_ref, FALSE);
 
 			}
 



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