st-theme-node-transition: fix paint state corruption

https://bugzilla.gnome.org/show_bug.cgi?id=704411
This commit is contained in:
Lionel Landwerlin 2013-07-17 18:08:35 +01:00
parent 126f0ed95d
commit ad0c4caf1c

View File

@ -148,9 +148,13 @@ st_theme_node_transition_update (StThemeNodeTransition *transition,
if (st_theme_node_equal (new_node, old_node)) if (st_theme_node_equal (new_node, old_node))
{ {
{ {
StThemeNodePaintState tmp = priv->old_paint_state; StThemeNodePaintState tmp;
priv->old_paint_state = priv->new_paint_state;
priv->new_paint_state = tmp; st_theme_node_paint_state_init (&tmp);
st_theme_node_paint_state_copy (&tmp, &priv->old_paint_state);
st_theme_node_paint_state_copy (&priv->old_paint_state, &priv->new_paint_state);
st_theme_node_paint_state_copy (&priv->new_paint_state, &tmp);
st_theme_node_paint_state_free (&tmp);
} }
if (clutter_timeline_get_elapsed_time (priv->timeline) > 0) if (clutter_timeline_get_elapsed_time (priv->timeline) > 0)