summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2012-01-09 22:06:17 +0100
committerBenjamin Otte <otte@redhat.com>2012-01-09 22:08:48 +0100
commitc4566da282f2a7c291c8c148e5ca17d476152259 (patch)
tree04c6878cb696f4064d3985a82ccfa28412cab8c6
parent2dc10600ea430477d3fdd04e659b255e00804609 (diff)
downloadgtk+-c4566da282f2a7c291c8c148e5ca17d476152259.tar.gz
styleproperty: Call style properties init function in more places
In particular, call it when querying properties by id. This is necessary for make check to not die.
-rw-r--r--gtk/gtkcssstyleproperty.c13
-rw-r--r--gtk/gtkstyleproperty.c6
-rw-r--r--gtk/gtkstylepropertyprivate.h2
3 files changed, 18 insertions, 3 deletions
diff --git a/gtk/gtkcssstyleproperty.c b/gtk/gtkcssstyleproperty.c
index 70d88a721a..d547ce31f3 100644
--- a/gtk/gtkcssstyleproperty.c
+++ b/gtk/gtkcssstyleproperty.c
@@ -287,6 +287,12 @@ _gtk_css_style_property_get_n_properties (void)
GtkCssStylePropertyClass *klass;
klass = g_type_class_peek (GTK_TYPE_CSS_STYLE_PROPERTY);
+ if (G_UNLIKELY (klass == NULL))
+ {
+ _gtk_style_property_init_properties ();
+ klass = g_type_class_peek (GTK_TYPE_CSS_STYLE_PROPERTY);
+ g_assert (klass);
+ }
return klass->style_properties->len;
}
@@ -307,6 +313,13 @@ _gtk_css_style_property_lookup_by_id (guint id)
GtkCssStylePropertyClass *klass;
klass = g_type_class_peek (GTK_TYPE_CSS_STYLE_PROPERTY);
+ if (G_UNLIKELY (klass == NULL))
+ {
+ _gtk_style_property_init_properties ();
+ klass = g_type_class_peek (GTK_TYPE_CSS_STYLE_PROPERTY);
+ g_assert (klass);
+ }
+ g_return_val_if_fail (id < klass->style_properties->len, NULL);
return g_ptr_array_index (klass->style_properties, id);
}
diff --git a/gtk/gtkstyleproperty.c b/gtk/gtkstyleproperty.c
index a8197842d7..be86c97e5a 100644
--- a/gtk/gtkstyleproperty.c
+++ b/gtk/gtkstyleproperty.c
@@ -226,8 +226,8 @@ _gtk_style_property_query (GtkStyleProperty *property,
klass->query (property, props, state, value);
}
-static void
-gtk_style_property_init_properties (void)
+void
+_gtk_style_property_init_properties (void)
{
static gboolean initialized = FALSE;
@@ -258,7 +258,7 @@ _gtk_style_property_lookup (const char *name)
g_return_val_if_fail (name != NULL, NULL);
- gtk_style_property_init_properties ();
+ _gtk_style_property_init_properties ();
klass = g_type_class_peek (GTK_TYPE_STYLE_PROPERTY);
diff --git a/gtk/gtkstylepropertyprivate.h b/gtk/gtkstylepropertyprivate.h
index 7e97b70fb0..78cef8c4b1 100644
--- a/gtk/gtkstylepropertyprivate.h
+++ b/gtk/gtkstylepropertyprivate.h
@@ -78,6 +78,8 @@ struct _GtkStylePropertyClass
GType _gtk_style_property_get_type (void) G_GNUC_CONST;
+void _gtk_style_property_init_properties (void);
+
GtkStyleProperty * _gtk_style_property_lookup (const char *name);
const char * _gtk_style_property_get_name (GtkStyleProperty *property);