glade3 r2058 - in trunk: . gladeui



Author: tvb
Date: Fri Nov 28 16:56:41 2008
New Revision: 2058
URL: http://svn.gnome.org/viewvc/glade3?rev=2058&view=rev

Log:

	* gladeui/glade-widget-adaptor.c: Fixed bug with iface props, they were getting listed
	once per implementing subclass (subclasses of implementors had it listed > 2 times).



Modified:
   trunk/ChangeLog
   trunk/gladeui/glade-widget-adaptor.c

Modified: trunk/gladeui/glade-widget-adaptor.c
==============================================================================
--- trunk/gladeui/glade-widget-adaptor.c	(original)
+++ trunk/gladeui/glade-widget-adaptor.c	Fri Nov 28 16:56:41 2008
@@ -405,31 +405,21 @@
 {
 	GladeWidgetAdaptor *parent_adaptor = gwa_get_parent_adaptor (adaptor);
 	GladePropertyClass *property_class;
-	GType               class_type;
 	gint                i;
 	GList              *list = NULL;
 
 	for (i = 0; i < n_specs; i++)
 	{
-		gboolean found;
-
-		/* Only create properties that dont exist on the adaptor yet */
-		for (found = FALSE, class_type = adaptor->type;
-		     ((!parent_adaptor && class_type != 0) ||
-		      ( parent_adaptor && class_type != parent_adaptor->type));
-		     class_type = g_type_parent (class_type))
-			if (specs[i]->owner_type == class_type ||
-			    (G_TYPE_IS_INTERFACE (specs[i]->owner_type) &&
-			    glade_util_class_implements_interface (class_type, specs[i]->owner_type)))
-			{
-				found = TRUE;
-				break;
-			}
-
-		if (found && 
-		    (property_class = 
-		     glade_property_class_new_from_spec (adaptor, specs[i])) != NULL)
-			list = g_list_prepend (list, property_class);
+		if (parent_adaptor == NULL ||
+		    (!is_packing && !glade_widget_adaptor_get_property_class (parent_adaptor,
+									      specs[i]->name)) ||
+		    (is_packing &&  !glade_widget_adaptor_get_pack_property_class (parent_adaptor,
+										   specs[i]->name)))
+		{
+			if ((property_class = 
+			     glade_property_class_new_from_spec (adaptor, specs[i])) != NULL)
+				list = g_list_prepend (list, property_class);
+		}		    
 	}
 
 	if (is_packing)



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