summaryrefslogtreecommitdiff
path: root/gladeui
diff options
context:
space:
mode:
authorJuan Pablo Ugarte <jpu@src.gnome.org>2007-07-03 21:29:28 +0000
committerJuan Pablo Ugarte <jpu@src.gnome.org>2007-07-03 21:29:28 +0000
commit1e18d0fe5eca6e3a61fbe458a81ace9567d0f276 (patch)
tree7a1a9b7ae54a2cfb6678a919253a03c0de6156e7 /gladeui
parentdaf67732bb8a288387fe49b38c2e866605f773f9 (diff)
downloadglade-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.c31
-rw-r--r--gladeui/glade-widget-adaptor.c2
-rw-r--r--gladeui/glade-widget-adaptor.h4
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,