diff --git a/legacy/evas/src/lib/engines/common/evas_image_main.c b/legacy/evas/src/lib/engines/common/evas_image_main.c index a0f6df9cd1..0e8d7a3a0e 100644 --- a/legacy/evas/src/lib/engines/common/evas_image_main.c +++ b/legacy/evas/src/lib/engines/common/evas_image_main.c @@ -124,7 +124,7 @@ evas_common_image_shutdown(void) EAPI void evas_common_image_image_all_unload(void) { - evas_common_rgba_image_scalecache_flush(); + evas_common_rgba_image_scalecache_dump(); evas_cache_image_unload_all(eci); } diff --git a/legacy/evas/src/lib/engines/common/evas_image_scalecache.c b/legacy/evas/src/lib/engines/common/evas_image_scalecache.c index 8c50587226..c0961198da 100644 --- a/legacy/evas/src/lib/engines/common/evas_image_scalecache.c +++ b/legacy/evas/src/lib/engines/common/evas_image_scalecache.c @@ -359,6 +359,20 @@ evas_common_rgba_image_scalecache_size_get(void) #endif } +EAPI void +evas_common_rgba_image_scalecache_dump(void) +{ +#ifdef SCALECACHE + int t; + LKL(cache_lock); + t = max_cache_size; + max_cache_size = 0; + _cache_prune(NULL, 0); + max_cache_size = t; + LKU(cache_lock); +#endif +} + EAPI void evas_common_rgba_image_scalecache_flush(void) {