Tom Hacohen [Tue, 15 Mar 2016 14:07:52 +0000 (14:07 +0000)]
Change the EFL according to the renaming of the eo_add() current object.
Tom Hacohen [Tue, 15 Mar 2016 14:03:00 +0000 (14:03 +0000)]
Eo: eo_add(), change current object's name (api).
It was temporarily eoid, change it to eo_self which is more
descriptive. In this process I also made it a macro to prepare
for the proposed changes on the ML for the fallback implementation
for compilers that don't support the compound statements returning
values gcc extension.
Jean-Philippe Andre [Tue, 15 Mar 2016 02:27:15 +0000 (11:27 +0900)]
Efl.Gfx.View: Try to document view_size
This is not easy as the view size might have different meanings.
Also, it's just not quite clear in my mind what it is :)
Jean-Philippe Andre [Fri, 11 Mar 2016 07:13:13 +0000 (16:13 +0900)]
Efl.Image: Move alpha to Efl.Gfx.Buffer
The buffer class is more low-level and alpha is a pretty
common property. I still wonder how to share it with the canvas
and other things.
It doesn't belong to Efl.Gfx.Base since we could have plain old
buffers that are not evas objects (only in-memory buffers) but
Efl.Gfx.Base may also need the alpha flag.
Jean-Philippe Andre [Fri, 11 Mar 2016 07:04:15 +0000 (16:04 +0900)]
Efl.Gfx.Buffer: Simplify data_get/set
Remove alpha, l, r, t, b and output length. Those are simply
too many parameters, making the function too inconvenient to use.
Jean-Philippe Andre [Fri, 11 Mar 2016 04:59:14 +0000 (13:59 +0900)]
Evas image: Move content_hint and scale_hint to Efl.Image
Jean-Philippe Andre [Fri, 11 Mar 2016 04:56:14 +0000 (13:56 +0900)]
Evas image: Deprecate evas_object_image_alpha_mask_set
Jean-Philippe Andre [Thu, 10 Mar 2016 06:13:20 +0000 (15:13 +0900)]
Evas.Image: Fix legacy proxy API
Jean-Philippe Andre [Wed, 9 Mar 2016 07:21:08 +0000 (16:21 +0900)]
Evas.Image: Move native surfaces to Efl.Canvas.Surface
X11, TBM and Wayland support are implemented for now.
Jean-Philippe Andre [Wed, 9 Mar 2016 07:18:34 +0000 (16:18 +0900)]
Evas engines: Add internal functions for native images
- image_native_init
- image_native_shutdown
init() will be used to test whether the engine supports a
certain type of native image.
Note: Native image support is very much dependent on the engine,
and some stuff like opengl should work everywhere (even in sw
with osmesa) but that's not the case.
Jean-Philippe Andre [Tue, 8 Mar 2016 06:53:02 +0000 (15:53 +0900)]
Evas.Image: remove video surface
Video stuff should move to a proper player class. I still wonder
how exactly Tizen video should be handled, as they continue to
reject emotion.
Jean-Philippe Andre [Tue, 8 Mar 2016 05:15:45 +0000 (14:15 +0900)]
Edje: Fix warning with clang
Annoying incomplete initializer warning. Apparently gcc/clang
don't consider {0} as good enough for "initialize everything to 0"
even though they do it.
Jean-Philippe Andre [Mon, 7 Mar 2016 13:30:41 +0000 (22:30 +0900)]
Examples: Update evas object eo example
Jean-Philippe Andre [Tue, 8 Mar 2016 05:11:07 +0000 (14:11 +0900)]
Evas: Move 3d to Efl.Canvas.Scene3d
This still seems a bit redondant with the underlying
Evas.Canvas3d.Scene class.
Jean-Philippe Andre [Tue, 8 Mar 2016 05:22:54 +0000 (14:22 +0900)]
Edje: fix tests snap
Jean-Philippe Andre [Mon, 14 Mar 2016 10:38:44 +0000 (19:38 +0900)]
Evas.Image: Complete implementation of proxy and snapshot
This moves the EO APIs away from Evas.Image and adds the required
legacy bindings.
Jean-Philippe Andre [Mon, 14 Mar 2016 10:10:54 +0000 (19:10 +0900)]
Evas.Image: Add new classes Snapshot and Proxy
Efl.Canvas.Snapshot and Efl.Canvas.Proxy are specialized
classes previously implemented as features of Evas.Image.
Note: this half of the work, as I suffered from a bad
merge and rebase with my work branch on top of master.
Jean-Philippe Andre [Mon, 14 Mar 2016 10:36:45 +0000 (19:36 +0900)]
Evas: Add internal macro EVAS_OBJECT_LEGACY_API
This checks whether the object was created with a legacy
API, ie without not using eo_add directly. This will be used
to help with the transition from EAPI to EO APIs, as some EAPIs
should not be used with the new EO types (eg. file_set on a
Proxy object).
By default it doesn't do anything besides ERR().
In DEBUG mode, it will return immediately.
The macro will return if eo_obj is NULL.
Jean-Philippe Andre [Fri, 4 Mar 2016 07:51:37 +0000 (16:51 +0900)]
Evas Image: Implement Gfx.Buffer get/set/copy_set APIs
Those APIs should provide a cleaner interface than the
old data_set/data_get APIs, by making sure the operations are
atomic (ie. no need to call size_set, cspace_set and then data_set).
padding/duplicated borders are not supported.
TODO: Implement legacy API on top of the new API, instead of
this quick patch
Jean-Philippe Andre [Fri, 4 Mar 2016 06:57:36 +0000 (15:57 +0900)]
Efl.Gfx.Buffer: Introduce buffer_set/get/copy_set
Hopefully the doc and signature are better than the current
evas image equivalents data_get/data_set.
Those APIs are not like map/unmap so we need to decide which
model we prefer.
Jean-Philippe Andre [Wed, 2 Mar 2016 11:46:11 +0000 (20:46 +0900)]
Efl.Gfx.Buffer: Add interface skeletton
Jean-Philippe Andre [Wed, 2 Mar 2016 10:39:41 +0000 (19:39 +0900)]
Efl.Image: Fix documentation for ratio + implement in evas image
Jean-Philippe Andre [Wed, 2 Mar 2016 09:12:29 +0000 (18:12 +0900)]
Evas image: Create interface Efl.Image.Animated
This interface groups all low-level animated image functions.
FIXME:
- Rename to Efl.Image.Animated once eolian is fixed
- Fix mess with emile enum (loop_hint)
Jean-Philippe Andre [Wed, 2 Mar 2016 07:38:57 +0000 (16:38 +0900)]
Efl.Image: Improve documentation a bit
This interface needs to be extended and cleaned up... this will
happen in the following patches.
Jean-Philippe Andre [Wed, 2 Mar 2016 07:18:40 +0000 (16:18 +0900)]
Efl.Gfx.View: Rename property size to view_size
size is an insanely generic name, so there would be clashes
in language bindings. Use eo_prefix.
Jean-Philippe Andre [Wed, 2 Mar 2016 06:44:12 +0000 (15:44 +0900)]
Evas image: Move filled property to Efl.Gfx.Fill and set as default
The filled property should be set to true by default since it
makes more sense. Legacy APIs behaviour is preserved by setting
the default to false.
Jean-Philippe Andre [Wed, 2 Mar 2016 06:07:03 +0000 (15:07 +0900)]
Efl.Gfx.Fill: Remove fill_spread
It's not actually implemented anywhere. There's a flag that's
never read. Proper support would require quite some work.
Once we actually implement fill_spread support, we can bring
the API back without breaking compatibility.
Jean-Philippe Andre [Wed, 2 Mar 2016 05:41:32 +0000 (14:41 +0900)]
Evas filters: Simplify evas_filter_dirty
Objects can mark themselves as changed rather than having all this
duplicated code inside the mixin.
Thiep Ha [Mon, 14 Mar 2016 23:15:05 +0000 (08:15 +0900)]
ecore_evas_cocoa: correct focus handlers
Focus handlers are set incorrectly.
It causes windows process focus when they are acttually unfocused.
This patch corrects it.
Signed-off-by: Thiep Ha <thiepha@gmail.com>
Cedric BAIL [Mon, 14 Mar 2016 21:59:33 +0000 (14:59 -0700)]
evas: move Evas_Polygon to become Efl_Canvas_Polygon.
TODO: add support for 2 points (aka line).
Cedric BAIL [Fri, 11 Mar 2016 00:29:56 +0000 (16:29 -0800)]
edje: seems like preloading is fixed and we can now run edje_cc in //
Derek Foreman [Fri, 11 Mar 2016 19:48:44 +0000 (13:48 -0600)]
ecore_drm: Disable custom tick if we can't wait for vblank
If we fail to schedule a VBlank event, then we should disable custom
ticks and fallback to timer-based animators. This patch fixes some
issues with Intel Atom based setups where rendering would fail when
using custom animators.
@fix
Tom Hacohen [Mon, 14 Mar 2016 17:19:58 +0000 (17:19 +0000)]
Eo: Move generation of Eo_Event_Cb to Eolian.
This fixes the type redefinition warning (apparently it's C11).
Thanks to bu5hm4n for reporting this.
Daniel Kolesa [Mon, 14 Mar 2016 17:16:41 +0000 (17:16 +0000)]
eolian: builtin support for event callback signature
Daniel Kolesa [Mon, 14 Mar 2016 16:58:09 +0000 (16:58 +0000)]
eolian generator: simplify typedef gen
Vincent Torri [Sat, 12 Mar 2016 09:49:33 +0000 (10:49 +0100)]
Evil: the addr argument of dladdr is acually used
Vincent Torri [Sat, 12 Mar 2016 09:46:52 +0000 (10:46 +0100)]
Evil: cosmetic change
Vincent Torri [Fri, 11 Mar 2016 17:35:46 +0000 (18:35 +0100)]
Ector: try to load libcairo-2.dll first on Windows
Summary: win-builds provide libcairo-2.dll and not libcairo.dlL
Test Plan: ector test progral
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3787
Jean Guyomarc'h [Sat, 12 Mar 2016 21:21:01 +0000 (22:21 +0100)]
eina: mix possibly misleading indentation
Jean Guyomarc'h [Sat, 12 Mar 2016 21:16:06 +0000 (22:16 +0100)]
eina: remove un-necessary tests before freeing memory
free() is specified to do nothing at all when taking NULL as input.
Boris Faure [Wed, 2 Sep 2015 21:02:29 +0000 (23:02 +0200)]
evas_text_grid: display bold/italic/bolditalic fonts if available
Boris Faure [Wed, 2 Sep 2015 18:50:31 +0000 (20:50 +0200)]
evas_text_grid: remove optimisation (will come back later) to make code more readable
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);