diff options
author | Matthias Clasen <mclasen@redhat.com> | 2015-09-28 01:43:03 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2015-09-28 06:29:51 -0400 |
commit | 130fc6ce9bb8e5df381b9e6956fb42ea889bb769 (patch) | |
tree | d983bd9bd52883d3d28eaf762db3b2f38653f804 /gtk/gtkcsswidgetnode.c | |
parent | ac198a3ce6548b59d7833add4ac8853060ab1b39 (diff) | |
download | gtk+-130fc6ce9bb8e5df381b9e6956fb42ea889bb769.tar.gz |
css style: Accumulate changes in place
This avoids allocating a temporary bitmask, and lets us
avoid some value comparisons altogether.
Diffstat (limited to 'gtk/gtkcsswidgetnode.c')
-rw-r--r-- | gtk/gtkcsswidgetnode.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/gtk/gtkcsswidgetnode.c b/gtk/gtkcsswidgetnode.c index cf68fb4e59..5e931017c7 100644 --- a/gtk/gtkcsswidgetnode.c +++ b/gtk/gtkcsswidgetnode.c @@ -50,7 +50,6 @@ gtk_css_widget_node_style_changed (GtkCssNode *cssnode, GtkCssStyle *new_style) { GtkCssWidgetNode *node; - GtkBitmask *diff; node = GTK_CSS_WIDGET_NODE (cssnode); @@ -59,9 +58,7 @@ gtk_css_widget_node_style_changed (GtkCssNode *cssnode, GTK_CSS_NODE_CLASS (gtk_css_widget_node_parent_class)->style_changed (cssnode, old_style, new_style); - diff = gtk_css_style_get_difference (new_style, old_style); - node->accumulated_changes = _gtk_bitmask_union (node->accumulated_changes, diff); - _gtk_bitmask_free (diff); + node->accumulated_changes = gtk_css_style_add_difference (node->accumulated_changes, new_style, old_style); } static gboolean @@ -70,7 +67,7 @@ gtk_css_widget_node_queue_callback (GtkWidget *widget, gpointer user_data) { GtkCssNode *node = user_data; - + gtk_css_node_invalidate_frame_clock (node, TRUE); _gtk_container_queue_restyle (GTK_CONTAINER (widget)); |