summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2010-03-06 19:52:18 +0100
committerCarlos Garnacho <carlosg@gnome.org>2010-12-04 15:36:49 +0100
commit2da033b18c67eaad1f1eac9de9d1d5e1b74eda89 (patch)
tree10215fe6fa6d3358f0bed419c956bbe7f1d9fc56
parent9fdcbd7a8457a73f664795c35086f46b31fb42e2 (diff)
downloadgtk+-2da033b18c67eaad1f1eac9de9d1d5e1b74eda89.tar.gz
GtkStyleSet: Return default value if value is not set.
-rw-r--r--gtk/gtkstyleset.c22
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)
{