aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitrij D. Czarkoff <czarkoff@gmail.com>2016-04-26 18:04:15 +0200
committerDmitrij D. Czarkoff <czarkoff@gmail.com>2016-04-26 18:04:15 +0200
commit34a37303bfc41a6553afafc690a7fd744a8fd775 (patch)
tree26bac98b0d45eaa2f9af6aa1d69df83ed2f31c59
parentb4c14b1932e45edc6e89123bf02465ccd43dca9f (diff)
downloadimv-34a37303bfc41a6553afafc690a7fd744a8fd775.tar.gz
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.
-rw-r--r--src/loader.c2
1 files changed, 1 insertions, 1 deletions
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;