efl/src/lib/evas
Shinwoo Kim 5a68a63ab7 evas cache image: compare with cached image file
As cache2 knows cached image could be not matched even though
hash key is not different.

Please refer to the following comment of evas_cache2_image_open.

   /* image we found doesn't match what's on disk (stat info wise)
    * so dirty the active cache entry so we never find it again. this
    * also implicitly guarantees that we only have 1 active copy
    * of an image at a given key. we wither find it and keep re-reffing
    * it or we dirty it and get it out */

The hash key is created base on the image file address.
If the image file address to find does not equal cached image file address
then it means that the cached image is no longer valid.

This case could happen with the following step.

(1) Call evas_object_image_memfile_set with content data A
(2) Call evas_object_image_memfile_set with content data B
(3) Add timer with short time (ex: 0.01 sec)
(4) Delete A image, and add A image in timer callback
(5) Delete B image, and add B image in timer callback

Sometimes you could see image of A from the B image, because newly created
image at step 5 has same address of setp 1.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D6870
2018-12-06 12:06:16 -05:00
..
cache evas cache image: compare with cached image file 2018-12-06 12:06:16 -05:00
canvas eo-docs: Remove Doxygen tags from efl*.eo files 2018-11-28 13:33:46 +01:00
common build - evas - sse3 optimized code - decouple from eo 2018-11-12 16:42:17 +00:00
common3d here comes meson 2018-10-02 17:22:50 +02:00
file here comes meson 2018-10-02 17:22:50 +02:00
filters evas filter: add a commentary for a temporary fix. 2018-10-26 19:33:05 +09:00
gesture meson: prepare general build for the bindings 2018-10-24 12:05:58 +02:00
include build - evas - sse3 optimized code - decouple from eo 2018-11-12 16:42:17 +00:00
vg evas vg: Check for OOM in evas_cache_vg_entry_create 2018-11-21 20:38:50 +09:00
Evas.h all: Simplify definition of EAPI 2018-01-18 18:04:03 +09:00
Evas.hh cxx: Fix evas compile test and Evas.hh 2017-12-05 10:14:03 +09:00
Evas_Common.h evas-file: Remove cserve2 support 2018-08-30 13:49:04 +09:00
Evas_Eo.h Revert "evas vg: changed "vg object" to "vg"" 2018-09-10 17:27:42 +09:00
Evas_GL.h all: Simplify definition of EAPI 2018-01-18 18:04:03 +09:00
Evas_Internal.h evas: add a way to figure out the evas class that should be the real parent for all legacy object. 2018-05-24 16:02:19 -07:00
Evas_Legacy.h Revert "evas vg: changed "vg object" to "vg"" 2018-09-10 17:27:42 +09:00
Evas_Loader.h Efl.Gfx.Image* (From Efl.Image*) 2018-04-24 09:03:40 -07:00
main.c evas: remove redundant internal functions. 2018-10-11 13:46:37 +09:00
meson.build meson: cleanup the native-cpu optimization build code 2018-11-16 17:29:05 +01:00