From: Cristy Date: Wed, 22 Mar 2017 13:03:32 +0000 (-0400) Subject: Respect -loop option for animate -window X-Git-Tag: 7.0.5-4~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4dde9d5c3185ffb275551fa4c65004480212907e;p=imagemagick Respect -loop option for animate -window --- diff --git a/ChangeLog b/ChangeLog index 5c5d718dd..18cbb662a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2017-03-21 7.0.5-4 Cristy + * Respect -loop option for animate -window (reference + https://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=31619). + 2017-03-17 7.0.5-3 Cristy * Release ImageMagick version 7.0.5-3, GIT revision 19741:070c3fb:20170317. diff --git a/MagickCore/animate.c b/MagickCore/animate.c index a6a1ef18f..aaee765ac 100644 --- a/MagickCore/animate.c +++ b/MagickCore/animate.c @@ -752,8 +752,12 @@ MagickExport void XAnimateBackgroundImage(Display *display, i; size_t + delay, number_scenes; + ssize_t + iterations; + static XPixelInfo pixel; @@ -770,9 +774,6 @@ MagickExport void XAnimateBackgroundImage(Display *display, height, width; - size_t - delay; - Window root_window; @@ -1138,6 +1139,7 @@ MagickExport void XAnimateBackgroundImage(Display *display, */ (void) XSelectInput(display,window_info.id,SubstructureNotifyMask); event.type=Expose; + iterations=0; do { for (scene=0; scene < (int) number_scenes; scene++) @@ -1158,6 +1160,9 @@ MagickExport void XAnimateBackgroundImage(Display *display, image_list[scene]->ticks_per_second,1L); XDelay(display,resources.delay*(delay == 0 ? 10 : delay)); } + iterations++; + if (iterations == (ssize_t) image_list[0]->iterations) + break; } while (event.type != DestroyNotify); (void) XSync(display,MagickFalse); image_list=(Image **) RelinquishMagickMemory(image_list);