platform/upstream/efl.git
5 years agoreplace strndup with eina_strndup, remove strndup definition in evil and elm_test_dnd
Vincent Torri [Fri, 3 May 2019 12:09:07 +0000 (13:09 +0100)]
replace strndup with eina_strndup, remove strndup definition in evil and elm_test_dnd

Test Plan: compilation

Reviewers: cedric, zmike, raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8814

5 years agocsharp: Some docs improvements.
Lauro Moura [Fri, 3 May 2019 08:09:58 +0000 (10:09 +0200)]
csharp: Some docs improvements.

Summary:
- Silent missing docs warnign for API delegates
- Document variables
- Better docs for async functions

Reviewers: segfaultxavi, vitor.sousa

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8809

5 years agoui.relative_layout: implement Efl.Pack
Yeongjong Lee [Fri, 3 May 2019 09:20:17 +0000 (09:20 +0000)]
ui.relative_layout: implement Efl.Pack

Now, efl_content_iterate, efl_content_count, efl_pack, efl_pack_unpack,
efl_pack_unpack_all and efl_pack_clear are available for relative_layout.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8631

5 years agoCXX examples: remove wrong header inclusion
Xavi Artigas [Fri, 3 May 2019 08:34:16 +0000 (10:34 +0200)]
CXX examples: remove wrong header inclusion

This was an oversight from the previous refactor.

5 years agoefl_mono: fix to load libevas.so based on efl.Libs.Evas
Jaehyun Cho [Fri, 3 May 2019 07:42:42 +0000 (16:42 +0900)]
efl_mono: fix to load libevas.so based on efl.Libs.Evas

libevas.so is loaded based on efl.Libs.Evas in efl_libs.cs.
Therefore, the hard coded string "evas" is replaced with efl.Libs.Evas.

5 years agocxx: Fix missing bits from header rename
Lauro Moura [Thu, 2 May 2019 21:47:49 +0000 (21:47 +0000)]
cxx: Fix missing bits from header rename

Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8811

5 years agoevas doc: Add a comment for Efl_Canvas_Object type.
Myoungwoon Roy, Kim [Fri, 3 May 2019 04:21:05 +0000 (13:21 +0900)]
evas doc: Add a comment for Efl_Canvas_Object type.

Change-Id: I8ea0f2ce074b7d6f1ab6a0716e82bb98016f1729

5 years agocxx: Rename Elementary.hh into Efl_Ui.hh
Lauro Moura [Thu, 2 May 2019 18:08:04 +0000 (15:08 -0300)]
cxx: Rename Elementary.hh into Efl_Ui.hh

Also include Efl_Ui.h alongside Elementary.h (the latter is still needed
by some widgets).

5 years agoevas_object_textblock: Fix binary search fail.
Woochanlee [Thu, 2 May 2019 14:34:04 +0000 (14:34 +0000)]
evas_object_textblock: Fix binary search fail.

D8610 Makes API Testcase fault.

"&lt" is never searching.

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8803

5 years agoFix for invalid ATSPI role on naviframe page element
Radoslaw Cybulski [Tue, 30 Apr 2019 11:59:53 +0000 (11:59 +0000)]
Fix for invalid ATSPI role on naviframe page element

ATSPI role page_tab was set on invalid object and thus ignored.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8789

5 years agogfx_filter: add an example
Shinwoo Kim [Thu, 2 May 2019 06:57:28 +0000 (06:57 +0000)]
gfx_filter: add an example

Add an example using efl_gfx_filter_program_set with text and image object.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8719

5 years agoefl-mono: Add markup support to Efl.Ui.Text
Xavi Artigas [Mon, 29 Apr 2019 13:57:28 +0000 (15:57 +0200)]
efl-mono: Add markup support to Efl.Ui.Text

Summary:
Markup support is added to Efl.Ui.Text through runtime composition, but the C#
bindings do not know about it unless Efl.Text_Markup appears in the hierarchy.

Test Plan: The Markup property is available now for Efl.Ui.Text, it can be used and renders the expected results.

Reviewers: lauromoura, bu5hm4n, zmike

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8758

5 years agoeina_test_strbuf: Fix resource leak
Christopher Michael [Thu, 2 May 2019 12:11:27 +0000 (14:11 +0200)]
eina_test_strbuf: Fix resource leak

Summary:
Coverity reports that we leak storage that 'buf' points to because we
are reassigning the variable, so lets free the previous strbuf so we
don't leak.

Fixes CID1400952

@fix

Depends on D8769

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8770

5 years agoeo_test_manager_xattr: Fix resource leak
Christopher Michael [Thu, 2 May 2019 12:11:20 +0000 (14:11 +0200)]
eo_test_manager_xattr: Fix resource leak

Summary:
Coverity reports that we leak the eina_binbuf returned from
eina_value_to_binbuf function, so add a call to eina_binbuf_free.

Fixes CID1400953

@fix

