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.
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)
if (animation == NULL)
return;
+ if (!animation->is_stopped)
+ ply_animation_stop_now (animation);
+
ply_animation_remove_frames (animation);
ply_array_free (animation->frames);