summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2012-08-24 18:17:07 +0200
committerBenjamin Otte <otte@redhat.com>2012-08-28 15:42:24 +0200
commita770f0c3ebf3f0dfdb0a7de7b81cd522c5dcae8e (patch)
treec3b14533e3db6fa0491b4512ac24dd4d16b046b9 /gtk
parent1d7b23845f79e809de2906cf45b1ca0cb3eaa1a6 (diff)
downloadgtk+-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.c59
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;
}