platform/upstream/efl.git
8 years agoEo: eo_add(), change current object's name (api).
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.

8 years agoEfl.Gfx.View: Try to document view_size
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 :)

8 years agoEfl.Image: Move alpha to Efl.Gfx.Buffer
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.

8 years agoEfl.Gfx.Buffer: Simplify data_get/set
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.

8 years agoEvas image: Move content_hint and scale_hint to Efl.Image
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

8 years agoEvas image: Deprecate evas_object_image_alpha_mask_set
Jean-Philippe Andre [Fri, 11 Mar 2016 04:56:14 +0000 (13:56 +0900)]
Evas image: Deprecate evas_object_image_alpha_mask_set

8 years agoEvas.Image: Fix legacy proxy API
Jean-Philippe Andre [Thu, 10 Mar 2016 06:13:20 +0000 (15:13 +0900)]
Evas.Image: Fix legacy proxy API

8 years agoEvas.Image: Move native surfaces to Efl.Canvas.Surface
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.

8 years agoEvas engines: Add internal functions for native images
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.

8 years agoEvas.Image: remove video surface
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.

8 years agoEdje: Fix warning with clang
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.

8 years agoExamples: Update evas object eo example
Jean-Philippe Andre [Mon, 7 Mar 2016 13:30:41 +0000 (22:30 +0900)]
Examples: Update evas object eo example

8 years agoEvas: Move 3d to Efl.Canvas.Scene3d
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.

8 years agoEdje: fix tests snap
Jean-Philippe Andre [Tue, 8 Mar 2016 05:22:54 +0000 (14:22 +0900)]
Edje: fix tests snap

8 years agoEvas.Image: Complete implementation of proxy and snapshot
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.

8 years agoEvas.Image: Add new classes Snapshot and Proxy
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.

8 years agoEvas: Add internal macro EVAS_OBJECT_LEGACY_API
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.

8 years agoEvas Image: Implement Gfx.Buffer get/set/copy_set APIs
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

8 years agoEfl.Gfx.Buffer: Introduce buffer_set/get/copy_set
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.

8 years agoEfl.Gfx.Buffer: Add interface skeletton
Jean-Philippe Andre [Wed, 2 Mar 2016 11:46:11 +0000 (20:46 +0900)]
Efl.Gfx.Buffer: Add interface skeletton

8 years agoEfl.Image: Fix documentation for ratio + implement in evas image
Jean-Philippe Andre [Wed, 2 Mar 2016 10:39:41 +0000 (19:39 +0900)]
Efl.Image: Fix documentation for ratio + implement in evas image

8 years agoEvas image: Create interface Efl.Image.Animated
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)

8 years agoEfl.Image: Improve documentation a bit
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.

8 years agoEfl.Gfx.View: Rename property size to view_size
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.

8 years agoEvas image: Move filled property to Efl.Gfx.Fill and set as default
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.

8 years agoEfl.Gfx.Fill: Remove fill_spread
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.

8 years agoEvas filters: Simplify evas_filter_dirty
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.

8 years agoecore_evas_cocoa: correct focus handlers
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>
8 years agoevas: move Evas_Polygon to become Efl_Canvas_Polygon.
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).

8 years agoedje: seems like preloading is fixed and we can now run edje_cc in //
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 //

8 years agoecore_drm: Disable custom tick if we can't wait for vblank
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

8 years agoEo: Move generation of Eo_Event_Cb to Eolian.
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.

8 years agoeolian: builtin support for event callback signature
Daniel Kolesa [Mon, 14 Mar 2016 17:16:41 +0000 (17:16 +0000)]
eolian: builtin support for event callback signature

8 years agoeolian generator: simplify typedef gen
Daniel Kolesa [Mon, 14 Mar 2016 16:58:09 +0000 (16:58 +0000)]
eolian generator: simplify typedef gen

8 years agoEvil: the addr argument of dladdr is acually used
Vincent Torri [Sat, 12 Mar 2016 09:49:33 +0000 (10:49 +0100)]
Evil: the addr argument of dladdr is acually used

8 years agoEvil: cosmetic change
Vincent Torri [Sat, 12 Mar 2016 09:46:52 +0000 (10:46 +0100)]
Evil: cosmetic change

8 years agoEctor: try to load libcairo-2.dll first on Windows
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

8 years agoeina: mix possibly misleading indentation
Jean Guyomarc'h [Sat, 12 Mar 2016 21:21:01 +0000 (22:21 +0100)]
eina: mix possibly misleading indentation

8 years agoeina: remove un-necessary tests before freeing memory
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.

8 years agoevas_text_grid: display bold/italic/bolditalic fonts if available
Boris Faure [Wed, 2 Sep 2015 21:02:29 +0000 (23:02 +0200)]
evas_text_grid: display bold/italic/bolditalic fonts if available

8 years agoevas_text_grid: remove optimisation (will come back later) to make code more readable
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

8 years agogl_common: call evas_gl_common_texture_free() before dropping image cache
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)

8 years agogl_common: remove incorrect EINA_UNUSED for evas_gl_common_texture_free
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

8 years agotests eeze: enable eeze_net IPv6 test again and skip if impossible
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.

8 years agoeeze: remove trailing whitespace
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.

8 years agoecore_drm: Update device copy of framebuffer after page flip completes
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

8 years agoeolian generator: close the file with zero write
Daniel Kolesa [Fri, 11 Mar 2016 16:19:53 +0000 (16:19 +0000)]
eolian generator: close the file with zero write

