From 604da889ea077d4d23327340713be32fba4261d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 2 Oct 2017 15:25:44 +0200 Subject: [PATCH] snapshot: Fix mixup when creating crossfade nodes We need to set the progress on the end node. --- gtk/gtksnapshot.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/gtk/gtksnapshot.c b/gtk/gtksnapshot.c index 3f95678c7a..d846d7b0fb 100644 --- a/gtk/gtksnapshot.c +++ b/gtk/gtksnapshot.c @@ -929,7 +929,6 @@ gtk_snapshot_push_cross_fade (GtkSnapshot *snapshot, ...) { const GtkSnapshotState *current_state = gtk_snapshot_get_current_state (snapshot); - GtkSnapshotState *start_state; GtkSnapshotState *end_state; char *str; @@ -944,20 +943,20 @@ gtk_snapshot_push_cross_fade (GtkSnapshot *snapshot, else str = NULL; - start_state = gtk_snapshot_push_state (snapshot, - str, - current_state->clip_region, - current_state->translate_x, - current_state->translate_y, - gtk_snapshot_collect_cross_fade_end); - end_state = gtk_snapshot_push_state (snapshot, - g_strdup (str), - start_state->clip_region, - start_state->translate_x, - start_state->translate_y, - gtk_snapshot_collect_cross_fade_start); + str, + current_state->clip_region, + current_state->translate_x, + current_state->translate_y, + gtk_snapshot_collect_cross_fade_end); end_state->data.cross_fade.progress = progress; + + gtk_snapshot_push_state (snapshot, + g_strdup (str), + end_state->clip_region, + end_state->translate_x, + end_state->translate_y, + gtk_snapshot_collect_cross_fade_start); } static GskRenderNode *