Depends on D8762

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8769

5 years agoeina_test_tiler: Fix resource leak
Christopher Michael [Thu, 2 May 2019 12:11:12 +0000 (14:11 +0200)]
eina_test_tiler: Fix resource leak

Summary:
Coverity reports that reassigning 't' here leaks the storage that t
points to, so free the previous eina_tiler before reassigning the
variable.

Fixes CID1401068

@fix

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8762

5 years agoevas_object_image: save EVAS_IMAGE_CONTENT_HINT_DYNAMIC image
Shinwoo Kim [Thu, 2 May 2019 11:50:24 +0000 (20:50 +0900)]
evas_object_image: save EVAS_IMAGE_CONTENT_HINT_DYNAMIC image

Summary:
evas_gl_common_image_content_hint_set makes RGBA_Image NULL if content hint
is EVAS_IMAGE_CONTENT_HINT_DYNAMIC with 'sec_tbm_surface' and 'egl_tbm_ext'.

efl_file_save(_efl_canvas_image_internal_efl_file_save_save) does not work
in this case because ENFN->image_data_direct_get returns FALSE.

This patch makes ENFN->image_data_direct_get work but you need to free its
returned data after using it.

Reviewers: Hermet, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8516

5 years agoeina_test_ustr: Fix resource leak
Christopher Michael [Thu, 2 May 2019 11:48:27 +0000 (13:48 +0200)]
eina_test_ustr: Fix resource leak

Summary:
Coverity reports that we leak 'buf' here so add a call to free

Fixes CID1400784

@fix
Depends on D8781

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8782

5 years agoemile_test_base64: Fix memory leak
Christopher Michael [Thu, 2 May 2019 11:48:22 +0000 (13:48 +0200)]
emile_test_base64: Fix memory leak

Summary:
Coverity reports that we leak 'str' here, so change the call from
eina_strbuf_reset to eina_strbuf_free

Fixes CID1400815

@fix
Depends on D8780

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8781

5 years agoemile_test_base64: Fix resource leak
Christopher Michael [Thu, 2 May 2019 11:48:18 +0000 (13:48 +0200)]
emile_test_base64: Fix resource leak

Summary:
Coverity reports that we leak 'buffer' here so add a call to
eina_binbuf_free

Fixes CID1400820

@fix
Depends on D8779

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8780

5 years agoefl_ui_test_widget: Fix resource leak
Christopher Michael [Thu, 2 May 2019 11:48:11 +0000 (13:48 +0200)]
efl_ui_test_widget: Fix resource leak

Summary:
Coverity reports that we leak the variable 'a' here so lets add a call
to eina_array_free

Fixes CID1400824

@fix
Depends on D8778

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8779

5 years agoecore_test_ecore_file: Fix resource leak
Christopher Michael [Thu, 2 May 2019 11:48:00 +0000 (13:48 +0200)]
ecore_test_ecore_file: Fix resource leak

Summary:
Coverity reports that we leak the store returned from
ecore_file_realpath so add a call to free the returned storage when we
are done with it

Fixes CID1400825

@fix
Depends on D8777

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8778

5 years agoemile_test_base64: Fix resource leak
Christopher Michael [Thu, 2 May 2019 11:47:55 +0000 (13:47 +0200)]
emile_test_base64: Fix resource leak

Summary:
Coverity reports that we leak the storage returned from
eina_binbuf_new here, so lets add a call to eina_binbuf_free before we
exit

Fixes CID1400852

@fix
Depends on D8776

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8777

5 years agoefl_ui_test_widget: Fix resource leak
Christopher Michael [Thu, 2 May 2019 11:47:50 +0000 (13:47 +0200)]
efl_ui_test_widget: Fix resource leak

Summary:
Coverity reports that we leak the storage returned from eina_array_new
here, so lets add a call to eina_array_free

Fixes CID1400857

@fix
Depends on D8775

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8776

5 years agoemile_test_base64: Fix resource leak
Christopher Michael [Thu, 2 May 2019 11:47:45 +0000 (13:47 +0200)]
emile_test_base64: Fix resource leak

Summary:
Coverity reports that we leak the storage of variable 'decoded' here,
so lets add a call to eina_binbuf_free

Fixes CID1400868

@fix
Depends on D8774

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8775

5 years agoefl_ui_test_widget: Fix memory leak
Christopher Michael [Thu, 2 May 2019 11:47:39 +0000 (13:47 +0200)]
efl_ui_test_widget: Fix memory leak

Summary:
Coverity reports that we leak the memory from eina_array_new so lets
add a call to eina_array_free

Fixes CID1400889

@fix
Depends on D8773

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8774

5 years agoeldbus_test_eldbus_message: Fix resource leak
Christopher Michael [Thu, 2 May 2019 11:47:33 +0000 (13:47 +0200)]
eldbus_test_eldbus_message: Fix resource leak

