[gtk+/wip/cssdep: 18/21] stylecontext: Refactor some code



commit 180cba634fa60b01a7563e7a732944adb063cb33
Author: Benjamin Otte <otte redhat com>
Date:   Fri Aug 24 18:17:07 2012 +0200

    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.

 gtk/gtkstylecontext.c |   59 ++++++++++++++++++++++++-------------------------
 1 files changed, 29 insertions(+), 30 deletions(-)
---
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
index d1042b9..e37edd5 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;
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]