[gtk+/wip/css-optimize: 5/6] css: Make gtk_css_style_provider_get_change use the new rules tree
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/css-optimize: 5/6] css: Make gtk_css_style_provider_get_change use the new rules tree
- Date: Fri, 23 Nov 2012 15:27:39 +0000 (UTC)
commit 3b48e562dde532e8c8be4a67f4e62b5538b1dca1
Author: Alexander Larsson <alexl redhat com>
Date: Fri Nov 23 16:09:22 2012 +0100
css: Make gtk_css_style_provider_get_change use the new rules tree
gtk/gtkcssprovider.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c
index cdd31a4..0477aac 100644
--- a/gtk/gtkcssprovider.c
+++ b/gtk/gtkcssprovider.c
@@ -1772,15 +1772,21 @@ gtk_css_style_provider_get_change (GtkStyleProviderPrivate *provider,
GtkCssProviderPrivate *priv;
GtkCssChange change = 0;
int i;
+ guint *refs;
+ guint num_refs;
css_provider = GTK_CSS_PROVIDER (provider);
priv = css_provider->priv;
- for (i = priv->rulesets->len - 1; i >= 0; i--)
+ refs = find_possible_rules (priv->rulesets_tree, matcher, &num_refs);
+ if (num_refs == 0)
+ return change;
+
+ for (i = num_refs - 1; i >= 0; i--)
{
GtkCssRuleset *ruleset;
- ruleset = &g_array_index (priv->rulesets, GtkCssRuleset, i);
+ ruleset = &g_array_index (priv->rulesets, GtkCssRuleset, refs[i]);
if (ruleset->styles == NULL)
continue;
@@ -1791,6 +1797,8 @@ gtk_css_style_provider_get_change (GtkStyleProviderPrivate *provider,
change |= gtk_css_ruleset_get_change (ruleset);
}
+ g_free (refs);
+
return change;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]