From 34a37303bfc41a6553afafc690a7fd744a8fd775 Mon Sep 17 00:00:00 2001 From: "Dmitrij D. Czarkoff" Date: Tue, 26 Apr 2016 18:04:15 +0200 Subject: Fix reporting image change Apparently bg_next_frame() functions marked first frames of gifs old before imv_loader_get_image() had a chance to report them to the main loop. Move unsetting of ldr->out_is_new_image to imv_loader_get_image(). Fixes #81. --- src/loader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/loader.c b/src/loader.c index e152d3b..91d0d2f 100644 --- a/src/loader.c +++ b/src/loader.c @@ -102,6 +102,7 @@ int imv_loader_get_image(struct imv_loader *ldr, FIBITMAP **out_bmp, *out_bmp = ldr->out_bmp; ldr->out_bmp = NULL; *out_is_new_image = ldr->out_is_new_image; + ldr->out_is_new_image = 0; ret = 1; } @@ -397,7 +398,6 @@ static void *bg_next_frame(void *data) FreeImage_Unload(ldr->out_bmp); } ldr->out_bmp = FreeImage_Clone(ldr->bmp); - ldr->out_is_new_image = 0; pthread_mutex_unlock(&ldr->lock); return NULL; -- cgit v1.2.3