8 years agoeolian generator: check fwrite return value currectly
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

8 years agoeolian: refactor database_typedecl_to_str to remove dead code
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.

8 years agoRevert "Eo: Change to the Eo4 eo_add syntax."
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.

8 years agoRevert "Vg node: modify so the eo_add migration script won't break."
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.

8 years agoRevert "Ector and eo suite: Semi automatically migrate to the new eo_add."
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.

8 years agoRevert "Automatic migration to the new eo_add syntax."
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.

8 years agoRevert "Examples: Update according to recent eo_add changes."
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.

8 years agoRevert "Fix examples according to the recent eo event changes."
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.

8 years agoRevert "cxx: Migrate C++ binding to the new eo_add syntax"
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.

8 years agoedje: add error log message for missing description
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>
8 years agoefl: rename efl.core.animator to efl.animator.
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.

8 years agoecore_wl2: Don't treat EINVAL as a recoverable condition
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

8 years agoecore-wl2: set fd handler active flags correctly for connect/create
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

8 years agoevas-gl: Fix dereference after null check
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>
8 years agoedje: Don't leak array source if we are going to exit function
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>
8 years agobuild coverage: make coverage numbers more accurate by using a baseline
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)

8 years agoexamples gitignore: adding four new examples to their .gitignore files
Stefan Schmidt [Wed, 9 Mar 2016 15:13:41 +0000 (16:13 +0100)]
examples gitignore: adding four new examples to their .gitignore files

8 years agoeo_cxx: correct constness of basic Eo C++ wrapper functions
Vitor Sousa [Wed, 9 Mar 2016 21:51:21 +0000 (18:51 -0300)]
eo_cxx: correct constness of basic Eo C++ wrapper functions

8 years agoecore-drm: don't set DBG on log level if DBG not already set
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

...

8 years agoecore-drm: Disable default DBG log level
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>
8 years agocxx: Migrate C++ binding to the new eo_add syntax
Vitor Sousa [Wed, 9 Mar 2016 18:46:19 +0000 (15:46 -0300)]
cxx: Migrate C++ binding to the new eo_add syntax

8 years agoFix examples according to the recent eo event changes.
Tom Hacohen [Wed, 9 Mar 2016 17:16:19 +0000 (17:16 +0000)]
Fix examples according to the recent eo event changes.

8 years agoExamples: Update according to recent eo_add changes.
Tom Hacohen [Wed, 9 Mar 2016 17:02:42 +0000 (17:02 +0000)]
Examples: Update according to recent eo_add changes.

8 years agoAutomatic migration to the new eo_add syntax.
Tom Hacohen [Wed, 9 Mar 2016 15:47:28 +0000 (15:47 +0000)]
Automatic migration to the new eo_add syntax.

8 years agoEctor and eo suite: Semi automatically migrate to the new eo_add.
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.

8 years agoVg node: modify so the eo_add migration script won't break.
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.

8 years agoEo: Change to the Eo4 eo_add syntax.
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.

8 years agotests evas: enable xpm image loader in tests
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.

8 years agotests evas: remove commented out function which have not been used since 2014
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.

8 years agoecore-drm: Don't re-include config.h
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>
8 years agoecore-drm: Update copyright notice
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>
8 years agoRevert "ecore: Create Promises"
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.

8 years agoeo_cxx: Fix unused parameter warning when no constructor is required
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

8 years agotests eolian: add test cases for type stub generations
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.

8 years agoeolian_gen: mention the option for generating a stub header in the example use
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.

8 years agoeolian_gen: remove unused functions _nextline and _startline
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.

8 years agoevas-3d examples: remove unused variables
Stefan Schmidt [Tue, 8 Mar 2016 10:06:29 +0000 (11:06 +0100)]
evas-3d examples: remove unused variables

8 years agoeo del interceptor: add the ability to intercept deletions of eo objects
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

8 years agoRevert "eina: split Makefile with files/headers in preparation for additional per...
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.

8 years agoRevert "eina: reintroduce additional support for eina sub directory compilation."
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.

8 years agoRevert "eina: rely on GNU make to find file at their correct location."
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.

8 years agoeolian: validate eo/legacy prefix to be [a-z_][a-z0-9_]*
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_]*

8 years agobuild: do not use DEBUG when running with coverage
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.

8 years agobuild: fix linking with coverage enabled after osx fix
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'

8 years agotests: get rid of Eo_Event2 in cxx tests
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.

8 years agocxx bindings: get rid of Eo_Event2
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.

8 years agobuild: fix type in m4 macro
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.

8 years agoEo event cb: Update documentation.
Tom Hacohen [Mon, 7 Mar 2016 10:34:52 +0000 (10:34 +0000)]
Eo event cb: Update documentation.

8 years agoEo: Update documentation according to the event cb changes.
Tom Hacohen [Mon, 7 Mar 2016 10:25:01 +0000 (10:25 +0000)]
Eo: Update documentation according to the event cb changes.

8 years agoEo: get rid of Eo_Event2.
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.

8 years agoecore: Create Promises
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.

8 years agoeina: Add Eina_Iterator implementation for C-array
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);

8 years agoeina: fix typos in doxygen
Jean Guyomarc'h [Sun, 6 Mar 2016 11:35:13 +0000 (12:35 +0100)]
eina: fix typos in doxygen