summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-08-23 14:24:11 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-08-25 14:48:12 -0400
commite4ba40c5bc69b5be6fa8bf197c09c3a94e16fea0 (patch)
treedd1560801d47ce391ca7d3576c241d516dc55f8e
parent77455208525dfc1ecbee9d3eb65459f514ee0b1a (diff)
downloadefl-e4ba40c5bc69b5be6fa8bf197c09c3a94e16fea0.tar.gz
evas image cache: break out preload complete notification code into function
no functional changes
-rw-r--r--src/lib/evas/cache/evas_cache_image.c31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/lib/evas/cache/evas_cache_image.c b/src/lib/evas/cache/evas_cache_image.c
index 51b0bf1559..ec44a2112c 100644
--- a/src/lib/evas/cache/evas_cache_image.c
+++ b/src/lib/evas/cache/evas_cache_image.c
@@ -394,21 +394,10 @@ _evas_cache_image_async_heavy(void *data)
}
static void
-_evas_cache_image_async_end(void *data)
+_evas_cache_image_preloaded_notify(Image_Entry *ie)
{
- Image_Entry *ie = (Image_Entry *)data;
- Image_Entry_Task *task;
Evas_Cache_Target *tmp;
- evas_cache_image_ref(ie);
- ie->cache->preload = eina_list_remove(ie->cache->preload, ie);
- ie->cache->pending = eina_list_remove(ie->cache->pending, ie);
- ie->preload = NULL;
- ie->flags.preload_done = ie->flags.loaded;
- ie->flags.updated_data = 1;
-
- ie->flags.preload_pending = 0;
-
while ((tmp = ie->targets))
{
ie->targets = (Evas_Cache_Target *)
@@ -427,6 +416,24 @@ _evas_cache_image_async_end(void *data)
}
free(tmp);
}
+}
+
+static void
+_evas_cache_image_async_end(void *data)
+{
+ Image_Entry *ie = (Image_Entry *)data;
+ Image_Entry_Task *task;
+
+ evas_cache_image_ref(ie);
+ ie->cache->preload = eina_list_remove(ie->cache->preload, ie);
+ ie->cache->pending = eina_list_remove(ie->cache->pending, ie);
+ ie->preload = NULL;
+ ie->flags.preload_done = ie->flags.loaded;
+ ie->flags.updated_data = 1;
+
+ ie->flags.preload_pending = 0;
+
+ _evas_cache_image_preloaded_notify(ie);
EINA_LIST_FREE(ie->tasks, task)
if (task != &dummy_task) free(task);