[gtk+] styleproperties: Implement unsetting directly
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] styleproperties: Implement unsetting directly
- Date: Mon, 9 Jan 2012 17:47:03 +0000 (UTC)
commit 674485a138b5a20dcef1f6d321306289ef8a9f50
Author: Benjamin Otte <otte redhat com>
Date: Sat Dec 31 22:17:25 2011 +0100
styleproperties: Implement unsetting directly
With subproperties, there's no need anymore for custom unset functions.
gtk/gtkstyleproperties.c | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkstyleproperties.c b/gtk/gtkstyleproperties.c
index e1913a6..9d26f3a 100644
--- a/gtk/gtkstyleproperties.c
+++ b/gtk/gtkstyleproperties.c
@@ -886,10 +886,23 @@ gtk_style_properties_unset_property (GtkStyleProperties *props,
g_warning ("Style property \"%s\" is not registered", property);
return;
}
+ if (_gtk_style_property_get_value_type (node) == G_TYPE_NONE)
+ {
+ g_warning ("Style property \"%s\" is not settable", property);
+ return;
+ }
- if (node->unset_func)
+ if (GTK_IS_CSS_SHORTHAND_PROPERTY (node))
{
- node->unset_func (props, state);
+ GtkCssShorthandProperty *shorthand = GTK_CSS_SHORTHAND_PROPERTY (node);
+
+ for (pos = 0; pos < _gtk_css_shorthand_property_get_n_subproperties (shorthand); pos++)
+ {
+ GtkCssStyleProperty *sub = _gtk_css_shorthand_property_get_subproperty (shorthand, pos);
+ gtk_style_properties_unset_property (props,
+ _gtk_style_property_get_name (GTK_STYLE_PROPERTY (sub)),
+ state);
+ }
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]