efl/src/lib/ecore_evas
Hermet Park 2e37d2f30f ecore_evas buffer: fix a deadlock issue.
We encountered a deadlock case in ecore_evas_image_object in ecore_evas_buffer
that only happens if the ecore_evas_buffer has nothing changed to render,
though it's triggered to rendering.

See this normal scenario that is working fine as our intention.

being ecore_evas_render()
...
 -> ecore_evas_buffer_prepare()
     -> evas_object_image_data_get()
         -> increment lock by backend engine. (egl/tbm ...)
 -> render()
     -> render_post()
        -> _ecore_evas_buffer_update_image()
            -> evas_object_image_data_set()
               ->decrement lock by backend engine (egl/tbm ...)
...
end ecore_evas_render()

The problem is, if the ecore_evas_buffer canvas doesn't changed at all,
render post will be skipped, it could lose the chance to unlock the image data.
Now the host can't render anymore since it's image source lost the lock.

@fix
2019-07-22 17:14:10 +09:00
..
Ecore_Evas.h ecore_evas: generalize option defines. 2019-04-25 17:08:37 +09:00
Ecore_Evas_Types.h ecore_evas: define the predefine for wl2 instead of wayland 2017-08-12 15:30:53 +02:00
ecore_evas.c ecore_evas: on internal Evas canvas uncontrolled death, properly clean up Ecore_Evas. 2019-07-12 09:54:21 -07:00
ecore_evas_buffer.c ecore_evas buffer: fix a deadlock issue. 2019-07-22 17:14:10 +09:00
ecore_evas_buffer.h ecore_evas buffer: fix a deadlock issue. 2019-07-22 17:14:10 +09:00
ecore_evas_cocoa.h
ecore_evas_deprecated.c
ecore_evas_drm.h ecore-evas-drm: Include Evas_Internal header 2018-02-13 11:44:01 -05:00
ecore_evas_ews.c efl: Reset ecore event types on init 2017-12-19 11:14:37 +09:00
ecore_evas_extn.c efl: Reset ecore event types on init 2017-12-19 11:14:37 +09:00
ecore_evas_extn.h
ecore_evas_module.c include evil_private.h in last files, and disable symbolic links on Windows in a couple of files 2019-05-22 07:59:05 -04:00
ecore_evas_private.h ecore_evas: on internal Evas canvas uncontrolled death, properly clean up Ecore_Evas. 2019-07-12 09:54:21 -07:00
ecore_evas_util.c efl: Use Eina.Size2D for size hint combined min 2017-09-18 16:33:33 +09:00
ecore_evas_wayland.h ecore-evas-wayland: Add aux_hint functions to Wayland Interface 2017-06-13 12:57:17 -04:00
ecore_evas_win32.h
ecore_evas_x11.h ecore_evas: refactor VNC as an Eina Module. 2016-10-28 09:56:47 -07:00
meson.build here comes meson 2018-10-02 17:22:50 +02:00