Summary:
Coverity reports that we leak the variable 'msg' going out of scope
here, so lets add a call to unref the returned eldbus_message so it
gets freed

Fixes CID1400921

@fix
Depends on D8772

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8773

5 years agoeina_test_file: Fix resource leak
Christopher Michael [Thu, 2 May 2019 11:47:28 +0000 (13:47 +0200)]
eina_test_file: Fix resource leak

Summary:
Coverity reports that we leak 'path' here, so free the returned string

Fixes CID1400926

@fix
Depends on D8771

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8772

5 years agoevas_test_image: Fix resource leak
Christopher Michael [Thu, 2 May 2019 11:47:22 +0000 (13:47 +0200)]
evas_test_image: Fix resource leak

Summary:
Coverity reports that we leak variable 'f' going out of scope here, so
if we are going to exit the test, lets close the file before we do

Fixes CID1400945

@fix
Depends on D8770

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8771

5 years agoeina_bench_stringshare: Fix resourcce leak
Christopher Michael [Thu, 2 May 2019 11:46:33 +0000 (13:46 +0200)]
eina_bench_stringshare: Fix resourcce leak

Summary:
Coverity reports that we leak the return from eina_counter_dump here,
so store the result, print it out, then we can free it.

Fixes CID1400975

@fix
Depends on D8767

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8768

5 years agoefl_ui_test_widget: Fix memory leak
Christopher Michael [Thu, 2 May 2019 11:45:59 +0000 (13:45 +0200)]
efl_ui_test_widget: Fix memory leak

Summary:
Coverity reports that we leak the eina_array 'a' here, so add a call
to eina_array_free

Fixes CID1400844

@fix
Depends on D8766

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8767

5 years agoefl_ui_test_widget: Fix memory leak
Christopher Michael [Thu, 2 May 2019 11:45:38 +0000 (13:45 +0200)]
efl_ui_test_widget: Fix memory leak

Summary:
Coverity reports that we leak the eina_array 'a' here, so add a call
to eina_array_free before we exit

Fixes CID1401003

@fix
Depends on D8765

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8766

5 years agoeina_test_binbuf: Fix memory leak
Christopher Michael [Thu, 2 May 2019 11:44:22 +0000 (13:44 +0200)]
eina_test_binbuf: Fix memory leak

Summary:
Coverity reports that we leak 'test_buf' here so add eina_binbuf_free
to plug the leak

Fixes CID1401004

@fix
Depends on D8764

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8765

5 years agoevas_test_mesh: Fix memory leak
Christopher Michael [Thu, 2 May 2019 11:43:57 +0000 (13:43 +0200)]
evas_test_mesh: Fix memory leak

Summary:
Coverity reports that we leak file_mask variable here (storage
returned from strdup), so lets free the variable before we exit the test

Fixes CID1401009

@fix

Depends on D8763

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8764

5 years agoemile_test_base64: Fix resource leak
Christopher Michael [Thu, 2 May 2019 11:43:32 +0000 (13:43 +0200)]
emile_test_base64: Fix resource leak

Summary:
Coverity reports that we leak storage of variable 'str' here, so call
eina_strbuf_free

Fixes CID1401062

@fix

Depends on D8762

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8763

5 years agoelm_test_widget_focus: Fix memory leak
Christopher Michael [Thu, 2 May 2019 11:43:04 +0000 (13:43 +0200)]
elm_test_widget_focus: Fix memory leak

Summary:
Coverity reports that we leak the 'map' hash here, so lets add a call
to free the hash

Fixes CID1401069

@fix

Depends on D8760

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8761

5 years agoefl_check: Fix memory leak
Christopher Michael [Thu, 2 May 2019 11:42:08 +0000 (13:42 +0200)]
efl_check: Fix memory leak

Summary:
Coverity reports that we leak variable 'n' here (memory returned from
strdup) so let's free it

Fixes CID1401070

@fix

Depends on D8759

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8760

5 years agoeina_test_file: Fix memory leak
Christopher Michael [Thu, 2 May 2019 11:40:31 +0000 (13:40 +0200)]
eina_test_file: Fix memory leak

Summary:
Coverity reports that we leak big_buffer here, so lets free it.

Fixes CID1401072

@fix

Reviewers: raster, cedric, zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8759

5 years agoRevert "evas png: apply interpolation when scale down image loading."
Hermet Park [Thu, 2 May 2019 11:19:24 +0000 (20:19 +0900)]
Revert "evas png: apply interpolation when scale down image loading."

This reverts commit 53cdf850ba0f10a4a4db3e3c7f7cf1742ca88db1.

It's still on reviewing, I didn't intend submitting.

5 years agoevas png: apply interpolation when scale down image loading.
Hermet Park [Thu, 2 May 2019 07:42:25 +0000 (16:42 +0900)]
evas png: apply interpolation when scale down image loading.

Summary:
This patch improves png quality when image uses scale-down at image loading.

Since current scale-down logic just works like point sampling,
image result could be wholely different,

