Mike Blumenkrantz [Fri, 11 Mar 2016 21:04:56 +0000 (16:04 -0500)]
gl_common: call evas_gl_common_texture_free() before dropping image cache
texture_free() accesses struct members which can be freed if image cache entry
reaches zero references
@fix
==30989== Invalid read of size 1
==30989== at 0x23BA2934: evas_gl_common_texture_free (evas_gl_texture.c:1506)
==30989== by 0x23BA9117: evas_gl_common_image_free (evas_gl_image.c:724)
==30989== by 0x23B80DA1: eng_image_data_put (evas_engine.c:988)
==30989== by 0x872681A: _evas_image_data_set (evas_object_image.c:1264)
==30989== by 0x87360B5: evas_obj_image_data_set (evas_image.eo.c:236)
==30989== by 0x8736B43: evas_object_image_data_set (evas_image.eo.c:741)
==30989== by 0x4820A4: e_comp_object_render (e_comp_object.c:3746)
==30989== by 0x477B92: _e_comp_object_pixels_get (e_comp_object.c:909)
==30989== by 0x872CF52: evas_process_dirty_pixels (evas_object_image.c:3154)
==30989== by 0x872DD16: _evas_image_render (evas_object_image.c:3389)
==30989== by 0x872DB01: evas_object_image_render (evas_object_image.c:3351)
==30989== by 0x879C524: evas_render_mapped (evas_render.c:1802)
==30989== by 0x879E82A: evas_render_updates_internal_loop (evas_render.c:2380)
==30989== by 0x87A005D: evas_render_updates_internal (evas_render.c:2770)
==30989== by 0x87A140D: evas_render_updates_internal_wait (evas_render.c:3122)
==30989== by 0x87A1502: _evas_canvas_render_updates (evas_render.c:3144)
==30989== by 0x871ED0D: evas_canvas_render_updates (evas_canvas.eo.c:354)
==30989== by 0x8720C5F: evas_render_updates (evas_canvas.eo.c:1089)
==30989== by 0x22F65C35: _ecore_evas_drm_render (ecore_evas_drm.c:1072)
==30989== by 0x7416F7B: _ecore_evas_idle_enter (ecore_evas.c:172)
==30989== by 0xDDE3577: _ecore_call_task_cb (ecore_private.h:282)
==30989== by 0xDDE3A5E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==30989== by 0xDDE836B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==30989== by 0xDDE67B8: ecore_main_loop_begin (ecore_main.c:1284)
==30989== by 0x4407B6: main (e_main.c:1087)
==30989== Address 0x23a9e1d2 is 338 bytes inside a block of size 552 free'd
==30989== at 0x4C29E00: free (vg_replace_malloc.c:530)
==30989== by 0x882B2E2: _evas_common_rgba_image_delete (evas_image_main.c:343)
==30989== by 0x87B1E17: _evas_cache_image_entry_delete (evas_cache_image.c:205)
==30989== by 0x87B3C52: evas_cache_image_drop (evas_cache_image.c:950)
==30989== by 0x23BA90F5: evas_gl_common_image_free (evas_gl_image.c:722)
==30989== by 0x23B80DA1: eng_image_data_put (evas_engine.c:988)
==30989== by 0x872681A: _evas_image_data_set (evas_object_image.c:1264)
==30989== by 0x87360B5: evas_obj_image_data_set (evas_image.eo.c:236)
==30989== by 0x8736B43: evas_object_image_data_set (evas_image.eo.c:741)
==30989== by 0x4820A4: e_comp_object_render (e_comp_object.c:3746)
==30989== by 0x477B92: _e_comp_object_pixels_get (e_comp_object.c:909)
==30989== by 0x872CF52: evas_process_dirty_pixels (evas_object_image.c:3154)
==30989== by 0x872DD16: _evas_image_render (evas_object_image.c:3389)
==30989== by 0x872DB01: evas_object_image_render (evas_object_image.c:3351)
==30989== by 0x879C524: evas_render_mapped (evas_render.c:1802)
==30989== by 0x879E82A: evas_render_updates_internal_loop (evas_render.c:2380)
==30989== by 0x87A005D: evas_render_updates_internal (evas_render.c:2770)
==30989== by 0x87A140D: evas_render_updates_internal_wait (evas_render.c:3122)
==30989== by 0x87A1502: _evas_canvas_render_updates (evas_render.c:3144)
==30989== by 0x871ED0D: evas_canvas_render_updates (evas_canvas.eo.c:354)
==30989== by 0x8720C5F: evas_render_updates (evas_canvas.eo.c:1089)
==30989== by 0x22F65C35: _ecore_evas_drm_render (ecore_evas_drm.c:1072)
==30989== by 0x7416F7B: _ecore_evas_idle_enter (ecore_evas.c:172)
==30989== by 0xDDE3577: _ecore_call_task_cb (ecore_private.h:282)
==30989== by 0xDDE3A5E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==30989== by 0xDDE836B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==30989== by 0xDDE67B8: ecore_main_loop_begin (ecore_main.c:1284)
==30989== by 0x4407B6: main (e_main.c:1087)
==30989== Block was alloc'd at
==30989== at 0x4C2AA98: calloc (vg_replace_malloc.c:711)
==30989== by 0x882B0A0: _evas_common_rgba_image_new (evas_image_main.c:295)
==30989== by 0x87B1F1B: _evas_cache_image_entry_new (evas_cache_image.c:253)
==30989== by 0x87B4170: evas_cache_image_data (evas_cache_image.c:1079)
==30989== by 0x23BA7EDE: evas_gl_common_image_new_from_data (evas_gl_image.c:333)
==30989== by 0x23B7F972: eng_image_new_from_data (evas_engine.c:531)
==30989== by 0x23B80D81: eng_image_data_put (evas_engine.c:984)
==30989== by 0x872681A: _evas_image_data_set (evas_object_image.c:1264)
==30989== by 0x87360B5: evas_obj_image_data_set (evas_image.eo.c:236)
==30989== by 0x8736B43: evas_object_image_data_set (evas_image.eo.c:741)
==30989== by 0x4820A4: e_comp_object_render (e_comp_object.c:3746)
==30989== by 0x477B92: _e_comp_object_pixels_get (e_comp_object.c:909)
==30989== by 0x872CF52: evas_process_dirty_pixels (evas_object_image.c:3154)
==30989== by 0x872DD16: _evas_image_render (evas_object_image.c:3389)
==30989== by 0x872DB01: evas_object_image_render (evas_object_image.c:3351)
==30989== by 0x879C524: evas_render_mapped (evas_render.c:1802)
==30989== by 0x879E82A: evas_render_updates_internal_loop (evas_render.c:2380)
==30989== by 0x87A005D: evas_render_updates_internal (evas_render.c:2770)
==30989== by 0x87A140D: evas_render_updates_internal_wait (evas_render.c:3122)
==30989== by 0x87A1502: _evas_canvas_render_updates (evas_render.c:3144)
==30989== by 0x871ED0D: evas_canvas_render_updates (evas_canvas.eo.c:354)
==30989== by 0x8720C5F: evas_render_updates (evas_canvas.eo.c:1089)
==30989== by 0x22F65C35: _ecore_evas_drm_render (ecore_evas_drm.c:1072)
==30989== by 0x7416F7B: _ecore_evas_idle_enter (ecore_evas.c:172)
==30989== by 0xDDE3577: _ecore_call_task_cb (ecore_private.h:282)
==30989== by 0xDDE3A5E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==30989== by 0xDDE836B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==30989== by 0xDDE67B8: ecore_main_loop_begin (ecore_main.c:1284)
==30989== by 0x4407B6: main (e_main.c:1087)
==30989==
==30989== Invalid write of size 1
==30989== at 0x23BA293E: evas_gl_common_texture_free (evas_gl_texture.c:1506)
==30989== by 0x23BA9117: evas_gl_common_image_free (evas_gl_image.c:724)
==30989== by 0x23B80DA1: eng_image_data_put (evas_engine.c:988)
==30989== by 0x872681A: _evas_image_data_set (evas_object_image.c:1264)
==30989== by 0x87360B5: evas_obj_image_data_set (evas_image.eo.c:236)
==30989== by 0x8736B43: evas_object_image_data_set (evas_image.eo.c:741)
==30989== by 0x4820A4: e_comp_object_render (e_comp_object.c:3746)
==30989== by 0x477B92: _e_comp_object_pixels_get (e_comp_object.c:909)
==30989== by 0x872CF52: evas_process_dirty_pixels (evas_object_image.c:3154)
==30989== by 0x872DD16: _evas_image_render (evas_object_image.c:3389)
==30989== by 0x872DB01: evas_object_image_render (evas_object_image.c:3351)
==30989== by 0x879C524: evas_render_mapped (evas_render.c:1802)
==30989== by 0x879E82A: evas_render_updates_internal_loop (evas_render.c:2380)
==30989== by 0x87A005D: evas_render_updates_internal (evas_render.c:2770)
==30989== by 0x87A140D: evas_render_updates_internal_wait (evas_render.c:3122)
==30989== by 0x87A1502: _evas_canvas_render_updates (evas_render.c:3144)
==30989== by 0x871ED0D: evas_canvas_render_updates (evas_canvas.eo.c:354)
==30989== by 0x8720C5F: evas_render_updates (evas_canvas.eo.c:1089)
==30989== by 0x22F65C35: _ecore_evas_drm_render (ecore_evas_drm.c:1072)
==30989== by 0x7416F7B: _ecore_evas_idle_enter (ecore_evas.c:172)
==30989== by 0xDDE3577: _ecore_call_task_cb (ecore_private.h:282)
==30989== by 0xDDE3A5E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==30989== by 0xDDE836B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==30989== by 0xDDE67B8: ecore_main_loop_begin (ecore_main.c:1284)
==30989== by 0x4407B6: main (e_main.c:1087)
==30989== Address 0x23a9e1d2 is 338 bytes inside a block of size 552 free'd
==30989== at 0x4C29E00: free (vg_replace_malloc.c:530)
==30989== by 0x882B2E2: _evas_common_rgba_image_delete (evas_image_main.c:343)
==30989== by 0x87B1E17: _evas_cache_image_entry_delete (evas_cache_image.c:205)
==30989== by 0x87B3C52: evas_cache_image_drop (evas_cache_image.c:950)
==30989== by 0x23BA90F5: evas_gl_common_image_free (evas_gl_image.c:722)
==30989== by 0x23B80DA1: eng_image_data_put (evas_engine.c:988)
==30989== by 0x872681A: _evas_image_data_set (evas_object_image.c:1264)
==30989== by 0x87360B5: evas_obj_image_data_set (evas_image.eo.c:236)
==30989== by 0x8736B43: evas_object_image_data_set (evas_image.eo.c:741)
==30989== by 0x4820A4: e_comp_object_render (e_comp_object.c:3746)
==30989== by 0x477B92: _e_comp_object_pixels_get (e_comp_object.c:909)
==30989== by 0x872CF52: evas_process_dirty_pixels (evas_object_image.c:3154)
==30989== by 0x872DD16: _evas_image_render (evas_object_image.c:3389)
==30989== by 0x872DB01: evas_object_image_render (evas_object_image.c:3351)
==30989== by 0x879C524: evas_render_mapped (evas_render.c:1802)
==30989== by 0x879E82A: evas_render_updates_internal_loop (evas_render.c:2380)
==30989== by 0x87A005D: evas_render_updates_internal (evas_render.c:2770)
==30989== by 0x87A140D: evas_render_updates_internal_wait (evas_render.c:3122)
==30989== by 0x87A1502: _evas_canvas_render_updates (evas_render.c:3144)
==30989== by 0x871ED0D: evas_canvas_render_updates (evas_canvas.eo.c:354)
==30989== by 0x8720C5F: evas_render_updates (evas_canvas.eo.c:1089)
==30989== by 0x22F65C35: _ecore_evas_drm_render (ecore_evas_drm.c:1072)
==30989== by 0x7416F7B: _ecore_evas_idle_enter (ecore_evas.c:172)
==30989== by 0xDDE3577: _ecore_call_task_cb (ecore_private.h:282)
==30989== by 0xDDE3A5E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==30989== by 0xDDE836B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==30989== by 0xDDE67B8: ecore_main_loop_begin (ecore_main.c:1284)
==30989== by 0x4407B6: main (e_main.c:1087)
==30989== Block was alloc'd at
==30989== at 0x4C2AA98: calloc (vg_replace_malloc.c:711)
==30989== by 0x882B0A0: _evas_common_rgba_image_new (evas_image_main.c:295)
==30989== by 0x87B1F1B: _evas_cache_image_entry_new (evas_cache_image.c:253)
==30989== by 0x87B4170: evas_cache_image_data (evas_cache_image.c:1079)
==30989== by 0x23BA7EDE: evas_gl_common_image_new_from_data (evas_gl_image.c:333)
==30989== by 0x23B7F972: eng_image_new_from_data (evas_engine.c:531)
==30989== by 0x23B80D81: eng_image_data_put (evas_engine.c:984)
==30989== by 0x872681A: _evas_image_data_set (evas_object_image.c:1264)
==30989== by 0x87360B5: evas_obj_image_data_set (evas_image.eo.c:236)
==30989== by 0x8736B43: evas_object_image_data_set (evas_image.eo.c:741)
==30989== by 0x4820A4: e_comp_object_render (e_comp_object.c:3746)
==30989== by 0x477B92: _e_comp_object_pixels_get (e_comp_object.c:909)
==30989== by 0x872CF52: evas_process_dirty_pixels (evas_object_image.c:3154)
==30989== by 0x872DD16: _evas_image_render (evas_object_image.c:3389)
==30989== by 0x872DB01: evas_object_image_render (evas_object_image.c:3351)
==30989== by 0x879C524: evas_render_mapped (evas_render.c:1802)
==30989== by 0x879E82A: evas_render_updates_internal_loop (evas_render.c:2380)
==30989== by 0x87A005D: evas_render_updates_internal (evas_render.c:2770)
==30989== by 0x87A140D: evas_render_updates_internal_wait (evas_render.c:3122)
==30989== by 0x87A1502: _evas_canvas_render_updates (evas_render.c:3144)
==30989== by 0x871ED0D: evas_canvas_render_updates (evas_canvas.eo.c:354)
==30989== by 0x8720C5F: evas_render_updates (evas_canvas.eo.c:1089)
==30989== by 0x22F65C35: _ecore_evas_drm_render (ecore_evas_drm.c:1072)
==30989== by 0x7416F7B: _ecore_evas_idle_enter (ecore_evas.c:172)
==30989== by 0xDDE3577: _ecore_call_task_cb (ecore_private.h:282)
==30989== by 0xDDE3A5E: _ecore_idle_enterer_call (ecore_idle_enterer.c:174)
==30989== by 0xDDE836B: _ecore_main_loop_iterate_internal (ecore_main.c:2261)
==30989== by 0xDDE67B8: ecore_main_loop_begin (ecore_main.c:1284)
==30989== by 0x4407B6: main (e_main.c:1087)
Mike Blumenkrantz [Fri, 11 Mar 2016 20:55:36 +0000 (15:55 -0500)]
gl_common: remove incorrect EINA_UNUSED for evas_gl_common_texture_free
Stefan Schmidt [Fri, 11 Mar 2016 16:10:54 +0000 (17:10 +0100)]
tests eeze: enable eeze_net IPv6 test again and skip if impossible
The test depends on the host system having IPv6 setup on the loopback device.
This is not always the case even if we have a system that does have
"struct ipv6_mreq", our HAVE_IPV6 test, and would support it.
Skip here if we can't fetch an IPv6 address. The IPv4 test is still running
regardless.
Stefan Schmidt [Fri, 11 Mar 2016 16:10:07 +0000 (17:10 +0100)]
eeze: remove trailing whitespace
Nothing to see here, just stumbled over it when reading through the file.
Derek Foreman [Fri, 11 Mar 2016 00:34:19 +0000 (18:34 -0600)]
ecore_drm: Update device copy of framebuffer after page flip completes
The device struct is API, so its copy of the fb pointer needs to be
kept in sync with the output struct's. We do this when the flip completes
to try to prevent access to an fb that's about to flip.
This fixes Enlightenment screenshots.
@fix
Daniel Kolesa [Fri, 11 Mar 2016 16:19:53 +0000 (16:19 +0000)]
eolian generator: close the file with zero write
Daniel Kolesa [Fri, 11 Mar 2016 13:16:34 +0000 (13:16 +0000)]
eolian generator: check fwrite return value currectly
This fixes CID 1327247.
@fix
Daniel Kolesa [Fri, 11 Mar 2016 13:04:33 +0000 (13:04 +0000)]
eolian: refactor database_typedecl_to_str to remove dead code
After the type system transition there was some unnecessary dead code.
Fixes CID 1352512.
Tom Hacohen [Fri, 11 Mar 2016 12:24:11 +0000 (12:24 +0000)]
Revert "Eo: Change to the Eo4 eo_add syntax."
I found a way to keep eo_add() the way it was and gracefully degrade to
a portable (but not as fast) solution for compilers that don't support
the compound macros returning a value gnu extension: ({int a; a;}).
I'm reverting these changes now, and I'll introduce the fallback as soon
as I can.
This reverts commit
b85bb3718389470bfc78c079dd5e06def5e963f3.
Tom Hacohen [Fri, 11 Mar 2016 12:24:10 +0000 (12:24 +0000)]
Revert "Vg node: modify so the eo_add migration script won't break."
This reverts commit
6ac1fb78d855be27d28378a659887b693e5fb266.
Tom Hacohen [Fri, 11 Mar 2016 12:24:09 +0000 (12:24 +0000)]
Revert "Ector and eo suite: Semi automatically migrate to the new eo_add."
This reverts commit
df83edaeb6b10324868f28e8f1910147ba22e5e5.
Tom Hacohen [Fri, 11 Mar 2016 12:24:08 +0000 (12:24 +0000)]
Revert "Automatic migration to the new eo_add syntax."
This reverts commit
4f949a2757b6332306264d7f126b15ba7bfd37d4.
Tom Hacohen [Fri, 11 Mar 2016 12:24:06 +0000 (12:24 +0000)]
Revert "Examples: Update according to recent eo_add changes."
This reverts commit
6594ba0b6df9ba72f031a00d0e8ba3b23cf2c0b2.
Tom Hacohen [Fri, 11 Mar 2016 12:24:05 +0000 (12:24 +0000)]
Revert "Fix examples according to the recent eo event changes."
This reverts commit
d2fba6c5959f82f35984167131d3b67207780f48.
Tom Hacohen [Fri, 11 Mar 2016 12:28:51 +0000 (12:28 +0000)]
Revert "cxx: Migrate C++ binding to the new eo_add syntax"
This reverts commit
48f62ad686d11c97ec62b1ba528262edf39cafbf.
jinwoo.shin [Thu, 10 Mar 2016 22:15:13 +0000 (14:15 -0800)]
edje: add error log message for missing description
Summary:
Developer cannot notice that any description didn't applied due to missing description or typo.
This message will be helpful to make correct the application.
Reviewers: cedric, Hermet, raster
Subscribers: soohye.shin, minkyu, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3783
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Cedric BAIL [Thu, 10 Mar 2016 21:03:02 +0000 (13:03 -0800)]
efl: rename efl.core.animator to efl.animator.
It has been decided that we would not use any namespace for interface
and they will sit in efl main namespace.
This patch doesn't correct the naming of the event has we don't have a
prefix for event. We do still have EFL_ANIMATOR_EVENT_ANIMATOR_TICK,
instead of a nicer EFL_EVENT_ANIMATOR_TICK.
Derek Foreman [Thu, 10 Mar 2016 19:56:24 +0000 (13:56 -0600)]
ecore_wl2: Don't treat EINVAL as a recoverable condition
EINVAL is bad, we can't go on. If we treat it like it's not a fatal
error we'll end up spinning on the fd and constantly retrying sends
on the dead wayland connection.
@fix
Mike Blumenkrantz [Thu, 10 Mar 2016 18:31:23 +0000 (13:31 -0500)]
ecore-wl2: set fd handler active flags correctly for connect/create
@fix
Chris Michael [Thu, 10 Mar 2016 17:20:34 +0000 (12:20 -0500)]
evas-gl: Fix dereference after null check
Coverity reports that 'ctx' may be NULL here and we should check it
before usage (as is done above).
Coverity CID1339785
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Chris Michael [Thu, 10 Mar 2016 17:13:44 +0000 (12:13 -0500)]
edje: Don't leak array source if we are going to exit function
This patch fixes a potential resource leak where we would previously
create a new eina_array and then possibly return from this function
(when checking validity of 's' parameter) without freeing the newly
created array.
Coverity CID1350291
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Stefan Schmidt [Wed, 9 Mar 2016 22:02:46 +0000 (23:02 +0100)]
build coverage: make coverage numbers more accurate by using a baseline
The lcov tool offers the functionality to have an initial run over the code base
before the tests are executed to make sure it catches all files, even the ones
that are not loaded during the test run.
This is something we missed so far. The reports have only been in relation to
the files that actually have been loaded during the test. We missed quite a
few files which made our numbers inaccurate. Things like
modules/emotion/gstreamer1 have no tests yet and thus never showed up in the
coverage report. While it has 103 functions and over thousand lines which need
to get covered. With the baseline this is handled now. Thanks goes to the folks
at LibreOffice who described their lcov setup here:
https://wiki.documentfoundation.org/Development/Lcov
New numbers are lower now as we count in all the files never loaded which
decreases our percentages.
Overall coverage rate:
lines......: 30.2% (65119 of 215841 lines)
functions..: 34.0% (6361 of 18733 functions)
branches...: 23.6% (35627 of 151096 branches)
Stefan Schmidt [Wed, 9 Mar 2016 15:13:41 +0000 (16:13 +0100)]
examples gitignore: adding four new examples to their .gitignore files
Vitor Sousa [Wed, 9 Mar 2016 21:51:21 +0000 (18:51 -0300)]
eo_cxx: correct constness of basic Eo C++ wrapper functions
Mike Blumenkrantz [Wed, 9 Mar 2016 20:36:28 +0000 (15:36 -0500)]
ecore-drm: don't set DBG on log level if DBG not already set
...
Chris Michael [Wed, 9 Mar 2016 20:24:24 +0000 (15:24 -0500)]
ecore-drm: Disable default DBG log level
Simple patch to disable setting ecore-drm log level to DBG by default
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Vitor Sousa [Wed, 9 Mar 2016 18:46:19 +0000 (15:46 -0300)]
cxx: Migrate C++ binding to the new eo_add syntax
Tom Hacohen [Wed, 9 Mar 2016 17:16:19 +0000 (17:16 +0000)]
Fix examples according to the recent eo event changes.
Tom Hacohen [Wed, 9 Mar 2016 17:02:42 +0000 (17:02 +0000)]
Examples: Update according to recent eo_add changes.
Tom Hacohen [Wed, 9 Mar 2016 15:47:28 +0000 (15:47 +0000)]
Automatic migration to the new eo_add syntax.
Tom Hacohen [Wed, 9 Mar 2016 15:39:51 +0000 (15:39 +0000)]
Ector and eo suite: Semi automatically migrate to the new eo_add.
There were some issues with the migration that required manual
intervention.
Tom Hacohen [Wed, 9 Mar 2016 15:22:09 +0000 (15:22 +0000)]
Vg node: modify so the eo_add migration script won't break.
Tom Hacohen [Wed, 9 Mar 2016 15:06:49 +0000 (15:06 +0000)]
Eo: Change to the Eo4 eo_add syntax.
The current one was a hack in the meanwhile and was not protable.
Stefan Schmidt [Wed, 9 Mar 2016 11:03:51 +0000 (12:03 +0100)]
tests evas: enable xpm image loader in tests
Added in 2014 and not enabled since then. This seems to be fixed now so we can
finally enable it.
Stefan Schmidt [Wed, 9 Mar 2016 10:52:18 +0000 (11:52 +0100)]
tests evas: remove commented out function which have not been used since 2014
It was already unused when it was disabled almost two years ago.
dbe02d593e2fed9ab774cebbeaf669c2de710600
Its about time to remove it.
Chris Michael [Wed, 9 Mar 2016 13:27:05 +0000 (08:27 -0500)]
ecore-drm: Don't re-include config.h
As ecore_drm_private.h already includes config.h header, we don't need
to include it here in these files also
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Chris Michael [Wed, 9 Mar 2016 13:22:22 +0000 (08:22 -0500)]
ecore-drm: Update copyright notice
As portions of this code have been derived from existing code in
Weston, we should also be including their copyright/licence text to
give credit.
NB: Fixes T3286
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Tom Hacohen [Tue, 8 Mar 2016 14:23:57 +0000 (14:23 +0000)]
Revert "ecore: Create Promises"
Reverting this at Felipe's request following my email. There are many
things I strongly object to in this commit. I've touched the surface of
those on the ML (which doesn't work at the moment), though we need to
better discuss it.
The gist:
1. dlsym is a really bad hack that is not even needed.
2. I don't see why eo should even be aware of promises. It's not aware
of list, hash and etc.
3. The eolian changes were done wrong.
This should have been discussed and consulted before done, even if only
because of the amount of hacks it includes and the cross-domain (ecore,
eo and eolian) nature of it.
This reverts commit
f9ba80ab33e0b94dad7ec103e6d261a644f7835f.
Vitor Sousa [Tue, 8 Mar 2016 13:28:33 +0000 (10:28 -0300)]
eo_cxx: Fix unused parameter warning when no constructor is required
Test Plan: compile elm
Reviewers: stefan_schmidt
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3778
Stefan Schmidt [Mon, 7 Mar 2016 22:40:37 +0000 (23:40 +0100)]
tests eolian: add test cases for type stub generations
While we had the functionality to generate type stubs header we never had
these tested in our unit test setup. Adding to simple cases for struct
and typedef which we already use for normal header generation tests.
Stefan Schmidt [Mon, 7 Mar 2016 15:40:35 +0000 (16:40 +0100)]
eolian_gen: mention the option for generating a stub header in the example use
Listed in the available options already but better also list it in the example
usage where the other three generation types are listed as well.
Stefan Schmidt [Mon, 7 Mar 2016 15:34:09 +0000 (16:34 +0100)]
eolian_gen: remove unused functions _nextline and _startline
These two have no users and there is no point in keeping them around.
Stefan Schmidt [Tue, 8 Mar 2016 10:06:29 +0000 (11:06 +0100)]
evas-3d examples: remove unused variables
Carsten Haitzler (Rasterman) [Tue, 8 Mar 2016 07:57:22 +0000 (16:57 +0900)]
eo del interceptor: add the ability to intercept deletions of eo objects
Imagine this. You have an object. You pass this object handle as a
message to another thread. Let's say it's not a UI object, so
something you might expect to be able to be accessed from multiple
threads. In order to keep the object alive you eo_ref() it when
placing the message on a queue and eo_unref() it once the message is
"done" in the other thread. If the original sender unref()ed the
object before the message is done, then the object will be destroyed
in the reciever thread. This is bad for objects "expecting" not to be
destroyed outside their owning thread.
This allows thius situation to be fixed. A constructor in a class of
an object can set up a delete interceptor. For example if we have a
"loop ownership" class you multi-ple-inherit from/use as a mixin. This
class will set up the interceptor to ensure that on destruction if
pthread_self() != owning loop thread id, then add object to "delete
me" queue on the owning loop and wake it up. the owning loop thread
will wake up and then process this queue and delete the queued objects
nicely and safely within the "owning context".
This can also be used in this same manner to defer deletion within a
loop "until later" in the same delete_me queue.
You can even use this as a caching mechanism for objects to prevernt
their actual destruction and instead place them in a cached area to be
picked from at a later date.
The uses are many for this and this is a basic building block for
future EFL features like generic messages where a message payload
could be an eo object and thus the above loop onwership issue can
happen and needs fixing.
This adds APIs, implementation, documentation (doxy reference) and tests.
@feature
Stefan Schmidt [Mon, 7 Mar 2016 22:49:33 +0000 (23:49 +0100)]
Revert "eina: split Makefile with files/headers in preparation for additional per sub directory compilation"
This reverts commit
7f4ea1a79c63615bb14051db16e6fe5d90c9bd10.
This reverts one of three parts of the try to get sub directory
compilation back into eina. It breaks our distcheck though and I
talked to Cedric about it and he prefers to revert these as we might
need to go another route to bring this functionality back. Details
will come to the mailing list.
Stefan Schmidt [Mon, 7 Mar 2016 22:49:23 +0000 (23:49 +0100)]
Revert "eina: reintroduce additional support for eina sub directory compilation."
This reverts commit
1affc60d00e1fa2b702d6b170514b86e1438ed9a.
This reverts one of three parts of the try to get sub directory
compilation back into eina. It breaks our distcheck though and I
talked to Cedric about it and he prefers to revert these as we might
need to go another route to bring this functionality back. Details
will come to the mailing list.
Stefan Schmidt [Mon, 7 Mar 2016 22:48:57 +0000 (23:48 +0100)]
Revert "eina: rely on GNU make to find file at their correct location."
This reverts commit
e26fcbb1dc588c5130e477bf832c59386b1c1951.
This reverts one of three parts of the try to get sub directory
compilation back into eina. It breaks our distcheck though and I
talked to Cedric about it and he prefers to revert these as we might
need to go another route to bring this functionality back. Details
will come to the mailing list.
Daniel Kolesa [Mon, 7 Mar 2016 15:01:13 +0000 (15:01 +0000)]
eolian: validate eo/legacy prefix to be [a-z_][a-z0-9_]*
Stefan Schmidt [Mon, 7 Mar 2016 13:39:16 +0000 (14:39 +0100)]
build: do not use DEBUG when running with coverage
Do not force this on everybody who runs with tests=coverage. It makes stdout
impossible to follow as well as overruns the tests log file. If one wants to
run with -DDEBUG it can be set from your own CFLAGS.
Stefan Schmidt [Mon, 7 Mar 2016 13:33:15 +0000 (14:33 +0100)]
build: fix linking with coverage enabled after osx fix
After
aca6fc8c3611b5e7d4faaed61e52dedf057d7219 there have been problems when
linking when having coverage enabled.
AC_SEARCH_LIBS was used wrongly here. You need function name first and lib to
link against as second argument. The symbol name also has wto leading
underscores for me.
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../x86_64-pc-linux-gnu/bin/ld generated: undefined
reference to `__gcov_init'
Stefan Schmidt [Mon, 7 Mar 2016 13:19:46 +0000 (14:19 +0100)]
tests: get rid of Eo_Event2 in cxx tests
Hopefully the last occurance of Eo_Event2 in our code base. Fixes a build break.
Stefan Schmidt [Mon, 7 Mar 2016 13:18:56 +0000 (14:18 +0100)]
cxx bindings: get rid of Eo_Event2
This follows the change in EO and fixes some build breaks.
Stefan Schmidt [Mon, 7 Mar 2016 13:14:32 +0000 (14:14 +0100)]
build: fix type in m4 macro
This macro changes the LDFLAGCS not CFLAGS.
Tom Hacohen [Mon, 7 Mar 2016 10:34:52 +0000 (10:34 +0000)]
Eo event cb: Update documentation.
Tom Hacohen [Mon, 7 Mar 2016 10:25:01 +0000 (10:25 +0000)]
Eo: Update documentation according to the event cb changes.
Tom Hacohen [Mon, 7 Mar 2016 10:23:48 +0000 (10:23 +0000)]
Eo: get rid of Eo_Event2.
The hack is still there, but much cleaner now.
Felipe Magno de Almeida [Sun, 6 Mar 2016 20:39:20 +0000 (17:39 -0300)]
ecore: Create Promises
Add a promise object that allows Eolian interface to include promises
as a way to have asynchronous value return and composibility.
The usage is like this in a .eo file:
class Foo {
methods {
bar {
params {
promise: Promise<int>;
}
}
}
}
Which will create the following API interface:
void foo_bar(Ecore_Promise** promise);
and the equivalent declaration for implementation.
However, the API function will instantiate the Promise for the
user and the implementer of the class.
Felipe Magno de Almeida [Sun, 6 Mar 2016 20:24:34 +0000 (17:24 -0300)]
eina: Add Eina_Iterator implementation for C-array
This iterator is convenient when you already have a C-Array and you
need to pass this array to a function receiving an Eina_Iterator.
int array[] = {1, 2, 3, 4};
int* array2[] = {&array[0], &array[1], &array[2], &array[3], NULL};
Eina_Iterator* iterator = eina_carray_iterator_new((void**)array);
Jean Guyomarc'h [Sun, 6 Mar 2016 11:35:13 +0000 (12:35 +0100)]
eina: fix typos in doxygen
Jean Guyomarc'h [Sat, 5 Mar 2016 00:00:58 +0000 (16:00 -0800)]
ecore: better resources use in the glib integration
Summary:
When glib support is enabled (HAVE_GLIB), _ecore_glib_init()
was always reserving resources. However, its counterpart may not
be called when:
- glib is not always integrated and
- when a user didn't explicitly required the integration.
Calling _ecore_glib_init() within the request code will cause the
resources to be reserved only when the integration with glib is
required and furthermore guarantees that resources always have a
chance to be released.
Reviewers: cedric, raster
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3749
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
perepelits.m [Fri, 4 Mar 2016 23:58:29 +0000 (15:58 -0800)]
Evas: fix camera node adding to scene
Summary: While making new changes after rewieving D3710 we met this bug again, removing eo_unref is the best way to fix it because _eo_ref_replace from D3021 makes nothing special.
Reviewers: cedric, raster, Hermet
Subscribers: jpeg, artem.popov
Differential Revision: https://phab.enlightenment.org/D3745
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
jiin.moon [Fri, 4 Mar 2016 23:57:50 +0000 (15:57 -0800)]
evas: fix preload thread deadlock issue
Summary: Wrong condition makes deadlock issue.
Reviewers: jpeg, jypark
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3742
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Soohye Shin [Fri, 4 Mar 2016 23:53:53 +0000 (15:53 -0800)]
edje: return default description depends on RTL when description doesn't exist
Summary:
If not found edje part description, edje just set default description in spite of RTL status.
This adds to call function for getting the correct description as RTL status.
Reviewers: raster, Hermet, cedric
Subscribers: minkyu, sju27, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3735
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Jee-Yong Um [Fri, 4 Mar 2016 23:53:08 +0000 (15:53 -0800)]
edje_embryo: add box attributes support to set_state_val()
Summary: Add box attributes support to set_state_val().
Reviewers: raster, cedric
Reviewed By: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3734
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Stefan Schmidt [Fri, 4 Mar 2016 14:36:01 +0000 (15:36 +0100)]
tests: disable loading of the scim module as this can causes hangs of the tests
With scim installed we can run into hangs of the test suite when the ecore_imf
scim module tries to connect to the scim on the system. This has happened again
and again on different installations and made the test suite really fragile.
We would need to make sure that scim is configured on the host before we could
run this test. It might be a candidate for skipped tests where we check if the
env has all we need to run the test and if not skip it. We don not have all the
needed pieces in place for this so the best we can do to make the test runs less
fragile is disabling scim module loading for now.
Tom Hacohen [Fri, 4 Mar 2016 14:29:20 +0000 (14:29 +0000)]
Eo tests: Add tests for null (invalid) array callbacks.
Tom Hacohen [Fri, 4 Mar 2016 14:25:28 +0000 (14:25 +0000)]
Eo: unmark Eo_Class as deprecated.
It's not deprecated, it's actually a useful alias.
Tom Hacohen [Fri, 4 Mar 2016 14:24:20 +0000 (14:24 +0000)]
Eo: Remove more deprecated functions.
Tom Hacohen [Fri, 4 Mar 2016 14:23:02 +0000 (14:23 +0000)]
Eo: remove the long deprecated eo_data_get.
It has been deprecated for a while, and now it's time to actually stop
using it.
Tom Hacohen [Fri, 4 Mar 2016 14:21:08 +0000 (14:21 +0000)]
Eo tests: Test more cases with legacy events.
Tom Hacohen [Fri, 4 Mar 2016 14:17:55 +0000 (14:17 +0000)]
Eo legacy events: remove pointless string copies.
This was there because the old code modified the string. It is no
longer needed now that we just stringshare it.
Tom Hacohen [Fri, 4 Mar 2016 14:16:30 +0000 (14:16 +0000)]
Eo tests: Increase coverage for children iterator tests.
Tom Hacohen [Fri, 4 Mar 2016 14:05:57 +0000 (14:05 +0000)]
Eo: Remove useless safety checks.
Those can never happen, ever.
Tom Hacohen [Fri, 4 Mar 2016 14:03:41 +0000 (14:03 +0000)]
Eo tests: add more eo_data_get tests.
Daniel Zaoui [Fri, 4 Mar 2016 12:01:48 +0000 (14:01 +0200)]
Eo: fix oversight for key_data
Daniel Zaoui [Fri, 4 Mar 2016 11:48:56 +0000 (13:48 +0200)]
Eo: set object as const for key_data_get
Due to Eo4 changes, const is now important for this function.
Stefan Schmidt [Fri, 4 Mar 2016 11:25:19 +0000 (12:25 +0100)]
build: finally enable branch coverage in our lcov-check target
This has been a long standing issue and I finally figured out the details to
get this working. Since we started with coverage there always have been some
problems to get branch coverage work (problems with older gcc versions, lcov
not taking them into account, etc)
The last detail that made me go nuts was that in my lcov version (1.10) there
is a bug which leads to geninfo not applying the config file and thus not
enabling the branch coverage like I defined in the config. I added the
--rc option to work around this case.
In my local run I get this now from lcov-check:
Overall coverage rate:
lines......: 35.5% (65814 of 185169 lines)
functions..: 44.6% (7661 of 17195 functions)
branches...: 22.7% (31492 of 138942 branches)
So we have 22.7% branch coverage right now.
The vivid followers of my QA mails will also see the difference in numbers for
line and function coverage if one comapres my local results and the one on
Jenkins. This is another long standing issue and I need to figure out these
details next. :)
Cedric Bail [Fri, 4 Mar 2016 05:09:29 +0000 (21:09 -0800)]
eina: rely on GNU make to find file at their correct location.
Jaehyun Cho [Fri, 4 Mar 2016 04:49:38 +0000 (13:49 +0900)]
Eo: Fix typo of SUPER_TAG_SHIFT.
This commit fixes commit
fc88037977dcc39dfd6d817c522cce01f5bfa024
Cedric Bail [Thu, 3 Mar 2016 23:09:54 +0000 (15:09 -0800)]
eina: reintroduce additional support for eina sub directory compilation.
This is still experimental and quite hacky. Let me know if you face issue.
It should just work with make -C src/lib/eina normally...
Cedric Bail [Thu, 3 Mar 2016 23:02:03 +0000 (15:02 -0800)]
eina: split Makefile with files/headers in preparation for additional per sub directory compilation
Vitor Sousa [Thu, 3 Mar 2016 18:10:13 +0000 (15:10 -0300)]
eolian-cxx: Fix Eolian C++ constructing methods with new eo_add
Also fix Eolian C++ examples using the new "eo_super".
Felipe Magno de Almeida [Wed, 2 Mar 2016 14:32:16 +0000 (11:32 -0300)]
eolian-cxx: Partial fix for generation without eo_do
Daniel Kolesa [Thu, 3 Mar 2016 19:01:02 +0000 (19:01 +0000)]
eolian: new type system API
The Eolian type system API has been overhauled to properly separate declarations
(i.e. struct/enum/alias declarations) and usage. This should simplify writing
generators (as it makes it clear what is what) as well as make it easier to
maintain.
@feature
Vitor Sousa [Tue, 1 Mar 2016 18:20:06 +0000 (15:20 -0300)]
eolian_cxx: Fix C++ compilation with new Eolian_Type_Type values
Daniel Kolesa [Tue, 1 Mar 2016 15:59:46 +0000 (15:59 +0000)]
eolian: type documentation and other cleanups
Daniel Kolesa [Tue, 1 Mar 2016 15:37:57 +0000 (15:37 +0000)]
eolian: completely clean up the type system
Daniel Kolesa [Tue, 1 Mar 2016 15:13:12 +0000 (15:13 +0000)]
eolian: clean up some temporary hashes
Daniel Kolesa [Tue, 1 Mar 2016 14:55:10 +0000 (14:55 +0000)]
eolian: separate type_to_str for decls
Daniel Kolesa [Tue, 1 Mar 2016 13:44:43 +0000 (13:44 +0000)]
eolian: remove database_type_print (unused)
Daniel Kolesa [Tue, 1 Mar 2016 13:40:24 +0000 (13:40 +0000)]
eolian: remove most of the old type APIs
Daniel Kolesa [Fri, 19 Feb 2016 17:26:27 +0000 (17:26 +0000)]
eolian: more old type api removals
Daniel Kolesa [Fri, 19 Feb 2016 17:20:08 +0000 (17:20 +0000)]
eolian: remove retrieval funcs for type-style enums/aliases/structs
Daniel Kolesa [Fri, 19 Feb 2016 17:09:34 +0000 (17:09 +0000)]
elua: update eolian bindings to new typedecl api
Daniel Kolesa [Fri, 19 Feb 2016 13:18:36 +0000 (13:18 +0000)]
eolian: initial conversion of C gen and tests to new type APIs
Daniel Kolesa [Thu, 11 Feb 2016 15:34:26 +0000 (15:34 +0000)]
eolian: add api to deal with typedecl free funcs
Daniel Kolesa [Thu, 11 Feb 2016 15:32:02 +0000 (15:32 +0000)]
eolian: add some missing typedecl APIs
Daniel Kolesa [Thu, 11 Feb 2016 15:21:12 +0000 (15:21 +0000)]
eolian: add matching APIs to get typedecls by file
Daniel Kolesa [Tue, 26 Jan 2016 15:28:41 +0000 (15:28 +0000)]
eolian: add wrappers for most of typedecl APIs
Daniel Kolesa [Wed, 16 Dec 2015 14:37:57 +0000 (14:37 +0000)]
eolian: remove unneeded hashes