diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2010-03-06 19:52:18 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2010-12-04 15:36:49 +0100 |
commit | 2da033b18c67eaad1f1eac9de9d1d5e1b74eda89 (patch) | |
tree | 10215fe6fa6d3358f0bed419c956bbe7f1d9fc56 | |
parent | 9fdcbd7a8457a73f664795c35086f46b31fb42e2 (diff) | |
download | gtk+-2da033b18c67eaad1f1eac9de9d1d5e1b74eda89.tar.gz |
GtkStyleSet: Return default value if value is not set.
-rw-r--r-- | gtk/gtkstyleset.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/gtk/gtkstyleset.c b/gtk/gtkstyleset.c index 4f49628b3c..c2db1fc25b 100644 --- a/gtk/gtkstyleset.c +++ b/gtk/gtkstyleset.c @@ -425,11 +425,13 @@ gtk_style_set_get_property (GtkStyleSet *set, prop = g_hash_table_lookup (priv->properties, GINT_TO_POINTER (node->property_quark)); - if (!prop) - return FALSE; + g_value_init (value, node->property_type); - g_value_init (value, G_VALUE_TYPE (&prop->values[state])); - g_value_copy (&prop->values[state], value); + if (!prop || + !G_IS_VALUE (&prop->values[state])) + g_value_copy (&node->default_value, value); + else + g_value_copy (&prop->values[state], value); return TRUE; } @@ -465,13 +467,11 @@ gtk_style_set_get_valist (GtkStyleSet *set, prop = g_hash_table_lookup (priv->properties, GINT_TO_POINTER (node->property_quark)); - if (!prop) - { - /* FIXME: Fill in default */ - break; - } - - G_VALUE_LCOPY (&prop->values[state], args, 0, &error); + if (!prop || + !G_IS_VALUE (&prop->values[state])) + G_VALUE_LCOPY (&node->default_value, args, 0, &error); + else + G_VALUE_LCOPY (&prop->values[state], args, 0, &error); if (error) { |