Simply, if source data is consist of continous white and black pixels,
and scale down factor is 2, the sampled data would be only white,
and lose all black pixels, or vice versa.

The result can be unexpected by users.
Even current jpeg scale-down works with interpolation.

Before:
{F3711651}

After:
{F3711652}

Original:
{F3711653}

Reviewers: cedric, raster, #committers, kimcinoo, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8788

5 years agoEina: add eina_strndup() API as inlined function
Vincent Torri [Tue, 30 Apr 2019 15:37:54 +0000 (15:37 +0000)]
Eina: add eina_strndup() API as inlined function

this add strndup implementation that does not seg fault when string is NULL.
This also implements strndup on Windows.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8790

5 years agoefl_ui_spec: we can add efl_ui_pager now
Marcel Hollerbach [Fri, 26 Apr 2019 14:04:03 +0000 (16:04 +0200)]
efl_ui_spec: we can add efl_ui_pager now

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8752

5 years agoefl_ui_pager: track lifetime of children
Marcel Hollerbach [Fri, 26 Apr 2019 18:22:14 +0000 (20:22 +0200)]
efl_ui_pager: track lifetime of children

when a child is deleted (externally), the widget should be forgotten
internally.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8751

5 years agoefl_ui_pager: error when you try to delete something which unavailable
Marcel Hollerbach [Fri, 26 Apr 2019 16:54:24 +0000 (18:54 +0200)]
efl_ui_pager: error when you try to delete something which unavailable

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8750

5 years agoefl_ui_pager: redirect deleted objects to the top
Marcel Hollerbach [Fri, 26 Apr 2019 16:53:44 +0000 (18:53 +0200)]
efl_ui_pager: redirect deleted objects to the top

otherwise we would not give up ownership of the widget

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8749

5 years agoefl_ui_pager: implement rollover behavior
Marcel Hollerbach [Fri, 26 Apr 2019 16:52:29 +0000 (18:52 +0200)]
efl_ui_pager: implement rollover behavior

this behavior is implemented in efl_pack, so this should be in this
implementation.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8748

5 years agoefl_ui_widget: error on NULL passing
Marcel Hollerbach [Fri, 26 Apr 2019 16:50:59 +0000 (18:50 +0200)]
efl_ui_widget: error on NULL passing

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8747

5 years agoefl_ui_pager: refactor object addition
Marcel Hollerbach [Fri, 26 Apr 2019 16:30:31 +0000 (18:30 +0200)]
efl_ui_pager: refactor object addition

this reduces LOC and keeps functionality.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8746

5 years agoefl_ui_pager: ensure that only valid objects are removed
Marcel Hollerbach [Fri, 26 Apr 2019 15:30:35 +0000 (17:30 +0200)]
efl_ui_pager: ensure that only valid objects are removed

everything else will just print errors

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8745

5 years agoefl_ui_pager: implement content iterator
Marcel Hollerbach [Fri, 26 Apr 2019 15:25:05 +0000 (17:25 +0200)]
efl_ui_pager: implement content iterator

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8744

5 years agoefl_ui_pager: ensure deletion behavior
Marcel Hollerbach [Fri, 26 Apr 2019 15:19:59 +0000 (17:19 +0200)]
efl_ui_pager: ensure deletion behavior

when a object is unpacked, we should ensure that only elements are
deleted from the box when they are added.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8742

5 years agoefl_ui_pager: ensure objects are added and deduplicated
Marcel Hollerbach [Fri, 26 Apr 2019 15:19:37 +0000 (17:19 +0200)]
efl_ui_pager: ensure objects are added and deduplicated

everything else will make things fall apart

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8741

5 years agoefl_ui_pager: refactor registering function for pager
Marcel Hollerbach [Fri, 26 Apr 2019 14:46:58 +0000 (16:46 +0200)]
efl_ui_pager: refactor registering function for pager

this is a starting point for further function additions. this is esp.
usefull since a few functions need to be executed to every added object.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8740

