evas image cache: break out preload complete notification code into function
authorMike Blumenkrantz <zmike@osg.samsung.com>
Wed, 23 Aug 2017 18:24:11 +0000 (14:24 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 25 Aug 2017 18:48:12 +0000 (14:48 -0400)
no functional changes

src/lib/evas/cache/evas_cache_image.c

index 51b0bf1..ec44a21 100644 (file)
@@ -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);