cssnode: Change the way we start animations

We now have a flag for "invalidate animations", use that to restart
animations and decide if we want to start transitions.
This commit is contained in:
Benjamin Otte 2015-02-21 03:40:46 +01:00
parent 172f345d01
commit 2954417335

View File

@ -85,22 +85,9 @@ gtk_css_widget_node_dequeue_validate (GtkCssNode *node)
}
static gboolean
gtk_css_widget_node_should_create_transitions (GtkCssWidgetNode *widget_node,
GtkCssStyle *previous_style)
should_create_transitions (GtkCssChange change)
{
GtkWidget *widget;
widget = widget_node->widget;
if (widget == NULL)
return FALSE;
if (!gtk_widget_get_mapped (widget))
return FALSE;
if (previous_style == gtk_css_static_style_get_default ())
return FALSE;
return TRUE;
return (change & GTK_CSS_CHANGE_ANIMATIONS) == 0;
}
static gboolean
@ -168,7 +155,7 @@ gtk_css_widget_node_validate (GtkCssNode *node,
parent ? gtk_css_node_get_style (parent) : NULL,
timestamp,
gtk_css_node_get_style_provider (node),
gtk_css_widget_node_should_create_transitions (widget_node, style) ? style : NULL);
should_create_transitions (change) ? style : NULL);
g_object_unref (new_static_style);
}