efl/src/lib
Hermet Park 423d8a2296 evas image: fix a bug in image preloading.
Summary:
Current preloading is too buggy since it's on thread-based.
This is a fundamental improvement to fix a bug.

The critical issue here is,
When preloading img object suddenly cancel its preloading,
the object possibly cannot render image next then because
renderer doesn't have any idea when async cancelling is
finished. Renderer just tries to render regardless of
image loading status, and this could occur no-texture(in gl case)
image object.

So, here improvement is, adding a notification for async cancelled
so that putting img objects to redraw images properly after their preloading is
cancelled.

The best scenario to reproduce this bug is this one.

Evas_Object *img2 = evas_object_image_filled_add(evas);
evas_object_image_file_set(img2, "test.jpg", NULL);
evas_object_image_preload(img2, EINA_FALSE);
evas_object_resize(img2, 200, 200);
evas_object_show(img2);

Evas_Object *img = evas_object_image_filled_add(evas);
evas_object_image_file_set(img, "test.jpg", NULL);
evas_object_image_preload(img, EINA_FALSE);
evas_object_move(img, 200, 200);
evas_object_resize(img, 200, 200);
evas_object_show(img);

evas_object_image_preload(img2, EINA_TRUE);
If you run this on gl backend, occasionally happens rendering fail.

Yet there other bugs on preloading feature....

@fix

Reviewers: #committers, raster

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6919
2018-09-03 17:12:55 +09:00
..
ecore docs: Fix typos in API reference doc and comments. 2018-08-31 17:45:31 +09:00
ecore_audio efl: include sys/types.h where ssize_t is used 2018-06-21 14:09:59 +02:00
ecore_avahi
ecore_buffer docs: Fix typos and some wrong expressions in API reference doc. 2018-08-30 14:01:21 +09:00
ecore_cocoa ecore_cocoa: move MARKUP outside of ecore_cocoa 2018-08-22 20:39:35 +02:00
ecore_con docs: Fix typos in API reference doc 2018-09-03 10:55:16 +09:00
ecore_drm
ecore_drm2 ecore_drm2: Fix failure to properly set up new plane 2018-06-26 15:28:07 -04:00
ecore_evas docs: Fix typos and some wrong expressions in API reference doc. 2018-08-30 14:01:21 +09:00
ecore_fb docs: Fix typos in API reference doc and comments. 2018-08-31 17:45:31 +09:00
ecore_file docs: Fix typos and some wrong expressions in API reference doc. 2018-08-30 14:01:21 +09:00
ecore_imf ecore_imf: Remove security_code in autofill type 2018-06-18 08:45:55 +09:00
ecore_imf_evas
ecore_input
ecore_input_evas
ecore_ipc ecore: move close_on_destructor to close_on_invalidate as that describe the behavior best. 2018-05-01 10:39:01 -07:00
ecore_sdl
ecore_wayland ecore_wl_dnd: correct wrong variable assignment 2018-04-20 15:29:44 +09:00
ecore_win32 ecore-win32: propagate WM_SIZE event 2018-05-02 15:57:22 -04:00
ecore_wl2 docs: Fix typos in API reference doc and comments. 2018-08-31 17:45:31 +09:00
ecore_x ecore x - fix vsync to not block amdgpu drivers 2018-07-24 13:09:55 +09:00
ector efl: Add missing event types 2018-05-19 01:42:26 +02:00
edje docs: Fix typos in API reference doc and comments. 2018-08-31 17:45:31 +09:00
eet docs: Fix typos and some wrong expressions in API reference doc. 2018-08-30 14:01:21 +09:00
eeze docs: Fix typos in API reference doc and comments. 2018-08-31 17:45:31 +09:00
efl docs: Fix typos in API reference doc and comments. 2018-08-31 17:45:31 +09:00
efl_mono efl_mono: Add support for Eina.Error/Empty in eina.Value 2018-05-17 16:56:11 -03:00
efl_wl efl_wl: Send unique keymap fds to clients 2018-08-17 12:46:39 -04:00
efreet move efreet xdg envvars to eina 2018-08-20 12:57:57 -04:00
eina docs: Fix typos in API reference doc and comments. 2018-08-31 17:45:31 +09:00
eio eio/sentry: destroy event handlers when deleting sentry 2018-08-17 22:19:32 +02:00
eldbus eldbus: manage death of children during invalidate. 2018-05-24 16:02:18 -07:00
elementary docs: Fix typos in API reference doc 2018-09-03 10:55:16 +09:00
elocation docs: Fix typos in API reference doc and comments. 2018-08-31 17:45:31 +09:00
elput elput: Remove unused and useless event type 2018-07-17 22:39:50 -04:00
elua elua: get rid of lightuserdata for state retrieval 2018-04-13 15:40:05 +02:00
embryo
emile emile image: close file properly. 2018-07-18 14:26:16 +09:00
emotion evas: call evas_find before safety check 2018-08-29 21:11:00 +09:00
eo efl_object: add call for getting invalidating 2018-08-20 13:15:57 -04:00
eolian eolian: integrate event type requirement into eo file grammar 2018-05-19 01:49:06 +02:00
eolian_cxx cxx: Remove libeolian_cxx dependency on eo_cxx 2018-08-21 14:21:43 -04:00
ephysics
escape
ethumb
ethumb_client
evas evas image: fix a bug in image preloading. 2018-09-03 17:12:55 +09:00
evil Evil: fix usage of Evil in a program compiled with vc++ this should be enough to fix T5206 2018-06-29 09:56:15 -04:00
.gitignore
CMakeLists.txt