diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2013-10-30 18:08:10 +0900 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2013-10-30 18:18:08 +0900 |
commit | 6c28aff7a0ac5c917d03f9f275ce3aa0dd749d1c (patch) | |
tree | 1a24a984caced790e4777df4aa0a86381b77c1cd /src/lib/evas/common | |
parent | 9bb4c4869199118d9d16c87edc5084e8d1d49fb7 (diff) |
evas - animated images. fix leak in not freeing the list of frames itself
Diffstat (limited to 'src/lib/evas/common')
-rw-r--r-- | src/lib/evas/common/evas_image_main.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/lib/evas/common/evas_image_main.c b/src/lib/evas/common/evas_image_main.c index b9d64ce3f5..1492d80c0f 100644 --- a/src/lib/evas/common/evas_image_main.c +++ b/src/lib/evas/common/evas_image_main.c | |||
@@ -291,16 +291,13 @@ _evas_common_rgba_image_delete(Image_Entry *ie) | |||
291 | 291 | ||
292 | if (ie->animated.frames) | 292 | if (ie->animated.frames) |
293 | { | 293 | { |
294 | Eina_List *l; | ||
295 | Image_Entry_Frame *frame; | 294 | Image_Entry_Frame *frame; |
296 | EINA_LIST_FOREACH(ie->animated.frames, l, frame) | 295 | |
296 | EINA_LIST_FREE(ie->animated.frames, frame) | ||
297 | { | 297 | { |
298 | if (frame) | 298 | if (frame->data) free(frame->data); |
299 | { | 299 | if (frame->info) free(frame->info); |
300 | if (frame->data) free(frame->data); | 300 | free(frame); |
301 | if (frame->info) free(frame->info); | ||
302 | free (frame); | ||
303 | } | ||
304 | } | 301 | } |
305 | } | 302 | } |
306 | if (ie->f && !ie->flags.given_mmap) eina_file_close(ie->f); | 303 | if (ie->f && !ie->flags.given_mmap) eina_file_close(ie->f); |