diff options
author | Benjamin Otte <otte@redhat.com> | 2012-08-24 18:17:07 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2012-08-28 15:42:24 +0200 |
commit | a770f0c3ebf3f0dfdb0a7de7b81cd522c5dcae8e (patch) | |
tree | c3b14533e3db6fa0491b4512ac24dd4d16b046b9 /gtk | |
parent | 1d7b23845f79e809de2906cf45b1ca0cb3eaa1a6 (diff) | |
download | gtk+-a770f0c3ebf3f0dfdb0a7de7b81cd522c5dcae8e.tar.gz |
stylecontext: Refactor some code
This just changes the arguments passed to build_properties() and moves
that function around in the source file. No functional changes are
happening.
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkstylecontext.c | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index d1042b9861..e37edd5511 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -890,30 +890,6 @@ gtk_style_context_impl_get_property (GObject *object, } } -static void -build_properties (GtkStyleContext *context, - StyleData *style_data, - GtkWidgetPath *path, - GtkStateFlags state) -{ - GtkStyleContextPrivate *priv; - GtkCssMatcher matcher; - GtkCssLookup *lookup; - - priv = context->priv; - - lookup = _gtk_css_lookup_new (NULL); - - if (_gtk_css_matcher_init (&matcher, path, state)) - _gtk_style_provider_private_lookup (GTK_STYLE_PROVIDER_PRIVATE (priv->cascade), - &matcher, - lookup); - - style_data->store = _gtk_css_computed_values_new (); - _gtk_css_lookup_resolve (lookup, context, style_data->store); - _gtk_css_lookup_free (lookup); -} - static GtkWidgetPath * create_query_path (GtkStyleContext *context) { @@ -952,11 +928,37 @@ create_query_path (GtkStyleContext *context) return path; } +static void +build_properties (GtkStyleContext *context, + GtkCssComputedValues *values, + GtkStateFlags state, + const GtkBitmask *relevant_changes) +{ + GtkStyleContextPrivate *priv; + GtkCssMatcher matcher; + GtkWidgetPath *path; + GtkCssLookup *lookup; + + priv = context->priv; + + path = create_query_path (context); + lookup = _gtk_css_lookup_new (relevant_changes); + + if (_gtk_css_matcher_init (&matcher, path, state)) + _gtk_style_provider_private_lookup (GTK_STYLE_PROVIDER_PRIVATE (priv->cascade), + &matcher, + lookup); + + _gtk_css_lookup_resolve (lookup, context, values); + + _gtk_css_lookup_free (lookup); + gtk_widget_path_free (path); +} + static StyleData * style_data_lookup (GtkStyleContext *context) { GtkStyleContextPrivate *priv; - GtkWidgetPath *path; GtkStyleInfo *info; StyleData *data; @@ -976,17 +978,14 @@ style_data_lookup (GtkStyleContext *context) return data; } - path = create_query_path (context); - data = style_data_new (); + data->store = _gtk_css_computed_values_new (); style_info_set_data (info, data); g_hash_table_insert (priv->style_data, style_info_copy (info), data); - build_properties (context, data, path, info->state_flags); - - gtk_widget_path_free (path); + build_properties (context, data->store, info->state_flags, NULL); return data; } |