5 years agoefl_ui_pager: provide a pack( implementation
Marcel Hollerbach [Fri, 26 Apr 2019 13:51:09 +0000 (15:51 +0200)]
efl_ui_pager: provide a pack( implementation

this is needed in order to make efl_ui_pager complete.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8739

5 years agoefl_ui_pager: lets stop returning false when in animation
Marcel Hollerbach [Fri, 26 Apr 2019 12:29:20 +0000 (14:29 +0200)]
efl_ui_pager: lets stop returning false when in animation

i don't know why this is here. But undependend from if the widget is in
animation or not. We should ensure that the added content to the pager
is displayed and added. Having this failing is super unexpected to the
user, and basically undebuggable.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8738

5 years agoefl_ui_pager: mark box internal
Marcel Hollerbach [Fri, 26 Apr 2019 12:23:58 +0000 (14:23 +0200)]
efl_ui_pager: mark box internal

otherwise they will adjust the parent property, and we do not want to
have that.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8737

5 years agoefl_ui: add a internal flag to mark widgets internal
Marcel Hollerbach [Fri, 26 Apr 2019 12:16:30 +0000 (14:16 +0200)]
efl_ui: add a internal flag to mark widgets internal

when a widget is marked internal, widgets can use that to behave in
certain ways. Box for example uses this to not alter the widget_parent
property anymore. Which is usefull for when boxes are used internally.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8736

5 years agoecore drm2 - fix timeout in case case called from thread
Carsten Haitzler (Rasterman) [Tue, 30 Apr 2019 10:49:12 +0000 (11:49 +0100)]
ecore drm2 - fix timeout in case case called from thread

so sw rendering make call ecore drm2 calls from a thread - i didnt
know that. so this makes my fix for gl hangs add hangs in sw as a
result. this fixes that. not perfect but better. do need refcoutnts on
outputs to be perfect...

also sometimes the commits fail so retry a few times...

this still leaves us wth another hang that is a separate issue.

@fix

5 years agoecore evas drm - make vsync animators a possible ifdef
Carsten Haitzler (Rasterman) [Tue, 30 Apr 2019 10:48:15 +0000 (11:48 +0100)]
ecore evas drm - make vsync animators a possible ifdef

this makes it easyeir to swizzle on and off

5 years agomeson: add docs
Marcel Hollerbach [Tue, 30 Apr 2019 10:15:33 +0000 (12:15 +0200)]
meson: add docs

Summary:
this here brings one new top level target which is doc. It is not build
by default, and does rerun everything on every call.

ninja doc will create previews and run the doxygen command. After this
is done, a tarbal of the html & man will be created, latex is not added
for now, due to the unability to compile the resulting .tex files.

Nothing of the documentation is installed for now, if this would be
enabled, then every single ninja install would regenerate the whole
documentation again, which is quite a lot, and quite a pain (and
sometimes crashes)

While porting this over, i encountered a problem with *convert* the bug
report is linked in the comment.

fix T7781

Depends on D8690

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7781

Differential Revision: https://phab.enlightenment.org/D8561

5 years agoeina_unicode: return NULL if allocation fails
Vincent Torri [Tue, 30 Apr 2019 08:23:38 +0000 (09:23 +0100)]
eina_unicode: return NULL if allocation fails

Reviewers: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8785

5 years agoRevert "efl.ui.widget: disable parts{} block for now"
Jaehyun Cho [Tue, 30 Apr 2019 02:16:06 +0000 (11:16 +0900)]
Revert "efl.ui.widget: disable parts{} block for now"

This reverts commit 06aabbf8529edd5f09a1ce7c3c59237b2857e98a.

The original commit is reverted after release.

Change-Id: Ife55d7ca922bb70c9a766522318d521106e359a5

5 years agoRevert "canvas vg: code refactoring." 28/205528/1
JunsuChoi [Tue, 7 May 2019 07:25:48 +0000 (16:25 +0900)]
Revert "canvas vg: code refactoring."

This reverts commit 83522bce29e546e90c51cc9220121a1c8220c84b.

This is a commit that was caused by an wrong migration.
revert it because it causes an error during animation play.

Change-Id: Ie6e03004888b79b48a25f9aa44d658f9571914e0

5 years agoefl: move eo files to devel package 76/205376/2
Jongmin Lee [Fri, 3 May 2019 00:49:14 +0000 (09:49 +0900)]
efl: move eo files to devel package

Change-Id: Iac4a306602d10179d6c7366bc1736335d10cfac3

5 years agoecore_evas_tbm: add a class condition to find duplicated evas device 34/205434/1
jeon [Fri, 3 May 2019 10:44:10 +0000 (19:44 +0900)]
ecore_evas_tbm: add a class condition to find duplicated evas device

Change-Id: I568653dd626e00a15cd32c010cbc0c8ed8dd7d23

5 years agoevas doc: Add a comment for Efl_Canvas_Object type. 00/205400/1
Myoungwoon Roy, Kim [Fri, 3 May 2019 04:21:05 +0000 (13:21 +0900)]
evas doc: Add a comment for Efl_Canvas_Object type.

Change-Id: I4aa2d3ebaea6e2e511fffe49662bc3fa67b89bd4

5 years agoRevert "evas doc: Add a comment for Efl_Canvas_Object type." 91/205391/1
Jaehyun Cho [Fri, 3 May 2019 04:06:27 +0000 (13:06 +0900)]
Revert "evas doc: Add a comment for Efl_Canvas_Object type."

This reverts commit 5e256cfd9f7dfbcd4efee095214b5619a599f437.

Change-Id: I838cf4dd70532c08fbb3a7fa65f6f7cad84c9872

5 years agoevas doc: Add a comment for Efl_Canvas_Object type. 88/205388/2
Myoungwoon Roy, Kim [Fri, 3 May 2019 03:52:02 +0000 (12:52 +0900)]
evas doc: Add a comment for Efl_Canvas_Object type.

This patch is added to explain Efl_Canvas_Object type.

Change-Id: I2d4bc04367d343badc1fbf357b28fcc81b405290

5 years agoefl doc: Marks @internal. 79/205379/2
Myoungwoon Roy, Kim [Fri, 3 May 2019 01:48:38 +0000 (10:48 +0900)]
efl doc: Marks @internal.

This patch is for marking non-managed ecore_wayland and elementary APIs with @internal.

Change-Id: Idf90f0c1e1619ebe6464b217ea4fee92bf2f4f78

5 years agoedje doc: fix wrong ingrouping. 75/205375/2
Myoungwoon Roy, Kim [Fri, 3 May 2019 00:32:03 +0000 (09:32 +0900)]
edje doc: fix wrong ingrouping.

Edje Audio's ingroup name is wrong. This fixes the wrong group name of Edje Audio module.

Change-Id: Ie4b3c98f0ceed5b837afe25a1df76acd76573e28

5 years agoecore_wl2_display: using tizen_launch_appinfo in screen_size_get 58/205358/2 accepted/tizen/unified/20190503.040753 submit/tizen/20190502.125225
Junseok, Kim [Tue, 30 Apr 2019 03:59:01 +0000 (12:59 +0900)]
ecore_wl2_display: using tizen_launch_appinfo in screen_size_get

using tizen_launch_appinfo in screen_size_get for support 4K UI.

Change-Id: I2aada4f5c3a62d02da7f44fcbe4baa4b925d9483

5 years agoecore_wl2: add tizen_launch_appinfo interface 44/205344/3
Junseok, Kim [Tue, 30 Apr 2019 03:57:12 +0000 (12:57 +0900)]
ecore_wl2: add tizen_launch_appinfo interface

Change-Id: I3c4b1df5cda3d46f3eff1406d3f36f2944477006

5 years agoedje doc: fix corrupted grouping. 30/205330/1
Hermet Park [Thu, 2 May 2019 09:37:38 +0000 (18:37 +0900)]
edje doc: fix corrupted grouping.

there were some corrupted pair of group scopes,
Edje class size, text were under the both Edje Object and Edje Part
Edje Communication Interface Message, Edje Perspective were wrongly same.
Swallow, Box, Tabe were under the Edje Text Part.

This fixes all of them.

Change-Id: Ibd4dea6e12bfdda4797e8aa9a2e0cbe1e3ea820e

5 years agoelm_gengrid: Add logpress_timeout set and get APIs. 25/205325/1
Dheeraj Reddy [Thu, 2 May 2019 17:09:50 +0000 (22:39 +0530)]
elm_gengrid: Add logpress_timeout set and get APIs.

Summary:
Setter and getter APIs added for "longpress_timeout" as requested for FLIP product.
(APIs similar to elm_genlist)

Change-Id: I7d3ebfdc860eb212da9b3ad678b49e1bf83e6bc5
Signed-off-by: Dheeraj Reddy <dheeraj.sj@samsung.com>
5 years agoevas_object_textblock: Fix binary search fail. 12/205312/2 accepted/tizen/unified/20190503.075046 submit/tizen/20190502.073346
Woochanlee [Thu, 2 May 2019 07:30:47 +0000 (16:30 +0900)]
evas_object_textblock: Fix binary search fail.

D8610 Makes API Testcase fault.

"&lt" is never searching.

@fix

https://phab.enlightenment.org/D8803

Change-Id: Iefeafb68f3af5d15846aebe46447ea28bb494604

5 years agoanimation_view: fix a regression bug by ad040eec2e60b092572f8bec5edb6ee73e1eb834 10/205310/1
Hermet Park [Thu, 2 May 2019 07:18:25 +0000 (16:18 +0900)]
animation_view: fix a regression bug by ad040eec2e60b092572f8bec5edb6ee73e1eb834

The initial progress must be reverted in stop status.
otherwise rewind animation progress will be courrpted.

Change-Id: I8f6b48cef1ce38e42c7c1eff60f8a3e3a7909d66

5 years agoefl_ui_animation_view: Set PLAY state before call "start" callback. 03/205303/1
JunsuChoi [Thu, 2 May 2019 06:44:24 +0000 (15:44 +0900)]
efl_ui_animation_view: Set PLAY state before call "start" callback.

Summary:
In transit_cb state set PLAY.
But before that "Start" callback is called.
So the state in the callback function is STOP or another state.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8801

Change-Id: I0c41ab43895586117c3470dc98232d425e44be01

5 years agoefl_ui_animation_view: Set max progress when play back. 02/205302/1
JunsuChoi [Thu, 2 May 2019 06:43:21 +0000 (15:43 +0900)]
efl_ui_animation_view: Set max progress when play back.

Summary:
If we start an animation object with play_back, the current frame is 0 in "start" callback.
Since transit_go is called after "start" callback,
we need to advance the animation start advance to the last progress.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8802

Change-Id: Ia93a5d388c0b8a2412bc93068eb33159b978c15c

5 years agoefl_ui_animation_view : Change transit facade sequence. 72/205272/2
JunsuChoi [Fri, 26 Apr 2019 08:48:28 +0000 (17:48 +0900)]
efl_ui_animation_view : Change transit facade sequence.

Summary:
  Call PLAY_START smart callback first. before call tansit_go.
  Because PLAY_UPDATE smart callback is called when transit_go is called
  and transit_cb is called.

Test Plan: refer to comment this revision

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8718

Change-Id: I659acccc4724c6401d0ce5fa7143b004ef45d1eb

5 years agoefl_ui_animation_view: Fix current frame calc. 71/205271/2
JunsuChoi [Fri, 26 Apr 2019 08:44:30 +0000 (17:44 +0900)]
efl_ui_animation_view: Fix current frame calc.

Summary:
pd-> progress is always 0 to 1, even if min/max_frame/progress_set is set.
Because it follow the progress of transit.
Therefore, if min/max_frame/progress is set, frame_get returns an invalid value.
Modify it to return frame with min/max_frame/progress applied.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8716

Change-Id: Id197cd88f02e200ca4f581fa46a06a38311fe38e

5 years agoefl_ui_animation_view: Update callback is called only actual change time. 70/205270/2
JunsuChoi [Fri, 26 Apr 2019 08:42:40 +0000 (17:42 +0900)]
efl_ui_animation_view: Update callback is called only actual change time.

Summary:
The transit_cb is called from 0 to 1 depending on the duration.
Since the update callback is called even if there is no actual change,
we change it to call when there is a change in the frame.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8715

Change-Id: I3afb40e59261d4d76e8c44ed75c6f87287adfbed

5 years agoadd evgl_eng_native_win_surface_config_get() 01/201301/2
Joogab Yun [Tue, 12 Mar 2019 06:03:04 +0000 (15:03 +0900)]
add evgl_eng_native_win_surface_config_get()

This is for wayland_egl backend.

refer : https://review.tizen.org/gerrit/#/c/platform/upstream/efl/+/52462/

Change-Id: I4cc07a4ee849141aec447c759ea96a82fb9d4a00

5 years agowl2_input: fix a problem that occurs in case of using both pointer/touch input devices 62/205262/1
Wonki Kim [Tue, 30 Apr 2019 15:27:25 +0000 (11:27 -0400)]
wl2_input: fix a problem that occurs in case of using both pointer/touch input devices

Summary:
if wl2_input logic gets a 'touch down' event from touch device,
input->focus.touch has set and it cause the logic handles every input as touch input
from that moment at _ecore_wl2_input_mouse_move_send function.
that is the reason why the patch(410c1f95879e46a5e52132662d4c43b74e95a251) has written for.

however, if there are multiple touch input devices,
clearing focus.touch variable without checking any conditions causes another problem.

I mean a case such as 'touch 1 down' -> 'touch 2 down' -> 'touch 1 up' -> 'touch 2 up'
at the moment 'touch 1 up' event executed, focus.touch would be cleared,
and 'touch 2 up' and following touch events will not be executed properly at the moment.

this patch counts a number of touch devices which are grabbing to clear focus.touch at proper time.

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8787

Change-Id: I95b64df82f17069762aa93a60b0eb048805e5bac
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
5 years agoevas engine: convert data without any possible loss. 23/205223/1
Hermet Park [Tue, 30 Apr 2019 08:13:32 +0000 (17:13 +0900)]
evas engine: convert data without any possible loss.

Change-Id: I74237a280a8e0cae8ecb235dd720f3a352990ffd

5 years agoRevert "efl.ui.widget: disable parts{} block for now" 69/205169/1 submit/tizen/20190430.065044
Jaehyun Cho [Tue, 30 Apr 2019 02:16:06 +0000 (11:16 +0900)]
Revert "efl.ui.widget: disable parts{} block for now"

This reverts commit 06aabbf8529edd5f09a1ce7c3c59237b2857e98a.

The original commit is reverted after release.

Change-Id: Ibea550439ffe0b6fb37fa7c80d3af12f98b5adc4

5 years agoevas_engine: Delete duplicated values during migration. submit/tizen/20190430.023700
Woochanlee [Tue, 30 Apr 2019 01:39:16 +0000 (10:39 +0900)]
evas_engine: Delete duplicated values during migration.

5 years agoecore-wl2: Minor formatting fixes
Christopher Michael [Mon, 29 Apr 2019 13:59:17 +0000 (09:59 -0400)]
ecore-wl2: Minor formatting fixes

NB: No functional changes

5 years agoecore-wl2: Minor formatting fixes
Christopher Michael [Mon, 29 Apr 2019 13:58:05 +0000 (09:58 -0400)]
ecore-wl2: Minor formatting fixes

NB: No functional changes

5 years agodocs: Minor adjustments to Efl.Ui.Progressbar
Xavi Artigas [Mon, 29 Apr 2019 11:16:51 +0000 (13:16 +0200)]
docs: Minor adjustments to Efl.Ui.Progressbar

5 years agoevas png loader: optimize scale down logic.
Hermet Park [Mon, 29 Apr 2019 10:55:38 +0000 (19:55 +0900)]
evas png loader: optimize scale down logic.

Previously, mannual scale down logic was too primitive,
it copied pixel data each channels. Obviously, it's ineffective.

We know the general case - 4 bytes channel which is the most usage,
If loader copies data per four bytes, instructions could be reduced.

When I load scale-downed image(original 8k), about 0.02 secs was reduced by this.

5 years agoelm_scroller: make loop_set/get as generic API
Shilpa Singh [Tue, 23 Apr 2019 11:39:50 +0000 (11:39 +0000)]
elm_scroller: make loop_set/get as generic API

elm_scroller_loop_set cannot be used for other widgets except scroller,
the API should be generic as this functionality can be implemented by other widgets as well.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8686

5 years agoelc_hoversel: Fix crash when no sd->last_location
Christopher Michael [Sat, 27 Apr 2019 18:21:43 +0000 (14:21 -0400)]
elc_hoversel: Fix crash when no sd->last_location

As we cannot pass NULL to strcmp (crashes when we do), we should check
for a valid sd->last_location here in order to avoid crashing. This
was detected in Enlightenment Screen Settings dialog by selecting a
monitor in the hoversel drop down.

@fix

5 years agoeio: do not fail when the future has been cancelled properly.
Cedric BAIL [Tue, 23 Apr 2019 16:56:09 +0000 (09:56 -0700)]
eio: do not fail when the future has been cancelled properly.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8691

5 years agoeina_vpath do not pass things through snprintf when not expected.
Marcel Hollerbach [Sat, 27 Apr 2019 09:57:50 +0000 (11:57 +0200)]
eina_vpath do not pass things through snprintf when not expected.

lets assume a user passes in a string like "blabla%dehydra" then %d will
be resolved by snprintf. Which is probebly not what we want. This
resolves this case and ensures that eina_vpath_resolve does not get
piped through snprintf

Reviewed-by: Dave Andreoli <dave@gurumeditation.it>
Differential Revision: https://phab.enlightenment.org/D8753

5 years agoecore: properly handle CHILD_ADDED and CHILD_REMOVED from source for Efl.CompositeModel
Cedric BAIL [Thu, 18 Apr 2019 20:37:28 +0000 (13:37 -0700)]
ecore: properly handle CHILD_ADDED and CHILD_REMOVED from source for Efl.CompositeModel

Before this patch we were directly sending this event on the Efl.CompositeModel, but they
actually might contain an Efl.Model in the event child field. That Efl.Model wouldn't have
been converted before to an Efl.CompositeModel exposing incoherence from the user of
the object point of view. This patch fix that behavior.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8661

5 years agoecore: use new infrastructure for Efl.CompositeModel to only have one Model object...
Cedric BAIL [Thu, 18 Apr 2019 16:57:53 +0000 (09:57 -0700)]
ecore: use new infrastructure for Efl.CompositeModel to only have one Model object represent its data at any point in time.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8660

5 years agoecore: protect efl_model_properties_get from accesing NULL pointer when Model parent...
Cedric BAIL [Thu, 18 Apr 2019 16:42:37 +0000 (09:42 -0700)]
ecore: protect efl_model_properties_get from accesing NULL pointer when Model parent is not a Efl.BooleanModel.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8659

5 years agoecore: fix efl_model_property_ready_get to actually return the right future when...
Cedric BAIL [Thu, 18 Apr 2019 16:35:48 +0000 (09:35 -0700)]
ecore: fix efl_model_property_ready_get to actually return the right future when the data is not ready.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8658

5 years agoecore: allow multiple Efl.ViewModel of the same source thanks to new infrastructure.
Cedric BAIL [Thu, 18 Apr 2019 16:34:46 +0000 (09:34 -0700)]
ecore: allow multiple Efl.ViewModel of the same source thanks to new infrastructure.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8657

5 years agoecore: add infrastructure to create children Model once and avoid duplicated view...
Cedric BAIL [Thu, 18 Apr 2019 16:31:14 +0000 (09:31 -0700)]
ecore: add infrastructure to create children Model once and avoid duplicated view of the same data.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8656

5 years agoeina: allow copy of EINA_VALUE_EMPTY type.
Cedric BAIL [Thu, 18 Apr 2019 16:28:31 +0000 (09:28 -0700)]
eina: allow copy of EINA_VALUE_EMPTY type.

This is usefule to allow timeout future to be propagated through eina_future_all
or eina_future_race for example.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8655