diff options
author | Juan Pablo Ugarte <jpu@src.gnome.org> | 2007-07-03 21:29:28 +0000 |
---|---|---|
committer | Juan Pablo Ugarte <jpu@src.gnome.org> | 2007-07-03 21:29:28 +0000 |
commit | 1e18d0fe5eca6e3a61fbe458a81ace9567d0f276 (patch) | |
tree | 7a1a9b7ae54a2cfb6678a919253a03c0de6156e7 /gladeui | |
parent | daf67732bb8a288387fe49b38c2e866605f773f9 (diff) | |
download | glade-1e18d0fe5eca6e3a61fbe458a81ace9567d0f276.tar.gz |
set glade_widget_adaptor_child_verify_property() value parameter as
* gladeui/glade-widget-adaptor.[ch]: set glade_widget_adaptor_child_verify_property()
value parameter as constant.
* gladeui/glade-property.c: added packing property verify check in
glade_property_set_value_impl().
svn path=/trunk/; revision=1431
Diffstat (limited to 'gladeui')
-rw-r--r-- | gladeui/glade-property.c | 31 | ||||
-rw-r--r-- | gladeui/glade-widget-adaptor.c | 2 | ||||
-rw-r--r-- | gladeui/glade-widget-adaptor.h | 4 |
3 files changed, 28 insertions, 9 deletions
diff --git a/gladeui/glade-property.c b/gladeui/glade-property.c index 59b2a444..07cb5b5a 100644 --- a/gladeui/glade-property.c +++ b/gladeui/glade-property.c @@ -174,6 +174,29 @@ glade_property_update_prop_refs (GladeProperty *property, } } +static gboolean +glade_property_verify (GladeProperty *property, const GValue *value) +{ + if (property->klass->packing) + { + if (property->widget->parent) + return glade_widget_adaptor_child_verify_property (property->widget->parent->adaptor, + property->widget->parent->object, + property->widget->object, + property->klass->id, + value); + else + return FALSE; + } + else + { + return glade_widget_adaptor_verify_property (property->widget->adaptor, + property->widget->object, + property->klass->id, + value); + } +} + static void glade_property_set_value_impl (GladeProperty *property, const GValue *value) { @@ -203,13 +226,9 @@ glade_property_set_value_impl (GladeProperty *property, const GValue *value) /* Check if the backend doesnt give us permission to * set this value. */ - if (glade_property_superuser () == FALSE && - property->widget && + if (glade_property_superuser () == FALSE && property->widget && project && glade_project_is_loading (project) == FALSE && - glade_widget_adaptor_verify_property (property->widget->adaptor, - property->widget->object, - property->klass->id, - value) == FALSE) + glade_property_verify (property, value) == FALSE) return; /* save "changed" state. diff --git a/gladeui/glade-widget-adaptor.c b/gladeui/glade-widget-adaptor.c index 27e43c42..d44a5f1a 100644 --- a/gladeui/glade-widget-adaptor.c +++ b/gladeui/glade-widget-adaptor.c @@ -2257,7 +2257,7 @@ glade_widget_adaptor_child_verify_property (GladeWidgetAdaptor *adaptor, GObject *container, GObject *child, const gchar *property_name, - GValue *value) + const GValue *value) { g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), FALSE); g_return_val_if_fail (G_IS_OBJECT (container), FALSE); diff --git a/gladeui/glade-widget-adaptor.h b/gladeui/glade-widget-adaptor.h index b876f4d6..9956bdde 100644 --- a/gladeui/glade-widget-adaptor.h +++ b/gladeui/glade-widget-adaptor.h @@ -231,7 +231,7 @@ typedef gboolean (* GladeChildVerifyPropertyFunc) (GladeWidgetAdaptor *adaptor, GObject *container, GObject *child, const gchar *property_name, - GValue *value); + const GValue *value); /** @@ -571,7 +571,7 @@ gboolean glade_widget_adaptor_child_verify_property (GladeWidgetAdap GObject *container, GObject *child, const gchar *property_name, - GValue *value); + const GValue *value); void glade_widget_adaptor_replace_child (GladeWidgetAdaptor *adaptor, GObject *container, |