glade3 r1913 - in trunk: . gladeui



Author: tvb
Date: Tue Sep 16 23:41:29 2008
New Revision: 1913
URL: http://svn.gnome.org/viewvc/glade3?rev=1913&view=rev

Log:

	* gladeui/glade-widget.c: Reverted the above patch portion where built
	  objects only had thier construct props set, this caused errors, fixed.

Also fixed a bug in previous copy of glade-editor-proeprty.c



Modified:
   trunk/ChangeLog
   trunk/gladeui/glade-editor-property.c
   trunk/gladeui/glade-widget.c

Modified: trunk/gladeui/glade-editor-property.c
==============================================================================
--- trunk/gladeui/glade-editor-property.c	(original)
+++ trunk/gladeui/glade-editor-property.c	Tue Sep 16 23:41:29 2008
@@ -2717,18 +2717,22 @@
 					new_object = g_value_get_object (value);
 					new_widget = glade_widget_get_from_gobject (new_object);
 
-					if (new_object && old_object != new_object &&
-					    (old_ref = glade_widget_get_parentless_widget_ref (new_widget)))
+					if (new_object && old_object != new_object)
 					{
-						gchar *desc = g_strdup_printf (_("Setting %s of %s to %s"),
-									       eprop->property->klass->name,
-									       eprop->property->widget->name, 
-									       new_widget->name);
-						glade_command_push_group (desc);
-						glade_command_set_property (old_ref, NULL);
-						glade_editor_property_commit (eprop, value);
-						glade_command_pop_group ();
-						g_free (desc);
+						if ((old_ref = glade_widget_get_parentless_widget_ref (new_widget)))
+						{
+							gchar *desc = g_strdup_printf (_("Setting %s of %s to %s"),
+										       eprop->property->klass->name,
+										       eprop->property->widget->name, 
+										       new_widget->name);
+							glade_command_push_group (desc);
+							glade_command_set_property (old_ref, NULL);
+							glade_editor_property_commit (eprop, value);
+							glade_command_pop_group ();
+							g_free (desc);
+						}
+						else
+							glade_editor_property_commit (eprop, value);
 					}
 				}
 			} 

Modified: trunk/gladeui/glade-widget.c
==============================================================================
--- trunk/gladeui/glade-widget.c	(original)
+++ trunk/gladeui/glade-widget.c	Tue Sep 16 23:41:29 2008
@@ -508,7 +508,7 @@
 {
 	GParameter          *params;
 	GObject             *object;
-	guint                n_params;
+	guint                n_params, i;
 	
 	if (reason == GLADE_CREATE_LOAD)
 		return g_object_new (adaptor->type, NULL);
@@ -524,6 +524,16 @@
 
 	free_params (params, n_params);
 
+	if (widget)
+		params = glade_widget_template_params (widget, FALSE, &n_params);
+	else
+		params = glade_widget_adaptor_default_params (adaptor, FALSE, &n_params);
+
+	for (i = 0; i < n_params; i++)
+		g_object_set_property (object, params[i].name, &(params[i].value));
+
+	free_params (params, n_params);
+
 	return object;
 }
 



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