summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Andreoli <dave@gurumeditation.it>2016-01-25 22:17:09 +0100
committerDave Andreoli <dave@gurumeditation.it>2016-01-25 22:17:36 +0100
commit6b4bc0516b63d684cc3c21aeb5258ab69b906bd2 (patch)
treec6aae19021e9236fd1ff623998da037a4ebb5f8c
parentbdc256b2df449d01d75e709f33d38e9152f30bdd (diff)
downloadelementary-6b4bc0516b63d684cc3c21aeb5258ab69b906bd2.tar.gz
Elm Image: fix usage of animated gif on the same image object more than one time
This patch @fix this usage example: 0. image obj create 1. file_set(an animated gif) 2. animated_set(TRUE) + animated_play_set(TRUE) to make the gif play 3. file_set(a normal image) ... at this point elm_image is confused because it still think that the image is animated 4. file_set(an animated gif) 5. animated_set(TRUE) + animated_play_set(TRUE) to make the gif play ...this now do not work because elm think that the image is already animated
-rw-r--r--src/lib/elm_image.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/elm_image.c b/src/lib/elm_image.c
index 7cb9e1c13..34ce7c14a 100644
--- a/src/lib/elm_image.c
+++ b/src/lib/elm_image.c
@@ -1119,6 +1119,13 @@ _elm_image_efl_file_file_set(Eo *obj, Elm_Image_Data *sd, const char *file, cons
if (sd->remote) _elm_url_cancel(sd->remote);
sd->remote = NULL;
+ if (sd->anim)
+ {
+ ELM_SAFE_FREE(sd->anim_timer, ecore_timer_del);
+ sd->play = EINA_FALSE;
+ sd->anim = EINA_FALSE;
+ }
+
for (i = 0; i < sizeof (remote_uri) / sizeof (remote_uri[0]); ++i)
if (file && !strncmp(remote_uri[i], file, strlen(remote_uri[i])))
{