evas: Fix async filters following changes in EO
authorJean-Philippe Andre <jp.andre@samsung.com>
Thu, 6 Oct 2016 03:09:53 +0000 (12:09 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Thu, 6 Oct 2016 03:24:59 +0000 (12:24 +0900)
commit0f7dfdedfd7aacc3591d48fd47ba78ecb7b2757e
treec3144e67254db1e2af14e4a6acf4d91a84f9d2c7
parent258cfbbe8013b50a7d3f89ab863dab73fcedcdb7
evas: Fix async filters following changes in EO

EO is now extremely restrictive wrt. threads so that efl_data_scope_get()
can't work outside the main loop. This patch fixes the usage to create
sw buffers as shared objects (accessible from both the main loop and evas
async thread) and use plain old pointers where possible.

The buffers now have no parent because efl_add(CLASS, obj_from_mainloop)
does not work with shared objects. This is bad, as the buffers conceptually
belong to the main loop, and only need to be accessible from the draw thread
for a few calls. The main loop determines their lifecycle.

Fixes T4628
src/lib/evas/canvas/evas_filter_mixin.c
src/modules/evas/engines/software_generic/evas_ector_software_buffer.c
src/modules/evas/engines/software_generic/evas_engine.c