From: Ray Strode Date: Wed, 24 Oct 2012 17:08:41 +0000 (-0400) Subject: animaton: stop animation when freed X-Git-Tag: 0.8.8~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fcf947fe7cc979f601103e73fee2768b21042c5c;p=thirdparty%2Fplymouth.git animaton: stop animation when freed It's possible that an animation could get freed before it finishes. In that case, finish the animation right away, so we don't keep running the animation timeout on freed memory. --- diff --git a/src/libply-splash-graphics/ply-animation.c b/src/libply-splash-graphics/ply-animation.c index f266c2e4..ed558cfe 100644 --- a/src/libply-splash-graphics/ply-animation.c +++ b/src/libply-splash-graphics/ply-animation.c @@ -73,6 +73,9 @@ struct _ply_animation uint32_t stop_requested : 1; }; +static void ply_animation_stop_now (ply_animation_t *animation); + + ply_animation_t * ply_animation_new (const char *image_dir, const char *frames_prefix) @@ -118,6 +121,9 @@ ply_animation_free (ply_animation_t *animation) if (animation == NULL) return; + if (!animation->is_stopped) + ply_animation_stop_now (animation); + ply_animation_remove_frames (animation); ply_array_free (animation->frames);