platform/upstream/efl.git
5 years agoecore_main: Add ECORE_FD_ALWAYS flag
Derek Foreman [Tue, 12 Feb 2019 18:51:02 +0000 (13:51 -0500)]
ecore_main: Add ECORE_FD_ALWAYS flag

Summary:
This allows an fd handler to be called after select exits unconditionally.

Our wayland client code needs this to be thread safe, as it needs to
call prepare_read before entering select, and then either read or
cancel_read after select.

Reviewers: cedric

Reviewed By: cedric

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoui.box: implement homogeneous mode
Yeongjong Lee [Wed, 13 Feb 2019 13:39:20 +0000 (08:39 -0500)]
ui.box: implement homogeneous mode

Summary:
On homogeneous mode, children are of the same weight and of the same min size
which is determined by maximum min size of children.

Depends on D7750

Reviewers: Jaehyun_Cho, zmike, jpeg

Reviewed By: zmike

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

5 years agotest/ui_box: add unittest for Efl.Ui.Box
Yeongjong Lee [Wed, 13 Feb 2019 13:39:07 +0000 (08:39 -0500)]
test/ui_box: add unittest for Efl.Ui.Box

Summary:
Testcase
{F3613173}
{F3613174}

ref T5487
Depends on D7750

Test Plan: make check

Reviewers: jpeg, barbieri, Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5487

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

5 years agoui.box: refactor layout_update
Yeongjong Lee [Wed, 13 Feb 2019 13:38:58 +0000 (08:38 -0500)]
ui.box: refactor layout_update

Summary:
Current layout_update doesn't consider max hint priority. for example, if it
has hint_max, the size is hint_max value regardless of weight or fill.
moreover, if it has hint_aspect with hint_max, hint_min can be ignored.
(test that aspect(1,3) max(50,150), min(70, 70) then, size has (50, 150))
It seems that hint_max is considered as high priority. however, if hint_min
greater than hint_max, hint_max is ignored.

In order to resolve the hint priority conflict, this refactoring supports
following hint priority.
1) HintMin
2) HintMin + HintAspect
3) HintMargin
4) HintMax
5) HintAspect
6) HintWeight, HintFill
7) HintAlign

ref T5487

Specific unit test is D7463

Test Plan:
make check
elementary_test -to 'efl.ui.box'

Reviewers: jpeg, Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: segfaultxavi, zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5487

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

5 years agoefl_ui_pager: change data type
Jaeun Choi [Wed, 13 Feb 2019 11:36:55 +0000 (20:36 +0900)]
efl_ui_pager: change data type

5 years agomono examples: Fix after removing init method
Xavi Artigas [Wed, 13 Feb 2019 10:31:31 +0000 (11:31 +0100)]
mono examples: Fix after removing init method

This was preventing "make examples" from working.

5 years agoevas_image: fix pixels_dirty_set(False) makes wrong object-change-list.
Jiyoun Park [Wed, 13 Feb 2019 02:16:16 +0000 (11:16 +0900)]
evas_image: fix pixels_dirty_set(False) makes wrong object-change-list.

Summary:
evas_object_image_pixels_dirty_set(img B, False) means
1. app want to mark image object's data is not dirty anymore
2. app don't want to be called get_pixels callback.

that does not mean image need to be redraw.

evas_object_image_pixels_dirty_set(img B, True) means
1. image object's data is dirty, so image object need to be redraw.
2. app want to be called get_pixels callback.

but pixels_dirty_set(img B, FALSE) function also set o->changed to true,
it cause problem related with rendering

Below case is the example of problem.

1. Smart object A
2. Child image object B
3. app call pixels_dirty_set(FALSE) inside pixels_get_callback
   pixels_get_callback is called inside the image object B's rendering.

enlightenment's e_comp_object_render do upper job.

After adding preload fetch,
evas_object_image_render_post can call evas_object_change.

https://phab.enlightenment.org/D7157

evas_render_updates_internal

0. enlightenment call evas_object_image_pixels_dirty_set(img B, TRUE)
   o->changed = 1;
   evas_object_change(img B)
1. smart obj A is in render_objects
2. evas_object_image_render_pre B, o->change=0
3. evas_render_mapped (Smart A)
     3-1. evas_render_mapped (img B)
         : enlightenment call evas_object_image_pixels_dirty_set(img B, False)
         : o->changed=1

     3-2. evas_object_change_reset(img B)
4. pending_change(img B)
     4-1. evas_object_image_render_post(img B)
          o->changed=1 (3-1 step) evas_object_change(img B)->evas_object_change(Smart A)

5. render_post_reset
   smart A is chaged(4-1 step), so, called   evas_object_change_reset(Smart A)
   ###smart A is reset(5 step), img B is changed(4-1 step). after this case,
    img B never get change to be redraw.

Reviewers: Hermet, cedric, zmike, ManMower

Reviewed By: Hermet

Subscribers: zmike, ManMower, #reviewers, #committers

Tags: #efl

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

5 years agoRevert "Revert command line array object because it's broken by design"
Marcel Hollerbach [Tue, 12 Feb 2019 20:34:30 +0000 (21:34 +0100)]
Revert "Revert command line array object because it's broken by design"

This reverts commit a57c7f751023fe1d1edeabbf8683574ac7497e5e.

I pretty much hate to just revert your revert, but you failed to read my
replies, and failed to understand what i was talking about.

And YES we talked at fosdem about the platform issue, and do you
remember my answer, that back in time this might be the case, today is
different freebsd suppoerts setenv, and for windows we have a setenv
implementation in evil. And yes, vtorri also created a issue how bad and
evil this commit is, however, i still fail to see the issue since setenv
unsetenv and clearenv usages are taken as needed. (T7693)

The ownership question is answered in
https://phab.enlightenment.org/D7516#137367.

Can we please get into a state of technical discussions, and not *oh
shit, i am going to revert this* this has been in review for a long
time, a lots of people have tested it, we discussed things on it, and
there was 3 weeks of no reply from you.

The issues that exist will be dealed with. Feel free to create tasks if
you want :)

5 years agoRevert "Revert the env object because it's broken portability - please redo"
Marcel Hollerbach [Tue, 12 Feb 2019 20:34:27 +0000 (21:34 +0100)]
Revert "Revert the env object because it's broken portability - please redo"

This reverts commit d6294fa22b88187e44391c1c8ca64b1ebdf14533.

5 years agoRevert the env object because it's broken portability - please redo
Carsten Haitzler (Rasterman) [Tue, 12 Feb 2019 20:11:44 +0000 (20:11 +0000)]
Revert the env object because it's broken portability - please redo

setenv and unsetenv are not portable. i explained to you at fosdem
there are issues and it's why i used putenv in the original
implementation and even though it's a pain (the string tou pass to
putenv is a pointer used literallt from there on in and you get it
from getenv, thus making ownership a pain -this is a libc issue we
can't readily solve). use putenv like the original code. then put it
back in. vtorri now has windows porting issues with the setenv use. i
knew there was a reason that still existed...

in addition your in_sync stuff is broken.  psuedocode:

// assuming BLAGH env is not set to anything here
c = efl_core_env_get(global_env, "BLAH");
...
putenv("BLAH=10");
...
c = efl_core_env_Get(global_env, "BLAH");

i will get NULL in both cases for c ... but i should get "10" for the
2nd in reality. reality is lots of code across application code and
libraries will at times mess with the environment. it has to work with
this. the prior implementation did work with this.

Revert "ecore: here comes a env object"
  This reverts commit 2373d5db5b4cd5dfe139aa2a10017ef61b28b5ce.

Revert "efl_task: remove env from this object"
  This reverts commit c3d69f66a69c0def357a5c373a13343e1c01ff5d.

5 years agoRevert command line array object because it's broken by design
Carsten Haitzler (Rasterman) [Tue, 12 Feb 2019 19:54:22 +0000 (19:54 +0000)]
Revert command line array object because it's broken by design

Revert "ecore: get rid of commands in efl_task."
  This reverts commit 616381e9cfed41b83fef039b0e38c09b41fd3d7f.
Revert "ecore: here comes a command line object"
  This reverts commit 48e5684b3c37b337edd7004e68fc0690b58a84e6.

1. this is broken:

EOLIAN static const char*
_efl_core_command_line_command_get(const Eo *obj EINA_UNUSED, Efl_Core_Command_Line_Data *pd)
{
   return eina_strdup(pd->string_command);
}

it returns a const char * BUT it duplicates it on return. no. a big
fat honking NO. return a char * or don't duplicate. pick.

2. _efl_core_command_line_command_array_set() is broken by design. it
accepts an array of strings, but the strings are owned by the caller
who creates the array (requiring they free them up themselves after
this call) but the array becomes owned by the callee. the code here frees the
incoming array but doesn't care about the string content of it. it's
leak heaven waiting to happen (or bugs when someone wants to access
the array they create to walk it to free the strings they put into it
after it is set).

i brought this up and it was dismissed. now exactly he issue i brought
up is there with mixed ownership and the added complexity as well as
transfer of some ownership but not others.

go back and think about this so it isn't broken by design.

5 years agobuild: also build eo-tests with debug profile
Marcel Hollerbach [Mon, 11 Feb 2019 16:34:16 +0000 (17:34 +0100)]
build: also build eo-tests with debug profile

this checks that eo-dbg is also working in the same manner as normal eo

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7911

5 years agoefl_ui_focus: delete elements on invalidate
Marcel Hollerbach [Sun, 13 Jan 2019 12:03:04 +0000 (13:03 +0100)]
efl_ui_focus: delete elements on invalidate

this lead to ERR's. A element is invalidated while the composition
element is invalidated, which means, not yet deleted, but the Pointer
will fail a call to efl_isa.

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

5 years agoeo: efl_isa with a EFL_OVERRIDE_CLASS should return true
Marcel Hollerbach [Mon, 11 Feb 2019 18:21:02 +0000 (19:21 +0100)]
eo: efl_isa with a EFL_OVERRIDE_CLASS should return true

this is important, as basically every single class etc. can be a
EFL_OVERRIDE_CLASS. This makes efl_override work with eo_debug.

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

5 years agoeo: the object size changes for the eo_debug profile
Marcel Hollerbach [Mon, 11 Feb 2019 18:20:45 +0000 (19:20 +0100)]
eo: the object size changes for the eo_debug profile

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

5 years agoeo: fix typo
Marcel Hollerbach [Mon, 11 Feb 2019 17:07:15 +0000 (18:07 +0100)]
eo: fix typo

this while loop is actaully iterating obj->xref, therefore we should not
take the pointer of data_xrefs.

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

5 years agoecore: get rid of commands in efl_task.
Marcel Hollerbach [Wed, 26 Dec 2018 16:51:17 +0000 (17:51 +0100)]
ecore: get rid of commands in efl_task.

Note that the usage in efl_thread.c should and could be removed.
the problem with its usage is that when the ARGUMENTS event is fired,
noone ever had the chance to subscribe to the loop of the thread yet. So
all in all this is unneccessary, since noone could ever touch that.

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

5 years agoecore: here comes a command line object
Marcel Hollerbach [Wed, 26 Dec 2018 14:31:57 +0000 (15:31 +0100)]
ecore: here comes a command line object

the mixin for now can carry a command, which can be setted as an string.
The string is then parsed again, this is done in order to make sure that
everything that needs escaping really is escaped or parsed correctly.

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

5 years agoefl_task: remove env from this object
Marcel Hollerbach [Wed, 26 Dec 2018 10:38:04 +0000 (11:38 +0100)]
efl_task: remove env from this object

the env operations are moved to the efl.core.env objects, which can be
used there.

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

5 years agoecore: here comes a env object
Marcel Hollerbach [Tue, 25 Dec 2018 15:57:21 +0000 (16:57 +0100)]
ecore: here comes a env object

the env object can be used to alter and edit the content of environment
variables. Additionally, the class efl.core.env can be used to to setup
a not applied set of environment variables, which then can be applied
later (in the future) to set it directly to a spawned process for
example, or as a general key/data storage. A efl.core.env object can
also be forked off, which makes it easy to customize predefined objects.

ref T7514

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

5 years agoefl_ui_format: fix to display %% and unknown format element
Jaehyun Cho [Fri, 1 Feb 2019 08:13:39 +0000 (08:13 +0000)]
efl_ui_format: fix to display %% and unknown format element

This fixes 2 things as follows.

1. Displays format string "%%" as "%".
   Like printf does, "%%" is displayed as "%".

2. Displays unknown format element as it is.
   In format string "(50%)", ")" is an unknown format element.
   Although format string has unknown format element, the format string
   is displayed like printf does.

The cause of the issue displaying "0%" which was mentioned on
a96933f964b1757b9d9f8a4cce14d883f35a6665 is as follows.

The default format string of progressbar is set as "%.0f%%".
Therefore, if progressbar's format string is not set, then "%" postfix
is always displayed.

This commit reverts commit a96933f964b1757b9d9f8a4cce14d883f35a6665.
This commit restores commit b4112b9735ce75bce95974a257aa1880fa52a6bf.
This commit restores commit be770d37fb05b8486907796dd16f4635bceb4ce1.

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

5 years agoelm_progressbar test: Add test for custom format strings to show when %% is not escap...
Stephen 'Okra' Houston [Thu, 24 Jan 2019 04:02:54 +0000 (04:02 +0000)]
elm_progressbar test: Add test for custom format strings to show when %% is not escaped correctly.

This adds a test that sets a custom progressbar format string that includes a custom percent (%%) that should be escaped to just one percent (%).  This case has been broken and fixed many times and is broken again so it makes sense to now add a check for it to try and prevent the continual breakage.

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

5 years agoedje: apply maps to textblock cursors and backgrounds
Mike Blumenkrantz [Wed, 16 Jan 2019 20:02:43 +0000 (15:02 -0500)]
edje: apply maps to textblock cursors and backgrounds

when a map is applied to an edje part, it is expected that all components of
the part respect the map attributes. this requires that, in the case of
textblock parts, all the sub-parts which are internal to the textblock
(entry) object also go through the map populate and apply codepaths

fix T4977
@fix

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

5 years agoevas_object_smart: Speed up some cache invalidation calls
Derek Foreman [Mon, 11 Feb 2019 19:13:33 +0000 (14:13 -0500)]
evas_object_smart: Speed up some cache invalidation calls

Summary:
A large number of cache invalidation calls are doing pointer
indirection that is completely avoidable.
Depends on D7852

Reviewers: devilhorns, cedric

Reviewed By: devilhorns, cedric

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui : rename model connect and factory connect to bind property and factory.
SangHyeon Jade Lee [Thu, 31 Jan 2019 11:59:19 +0000 (11:59 +0000)]
efl_ui : rename model connect and factory connect to bind property and factory.

As we discussed in T7469 with V40,

efl_ui_model_connect
efl_ui_factory_model_connect

need to be renamed to

efl_ui_bind_property
efl_ui_bind_factory

for this work,
Efl.Ui.Model.Connect interface is changed as Efl.Ui.Bind,
and bind_property and bind_factory both method is supported by this interface.

bind_factory need Efl.Ui.Factory,
and Efl.Ui.Factory inheritted Efl.Ui.Bind,
so I little bit concerned about circular referencing, but so far, it works well.

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

5 years agoefl-csharp: Fix self in iface concrete functions
Lauro Moura [Mon, 11 Feb 2019 18:53:29 +0000 (16:53 -0200)]
efl-csharp: Fix self in iface concrete functions

Summary:
It was mistakenly being called as static functions.

Fixes T7619

Test Plan: See attached testcase.

Reviewers: segfaultxavi, bu5hm4n, vitor.sousa

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7619

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

5 years agodocs: Add custom DocFX templates
Xavi Artigas [Wed, 30 Jan 2019 18:20:43 +0000 (19:20 +0100)]
docs: Add custom DocFX templates

Summary:
These templates add the following features:
- Collapsible sections for simpler reading
- Full class names in ancestors list
  (Could not make it work for descendants)
- Removed duplicated Implements section
- Removed huge Inherited Members section
- Extended maximum number of hierarchy levels from 5 to 10
  (because our hierarchy is really that big)

Test Plan:
Follow the doc/docfx README to generate the HTML pages and enjoy the improved
and slightly-more-usable docs.

Reviewers: lauromoura, bu5hm4n, zmike, cedric

Reviewed By: lauromoura

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agodocs: Update efl_object lifecycle docs
Xavi Artigas [Mon, 11 Feb 2019 13:00:04 +0000 (14:00 +0100)]
docs: Update efl_object lifecycle docs

Summary:
Explained the different phases, added method refs and removed outdated links.
Ref T7557

Reviewers: zmike, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7557

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

5 years agoefl_gfx_color_class: make this a mixin and move color_class_code here
Mike Blumenkrantz [Mon, 11 Feb 2019 11:11:39 +0000 (12:11 +0100)]
efl_gfx_color_class: make this a mixin and move color_class_code here

Summary:
color_class_code seems to only have been added to efl_gfx_color in order to
share the hex conversion code, but this is trivial to do when it's in another
class and makes the api more sensible

ref T7559

Reviewers: segfaultxavi, bu5hm4n, cedric

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7559

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

5 years agocanvas vg: prevent vector rendering corruption. 64/201064/1
Hermet Park [Thu, 7 Mar 2019 12:27:51 +0000 (21:27 +0900)]
canvas vg: prevent vector rendering corruption.

It may occur some threading corruption, since ector raster uses thread
internally. Unfortunately the issue is rarely occured, hardly catch
the exact point. But I guess this ector drawing range may be the root cause.
Commented out them as it did before, until we could make the issue sure.

Change-Id: Ie53b9d2ddf57fbb9da770e595f421e7a03dcc9be

5 years agoevas/vg: Adapt to the recent change in lottie api. 19/201019/2
subhransu mohanty [Thu, 7 Mar 2019 07:01:29 +0000 (16:01 +0900)]
evas/vg: Adapt to the recent change in lottie api.

Change-Id: Ia416bd4b50a27d02a88aa3b12083fa8a6f1cc9c9

5 years agoscrollable: fix page snap behavior. 13/200213/2
Hosang Kim [Tue, 19 Feb 2019 02:11:52 +0000 (11:11 +0900)]
scrollable: fix page snap behavior.

Sometimes page snap feature is not working.
Because there are two points to calculate the location of the current page.

@tizen_only
Change-Id: I5993d6c9d3b613fc095b6a1d4233d496d443f464

5 years agoecore_wl2: revert upstream patch. 36/200936/1
Hosang Kim [Wed, 6 Mar 2019 08:36:22 +0000 (17:36 +0900)]
ecore_wl2: revert upstream patch.

Tizen's enlightenment does not use multiplied value.

@tizen_only

Change-Id: I05788e26aa47eea307b7a5270bf5e35e30f14e90

5 years agoefl_ui_scroller: add dragging scrollbar feature 21/200921/2
Hosang Kim [Wed, 6 Mar 2019 04:30:25 +0000 (13:30 +0900)]
efl_ui_scroller: add dragging scrollbar feature

@tizen_only

Change-Id: I7bd6727222982320e4bb71f97099fe806aca5949

5 years agoevas map: ++safety anti-aliasing processing. 70/200870/1
Hermet Park [Tue, 5 Mar 2019 08:11:20 +0000 (17:11 +0900)]
evas map: ++safety anti-aliasing processing.

there was a potential case that overflow range.
here it kicks it out.

Change-Id: I43736457ee8c4278dbf2e9909d5dd7190f3aa11f

5 years agoevas map: fix wrong range in anti-aliasing processing. 21/200821/1
Hermet Park [Mon, 4 Mar 2019 11:35:31 +0000 (20:35 +0900)]
evas map: fix wrong range in anti-aliasing processing.

alpha value must be in 0 - 255.

Change-Id: Id152cdb4cb7b9beec99f949176bd3cb586ab1552

5 years agoevas map: fine-tune a case by anti-aliasing quality. 97/200797/1
Hermet Park [Mon, 4 Mar 2019 10:22:16 +0000 (19:22 +0900)]
evas map: fine-tune a case by anti-aliasing quality.

Change-Id: Ib2cf71f83a318bae53413d2425f55088f1e8ee8e

5 years agoeio: fix not to overflow data by performing arithmetic. 25/200625/1 accepted/tizen/unified/20190228.083550 submit/tizen/20190227.121232
Hermet Park [Wed, 27 Feb 2019 10:20:29 +0000 (19:20 +0900)]
eio: fix not to overflow data by performing arithmetic.

Change-Id: Id64560d2ac31b1b5b6dde0f520a5283fc37cfe1f

5 years agoevas vg: don't access a dangling pointer. 24/200624/1
Hermet Park [Wed, 27 Feb 2019 10:13:18 +0000 (19:13 +0900)]
evas vg: don't access a dangling pointer.

Change-Id: Iecac959e42257f7ba45444e3de4c7af5d7034afa

5 years agoevas vg: fix correct increment for tflags 20/200620/1
Yeongjong Lee [Thu, 21 Feb 2019 05:17:18 +0000 (14:17 +0900)]
evas vg: fix correct increment for tflags

Summary:
There is warning.

```
lib/evas/vg/evas_vg_cache.c: In function â€˜_vg_file_save’:
lib/evas/vg/evas_vg_cache.c:185:30: warning: pointer of type â€˜void *’ used in arithmetic [-Wpointer-arith]
         tflags = alloca(len) + 1;
```
Previous code of a8d5f275c78 is intended to increase flags length.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I3c107dac3bbdf7863d42cf1abc2826bc02d1ed34

5 years agogengrid: fix wrong condition on next item search 19/200619/2
SangHyeon Jade Lee [Wed, 27 Feb 2019 09:56:25 +0000 (18:56 +0900)]
gengrid: fix wrong condition on next item search

Change-Id: I81b157092eb028d5bb27a4c01f34d20db3c31dcf
Signed-off-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
5 years agoRevert "evas_map: fix rendering bug 'mapped smart parent'+'image_object_update_add'" 15/200515/2
Shinwoo Kim [Tue, 26 Feb 2019 05:43:10 +0000 (14:43 +0900)]
Revert "evas_map: fix rendering bug 'mapped smart parent'+'image_object_update_add'"

This reverts commit 23de6660338021abb596bebd807b5e3889551748.

to fix auto scroll FPS issue.
You can check this on elm-demo-tizen-tv > Performance menu.
For more information please contact sungguk.na@samsung.com

Change-Id: I64983527ae5ce9439ee6bfaacf901027cefda2a3

5 years agoefl_access: Add class check for using access_parent_set 71/200371/3
JunsuChoi [Fri, 22 Feb 2019 08:49:05 +0000 (17:49 +0900)]
efl_access: Add class check for using access_parent_set

[dlog]
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Layout'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Layout'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Rectangle'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Layout'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Rectangle'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Layout'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Rectangle'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Layout'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Layout'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Evas.Box'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Rectangle'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Evas.Image'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Efl.Canvas.Rectangle'.
E/EFL     (  790): eo<790> lib/eo/eo.c:569 _efl_object_call_resolve() in lib/elementary/efl_access_object.eo.c:50: func 'efl_access_object_access_parent_set' (464) could not be resolved for class 'Evas.Image'.# Please enter the commit message for your changes. Lines starting

Change-Id: I986b275e135320c77323dc0223d6d2e7065e57f1

5 years agoRevert "evas_image: fix pixels_dirty_set(False) makes wrong object-change..." 71/200471/1
Shinwoo Kim [Mon, 25 Feb 2019 12:09:59 +0000 (21:09 +0900)]
Revert "evas_image: fix pixels_dirty_set(False) makes wrong object-change..."

This reverts commit 55b5209f9e50a1dbe3a25aafe1194879057d7247.

to fix TCT issue.

The issue fixed by commit "55b5209f9 evas_image: fix pixels_dirty_set..."
would be fixed by "90e2fad evas_object_image: render_post returns if...".

Change-Id: I6511b94fb673b45c223742da068b117289d89bb1

5 years agospec: fix not to contain a unnecessary library 46/200446/1
Wonki Kim [Mon, 25 Feb 2019 05:39:10 +0000 (14:39 +0900)]
spec: fix not to contain a unnecessary library

libelementary.so.1.21.100 is a library for platform specific behavior for mobile
and it should not be installed by installing elementary.rpm.
so that this patch removes it from elementary definition.

Change-Id: I82cf7b9ebf60d98057fec73b7f2530f0467692bd
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
5 years agoRevert "efl_ui_animation_view: update interfaces usages." 39/200439/2 accepted/tizen/unified/20190225.232721 submit/tizen/20190225.071954
Hermet Park [Mon, 25 Feb 2019 06:36:36 +0000 (15:36 +0900)]
Revert "efl_ui_animation_view: update interfaces usages."

This reverts commit 797a49f4092ed666aa2676ba64bb48fd12310cc9.

This patch must be applied with the latest efl upstream patches.

Change-Id: I8039500493c630a473a17ef76c3571239e83e717

5 years agomeson: add a option for selecting lua interpreter 40/200340/2
Wonki Kim [Thu, 14 Feb 2019 10:25:09 +0000 (10:25 +0000)]
meson: add a option for selecting lua interpreter

this patch is for selecting lua interpreter such as luajit, lua51
and in addition, little more changes to unify lua dependency over efl

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

Change-Id: I8f0d072d124638510c5245904b474da0aef0457d
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
5 years agoeio: fix a potentional BOF problem 39/200339/2
Wonki Kim [Thu, 21 Feb 2019 05:25:09 +0000 (05:25 +0000)]
eio: fix a potentional BOF problem

if length of path arguments are longer than PATH_MAX,
there could be a BOF problem potentionally.
this patch fixes it.

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

Change-Id: Iaeff6a373d8c251b20264549be3fd350c71f3110
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
5 years agoefl_ui_animation_view: replace naming, keyframe to progress. 26/200426/3
Hermet Park [Mon, 25 Feb 2019 04:52:40 +0000 (13:52 +0900)]
efl_ui_animation_view: replace naming, keyframe to progress.

To make consistency with Xamarin-Lottie interfaces,
here replace the api. Progress is more clear to understand.

Change-Id: If5afb780353bfbce5151c83ef4aa980f32f7dd09

5 years agoeio: cancel registered future before it's freed 27/200427/2 submit/tizen/20190225.055416
Shinwoo Kim [Mon, 25 Feb 2019 05:14:41 +0000 (14:14 +0900)]
eio: cancel registered future before it's freed

This is tizen only patch to solve TC issue quickliy
For more information, please refer to following upstream patch under reivew.

https://phab.enlightenment.org/D7970

This patch would be reverted when corrected patch is merged.

@tizen_only

Change-Id: I63e9faf43a848d597433fb0a74ab80118a44fa0c

5 years agoefl_ui_animation_view: update interfaces usages. 22/200422/1
Hermet Park [Mon, 25 Feb 2019 04:43:10 +0000 (13:43 +0900)]
efl_ui_animation_view: update interfaces usages.

Change-Id: Id353cc825525f44a2898a6149690dc9892d52995

5 years agoRevert "eo: fix to remove unreachable loop" 67/200367/1
Jaehyun Cho [Fri, 22 Feb 2019 07:45:06 +0000 (16:45 +0900)]
Revert "eo: fix to remove unreachable loop"

This reverts commit 86ea8f993dd576a8bbf1911d615a0720707df2c5.

Change-Id: I98f2da824e5ffca010dad149b9571c24be92a9cb

5 years agoecore_imf: Add since_tizen in keycode member of key event structs 49/200349/3
Jihoon Kim [Fri, 22 Feb 2019 05:02:03 +0000 (14:02 +0900)]
ecore_imf: Add since_tizen in keycode member of key event structs

Change-Id: I238c9c33627447c01846089d8e1b0b4280fccce8
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
5 years agoRevert "eet: add counter for number of frees needed in each directory" 31/200331/2 submit/tizen/20190222.044455
Shinwoo Kim [Thu, 21 Feb 2019 23:13:42 +0000 (08:13 +0900)]
Revert "eet: add counter for number of frees needed in each directory"

This reverts commit 83be62392df0392be435b6d3c52db6d59b7efda6.

To solve heap memory usage problem.
Please refer to following massif result.

 n1: 236176 0x541A92C: edje_mmap_data_get (in /usr/lib/libedje.so.1.21.99)
   n1: 236176 0x4A5C038: _elm_theme_file_item_add (elm_theme.c:63)
    n1: 236176 0x4A5C886: _elm_theme_parse (elm_theme.c:485)
     n1: 236176 0x4981160: _config_apply (elm_config.c:1686)
      n1: 236176 0x498DFDE: _elm_config_init (elm_config.c:4755)
       n1: 236176 0x4A0E05A: elm_quicklaunch_sub_init (elm_main.c:867)
 n1: 58267 0x541A92C: edje_mmap_data_get (in /usr/lib/libedje.so.1.21.99)
  n1: 58267 0x4A5C038: _elm_theme_file_item_add (elm_theme.c:63)
   n1: 58267 0x4A5C886: _elm_theme_parse (elm_theme.c:485)
    n1: 58267 0x4981160: _config_apply (elm_config.c:1686)
     n1: 58267 0x498DFDE: _elm_config_init (elm_config.c:4755)
      n1: 58267 0x4A0E05A: elm_quicklaunch_sub_init (elm_main.c:867)

Change-Id: Ib3c1fd58c5e038da2059855ba644309e9bafb04e

5 years agoevas_object_image: render_post returns if preloading. 29/200329/2
Shinwoo Kim [Thu, 21 Feb 2019 06:57:17 +0000 (06:57 +0000)]
evas_object_image: render_post returns if preloading.

The render_post calls evas_object_change if o->changed is true which is added
by commit "36fc2e6 evas image: fix non-rendered preload image.".
But an image could lose chance to render. Please refer to the following.

(1) 1st render_updates_internal
  render_post - evas_object_change for image and its parents
  evas_object_reset - for its parent

(2) _evas_image_load_post_update - o->preload is changed to true here

(3) 2nd render_updates_internal
  evas_render_mapped cannot call render

The reason of (3) would be unchanged parents.

If render_post returns if an image is preloading, then evas_object_change works
for the image and its parents at (2). And finally (3) will call render.
It would be reasonable because render_pre, and render returns as well.

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

Change-Id: Ifc84f6733bb7cc6a5e21c9686edba811270d1bab

5 years agoRevert "edje: add ability to reference images from other edje files" 28/200328/2
Shinwoo Kim [Thu, 21 Feb 2019 12:51:52 +0000 (21:51 +0900)]
Revert "edje: add ability to reference images from other edje files"

This reverts commit fdd4472129c4cf6d3d118e841bdf0b11497da9db.

To solve memory usage problem using 140(= 3564 - 3424)KB bigger than before.

sh-3.2# memps <pid of launchpad-loader>

 Before: 3424 00489000-0084e000 [heap]
 After : 3564 004e0000-008c6000 [heap]

Change-Id: Ib79eb9fc9f29da515bfa705343290c08e6a7e57e

5 years agoecore_imf: Add keycode in key down and key up event structs 42/200342/1
Jihoon Kim [Fri, 22 Feb 2019 02:05:56 +0000 (11:05 +0900)]
ecore_imf: Add keycode in key down and key up event structs

Change-Id: I5f81cfc054adb72c17ea69b7657637c3adddbcdc
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
5 years agogengrid : fix missing circluar condition 78/200278/2 submit/tizen/20190222.001114
SangHyeon Jade Lee [Thu, 21 Feb 2019 05:26:52 +0000 (14:26 +0900)]
gengrid : fix missing circluar condition

Change-Id: I05d2135fdf5545d0e189dedd4843389a23320c84

5 years agoevas_map: fix rendering bug 'mapped smart parent'+'image_object_update_add' 58/200258/1
Jiyoun Park [Wed, 20 Feb 2019 11:39:41 +0000 (20:39 +0900)]
evas_map: fix rendering bug 'mapped smart parent'+'image_object_update_add'

Problem case:
1. there is smart object(e_comp_object) + mapped
2. e_comp_object's mapped size 400X400
3. image object A is child of e_comp_object
4. map surface is (800X800) , image_object size is also (800X800)
5. e_comp_object is mapped, so map surface (800X800) will be rendered 400X400 into evas by map image render.

step1: E20 calls evas_object_image_data_update_add(A,  100X100)

step2: e_comp_object and A are added "render_objects" list according below process
    -> _evas_render_phase1_object_process(e_comp_object)
        ->e_comp_object cahnged, and it is smart object and mapped ,
             so map_not_can_map=1 & obj_changed=1;
        ->_evas_render_phase1_object_mapped(e_comp_object)
           ->_evas_render_phase1_object_process(A)
             ->_evas_render_phase1_object_changed_normal(A)

step3: _evas_render_phase1_direct function
      -> 400X400 is added into rende area by e_comp_object's render pre function
      -> 800X800 is removed and 100X100 is added by evas_object_image_render_pre(A)

The problem is 800X800 is removed because
   o->pixels->pixel_updates=1   by update_add function.
   inside that condition evas_render_update_del(800X800)

I think evas update rect should not be affectey by render area related with inside map.

if image object's parent is mapped, image object will be rendered whole area in map render code,
I add code to check this

@tizen_only

Change-Id: Id0f3f56a3602481fa9d5761d922f89a107c7d397
Signed-off-by: Jiyoun Park <jy0703.park@samsung.com>
5 years agotest/efl_ui_pager: add NULL checking after calloc() function 08/200208/2
Jaeun Choi [Wed, 20 Feb 2019 05:28:54 +0000 (14:28 +0900)]
test/efl_ui_pager: add NULL checking after calloc() function

Change-Id: I410043dfd759bcfaf59004ab73a632b87a76992b

5 years agoelm_spinner: check focus manager using internal button visibility 44/192244/3
Yeongjong Lee [Thu, 1 Nov 2018 10:04:10 +0000 (19:04 +0900)]
elm_spinner: check focus manager using internal button visibility

spinner should get focus even if there is no focusable button.

@tizen_fix

Change-Id: Id2aec17d1b144c3168ff2d4776543c90baa2d820

5 years agoefl_page_transition_scroll: avoid explicit null dereference 04/200204/2
Jaeun Choi [Wed, 20 Feb 2019 04:53:32 +0000 (13:53 +0900)]
efl_page_transition_scroll: avoid explicit null dereference

Change-Id: If17fe18a92f7a5dbe85e4eb68841de9f1392086e

5 years agoefl_ui_pager: change data type 03/200203/1
Jaeun Choi [Wed, 20 Feb 2019 04:29:59 +0000 (13:29 +0900)]
efl_ui_pager: change data type

Change-Id: I52a6a4c849f7a7043a259f1dcb80f02682f9e479

5 years agoefl_ui : fix infinite loop in efl_ui_exact model 96/200196/1
SangHyeon Jade Lee [Thu, 14 Feb 2019 13:50:04 +0000 (08:50 -0500)]
efl_ui : fix infinite loop in efl_ui_exact model

Summary:
the loop in infinite because of wrong condition.
need to loop while the count of list_index.

Reviewers: cedric, zmike

Subscribers: zmike, #reviewers, #committers

Tags: #efl

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

Change-Id: Id209ee3c44ec8225dd2ad6a7a07b04ad2338ce0c

5 years agoEvas_GL: fix doxygen link. 86/200086/1
Hosang Kim [Tue, 19 Feb 2019 04:39:17 +0000 (13:39 +0900)]
Evas_GL: fix doxygen link.

Change-Id: I69bc80360e2e883e455e7db16e6ce060a35dde71

5 years agoelc_fileselector: add safety code for eina value 04/200004/2
Taehyub Kim [Mon, 18 Feb 2019 06:09:15 +0000 (15:09 +0900)]
elc_fileselector: add safety code for eina value

Change-Id: I6fa5ab0b3e70cdaf250b163498866fc2b9d3bc45

5 years agopng: fixed switch-case statement to initialize a variable in every case 60/199760/2
Jaeun Choi [Tue, 15 Jan 2019 06:48:39 +0000 (15:48 +0900)]
png: fixed switch-case statement to initialize a variable in every case

Change-Id: I6313b7f0034e69d19b724a763ddeddca7a6f5dc4

5 years agoevas vg: check for OOM when calloc() 12/200012/2
Hermet Park [Mon, 18 Feb 2019 06:17:41 +0000 (15:17 +0900)]
evas vg: check for OOM when calloc()

Change-Id: I9f0b43ad7d45d8263fa8ab48dca44d43d921a07d

5 years agoevas vg: check for OOM when calloc() 11/200011/2
Hermet Park [Mon, 18 Feb 2019 06:09:44 +0000 (15:09 +0900)]
evas vg: check for OOM when calloc()

Change-Id: I665ba9dd1d1955071f75ce0d57827c830829996e

5 years agoevas vg: check for OOM when calloc() 10/200010/2
Hermet Park [Mon, 18 Feb 2019 06:07:01 +0000 (15:07 +0900)]
evas vg: check for OOM when calloc()

Change-Id: Ib80ece5e912f176e91a85cb06f1b024dafdc2bbb

5 years agoevas vg: check for OOM when calloc() 09/200009/2
Hermet Park [Mon, 18 Feb 2019 06:02:47 +0000 (15:02 +0900)]
evas vg: check for OOM when calloc()

Change-Id: I0c5f9cbc407b508e3dd7a635bd4af6298879fc9c

5 years agoevas vg: avoid integral division not to loss precision. 08/200008/2
Hermet Park [Mon, 18 Feb 2019 05:53:09 +0000 (14:53 +0900)]
evas vg: avoid integral division not to loss precision.

Change-Id: I887043a78cc03202ec72e9da155440f6d89f1543

5 years agoevas vg: use strncpy() instead of strcpy() for better security. 07/200007/2
Hermet Park [Mon, 18 Feb 2019 05:47:14 +0000 (14:47 +0900)]
evas vg: use strncpy() instead of strcpy() for better security.

Change-Id: I950e52cd82ea92a644be4237a0f0724dafa3f504

5 years agoevas main: check for OOM when calloc(). 06/200006/2
Hermet Park [Mon, 18 Feb 2019 05:35:27 +0000 (14:35 +0900)]
evas main: check for OOM when calloc().

Change-Id: I091396e3dea3a48c0f3c2ff3460b2a1a1a2868db

5 years agoefl_io_model: fix not to cause memory overflow by strcpy 86/199986/2
Jaehyun Cho [Mon, 18 Feb 2019 04:48:39 +0000 (13:48 +0900)]
efl_io_model: fix not to cause memory overflow by strcpy

Since the destination string size is EINA_PATH_MAX, the string is copied
up to EINA_PATH_MAX size.

Change-Id: Ibc0c9b830af3b0befd648cea3dd3288212358ec1

5 years agoeo: fix to remove unreachable loop 84/199984/2
Jaehyun Cho [Mon, 18 Feb 2019 04:24:27 +0000 (13:24 +0900)]
eo: fix to remove unreachable loop

Change-Id: Ia8c0b3329faba15b699c3329377ee8c299b6af15

5 years agoeo: fix to handle null eo pointer case 83/199983/1
Jaehyun Cho [Mon, 18 Feb 2019 04:21:49 +0000 (13:21 +0900)]
eo: fix to handle null eo pointer case

Change-Id: I5da82c97b6c84fb79ea3f6c1476843dc236e0967

5 years agoecore_con: Fix potentional problems around ecore_con 00/199900/1
Wonki Kim [Wed, 13 Feb 2019 04:06:36 +0000 (04:06 +0000)]
ecore_con: Fix potentional problems around ecore_con

non-thread safe functions are used like rand(), strerror().
this patch replace them with thread safe one.
and also this patch contains a change to fix a memory leak problem.

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

Change-Id: Ibfa8cbdef468666c738ebd4d7ca725c2bd06dd05

5 years agoecore_wl2: replace strcpy with strncpy 99/199899/1
Wonki Kim [Wed, 13 Feb 2019 15:43:23 +0000 (10:43 -0500)]
ecore_wl2: replace strcpy with strncpy

Summary: this patch replaces a volnerable function with a safer one.

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I7e83ba8c07dd3dfab892e67f00582c1692d802e7

5 years agoecore_evas: fix a potentional deref after null problem 98/199898/1
Wonki Kim [Wed, 13 Feb 2019 15:42:24 +0000 (10:42 -0500)]
ecore_evas: fix a potentional deref after null problem

Summary:
this patch modify a logic to return after,
failing to call eore_evas_buffer_allocfunc_new function.

Reviewers: Hermet, bu5hm4n, cedric, devilhorns

Reviewed By: devilhorns

Subscribers: #reviewers, #committers

Tags: #efl

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

Change-Id: I7a7d294b7fc023de052d03dcd7bc3ccf2e917c8a

5 years agoeet_dictionary: remove dead code 17/199817/2
Jaehyun Cho [Wed, 13 Feb 2019 07:59:46 +0000 (07:59 +0000)]
eet_dictionary: remove dead code

If index value is not -1, then eet_dictionary_string_add() returns.
Therefore, it does not need to check the index value after that.

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

Change-Id: I2fe87bb4e30fa705b243a88e181615c68d4090b2

5 years agoeet_dictionary: remove dead code 62/199862/2
Jaehyun Cho [Wed, 13 Feb 2019 07:59:46 +0000 (07:59 +0000)]
eet_dictionary: remove dead code

If index value is not -1, then eet_dictionary_string_add() returns.
Therefore, it does not need to check the index value after that.

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

Change-Id: I7181d02df14c96287760d8f266a866471b125435

5 years agoedje: add missing NULL checks 57/199857/2
Jaeun Choi [Wed, 13 Feb 2019 10:38:48 +0000 (19:38 +0900)]
edje: add missing NULL checks

Change-Id: I8c5b6c798bcb5356275443bf097281466b9d5479
Signed-off-by: JunsuChoi <jsuya.choi@samsung.com>
5 years agoedje: add missing NULL check 55/199855/1
Jaeun Choi [Wed, 13 Feb 2019 07:15:57 +0000 (16:15 +0900)]
edje: add missing NULL check

Change-Id: Ia34598789cd1a57678c143fa81e466b5bb8d704c
Signed-off-by: JunsuChoi <jsuya.choi@samsung.com>
5 years agoevas json: Load mask property from rlottie. 80/199380/2
JunsuChoi [Mon, 11 Feb 2019 05:07:01 +0000 (14:07 +0900)]
evas json: Load mask property from rlottie.

Summary:
   Load the mask information of the layer for implement the mask feature.
   The mask shape is transformed into a EFL_CANVAS_VG_CONTAINER and used like a matte.
   The mask interface uses the option implemented for matte temporarily.

Test Plan: N/A

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, SanghyeonLee, #reviewers, smohanty, #committers

Tags: #efl

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

Change-Id: I69830d0675ee2ec236fcac3c643323619581ef21

5 years agoelm_code_file: remove redundant code 93/199593/2 accepted/tizen/unified/20190218.063900 submit/tizen/20190215.002439
Jaehyun Cho [Wed, 13 Feb 2019 06:47:38 +0000 (15:47 +0900)]
elm_code_file: remove redundant code

EINA_SAFETY_ON_NULL_RETURN_VAL(code, NULL) returns NULL if the variable
"code" is NULL.
Therefore, the redundant NULL checking code is removed.

Change-Id: I15f1e02e45d612b62498543e11f234349cfafc9e

5 years agoRevert "elm_config: fix elm_config_save not to wake idle processes up" 27/199727/1
Marcel Hollerbach [Wed, 13 Feb 2019 11:30:00 +0000 (12:30 +0100)]
Revert "elm_config: fix elm_config_save not to wake idle processes up"

This reverts commit 8b0b9ed2819588fbf81299b784a600c6ac7ccd13.

There have been issues with this commit, for further informations,
please see https://phab.enlightenment.org/D7354 for more details.

Change-Id: Ia70a1eb5f06e178bd3c28ddef13eeab4d20dee01

5 years agogbs: give a customized tag to gbs explicitly 48/199448/4
Wonki Kim [Mon, 11 Feb 2019 10:45:35 +0000 (19:45 +0900)]
gbs: give a customized tag to gbs explicitly

gbs build system manages a target source coude incrementally, which means
it loads a clean source that is imported from upstream,
then applies patches from the imported commit to HEAD commit over the clean source every time.

to reduce time to apply huge amount of patches,
this patch gives HEAD as tag to gbs build system.

Change-Id: Iee39e7e315319d6ce11631c9038de06277999570
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
5 years agospec: refactoring spec file 37/199637/2
Wonki Kim [Wed, 30 Jan 2019 05:18:58 +0000 (14:18 +0900)]
spec: refactoring spec file

this patch contains changes for preparing of landing Meson build system,
cleaning up definitions.

Change-Id: I5c258fc2eabd417970cd47ebad92eddc08cd5aba

5 years agoecore_wl2: replace non-thread safe call with thread safe one 91/199591/2
Wonki Kim [Wed, 13 Feb 2019 07:05:05 +0000 (16:05 +0900)]
ecore_wl2: replace non-thread safe call with thread safe one

this patch replaces non-thread safe call 'strerror' with
thread safe one 'eina_error_msg_get'

Change-Id: Idfc38bbfad547eead6d95dfd0ce33d3d4def8852

5 years agoecore_evas: Fix a potenional null dereferencing problem 56/199556/2
Wonki Kim [Wed, 13 Feb 2019 04:39:26 +0000 (13:39 +0900)]
ecore_evas: Fix a potenional null dereferencing problem

there is a potentional problem while comparing strings.
this patch fixes it.

Change-Id: I47683300cc8e49d8450cb20590749d98c4257ba2
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
5 years agoHandling failed memory allocation 39/198739/2
Myoungwoon Roy, Kim [Tue, 29 Jan 2019 06:02:59 +0000 (15:02 +0900)]
Handling failed memory allocation

Change-Id: I9785d708d9d4024318edbdbf17c53cede792f5a5

5 years ago evas_image: fix pixels_dirty_set(False) makes wrong object-change-list. 85/198785/2
Jiyoun Park [Tue, 29 Jan 2019 12:05:40 +0000 (21:05 +0900)]
evas_image: fix pixels_dirty_set(False) makes wrong object-change-list.

    Summary:
    evas_object_image_pixels_dirty_set(img B, False) means
    1. app want to mark image object's data is not dirty anymore
    2. app don't want to be called get_pixels callback.

    that does not mean image need to be redraw.

    evas_object_image_pixels_dirty_set(img B, True) means
    1. image object's data is dirty, so image object need to be redraw.
    2. app want to be called get_pixels callback.

    but pixels_dirty_set(img B, FALSE) function also set o->changed to true,
    it cause problem related with rendering

    Below case is the example of problem.

    1. Smart object A
    2. Child image object B
    3. app call pixels_dirty_set(FALSE) inside pixels_get_callback
       pixels_get_callback is called inside the image object B's rendering.

    enlightenment's e_comp_object_render do upper job.

    After adding preload fetch,
    evas_object_image_render_post can call evas_object_change.

    https://phab.enlightenment.org/D7157

    evas_render_updates_internal

    0. enlightenment call evas_object_image_pixels_dirty_set(img B, TRUE)
       o->changed = 1;
       evas_object_change(img B)
    1. smart obj A is in render_objects
    2. evas_object_image_render_pre B, o->change=0
    3. evas_render_mapped (Smart A)
         3-1. evas_render_mapped (img B)
             : enlightenment call evas_object_image_pixels_dirty_set(img B, False)
             : o->changed=1

         3-2. evas_object_change_reset(img B)
    4. pending_change(img B)
         4-1. evas_object_image_render_post(img B)
              o->changed=1 (3-1 step) evas_object_change(img B)->evas_object_change(Smart A)

    5. render_post_reset
       smart A is chaged(4-1 step), so, called   evas_object_change_reset(Smart A)
       ###smart A is reset(5 step), img B is changed(4-1 step). after this case,
        img B never get change to be redraw.

    Reviewers: Hermet, cedric

    Subscribers: #reviewers, #committers

    Tags: #efl

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

   commit 7beadd49e50a495bd30d34362050513ae132298c
   Author: Jiyoun Park <jy0703.park@samsung.com>
   Date:   Tue Jan 29 20:51:08 2019 +0900

Change-Id: I2da052e327473fd26e60e9d293b3736960b60108

5 years agogenlist: fix wrong returns in window tooltip set. 26/199526/1 accepted/tizen/unified/20190214.060613 submit/tizen/20190213.001307 submit/tizen/20190213.060634 submit/tizen/20190213.062652
SangHyeon Jade Lee [Tue, 12 Feb 2019 11:09:20 +0000 (20:09 +0900)]
genlist: fix wrong returns in window tooltip set.

tooltip_window_mode_set returns input disable value not a successibility of API actions.
when user set window_mode to false, it must return false regardless of item view existence.

this patch is port of uptream patch D7912

Change-Id: Iee4ee1c522005f6087ef6bfba7f1628b834834ac

5 years agobuild: next attempt to fix build race condition submit/tizen/20190211.061543
Marcel Hollerbach [Thu, 7 Feb 2019 14:35:58 +0000 (15:35 +0100)]
build: next attempt to fix build race condition

the source should be used in the dependency. However, only the generated
header source, not the .c files or we will get duplicated sources.

This is another attempt to fix the build OSX travis failure

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7896

5 years agoefl-mono: Turn printfs into debug messages.
Lauro Moura [Fri, 8 Feb 2019 10:55:58 +0000 (11:55 +0100)]
efl-mono: Turn printfs into debug messages.

Summary: Cleaner output by default.

Test Plan: Run examples and tests

Reviewers: segfaultxavi, vitor.sousa

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoeo: lets drop efl_interfaces
Marcel Hollerbach [Thu, 7 Feb 2019 13:44:18 +0000 (14:44 +0100)]
eo: lets drop efl_interfaces

its not required anymore, our wonderfull new syntax solves the original
problem it was trying to solve.

fixes T7565

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

5 years agoefl_ui_text: s/ELM_SEL_FORMAT_IMAGE/EFL_UI_SELECTION_FORMAT_IMAGE/g
Mike Blumenkrantz [Thu, 7 Feb 2019 17:59:41 +0000 (12:59 -0500)]
efl_ui_text: s/ELM_SEL_FORMAT_IMAGE/EFL_UI_SELECTION_FORMAT_IMAGE/g

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_widgets

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

5 years agoefl: Change non required constructors to @optional.
Lauro Moura [Thu, 7 Feb 2019 17:02:21 +0000 (18:02 +0100)]
efl: Change non required constructors to @optional.

Summary:
These constructors aren't checked for in the finalize step of the
initialization and may be given the @optional tag.

For C# this means they can be ommitted from the constructor call.

This also adds `Efl.Ui.View.model` as a constructor of
`Efl.Composite_Model` as the finalizer checks for it.

Fixes T7673

Test Plan: make check

Reviewers: segfaultxavi, zmike, bu5hm4n, cedric, felipealmeida

Reviewed By: segfaultxavi, cedric

Tags: #efl, #do_not_merge

Maniphest Tasks: T7673

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

5 years agoeo: here comes reflection API
Marcel Hollerbach [Tue, 5 Feb 2019 14:40:41 +0000 (15:40 +0100)]
eo: here comes reflection API

this adds support in eo to generate a reflection API. To get the actaul
reflection to the klass, the API efl_class_reflection_table_set needs to
be called, the table in the end can be generated by eolian. Reflection
API is inherited by the extended class. This means, if you have two
reflection tables, first, the most upperst is called, then the next
lower one is called.

For now this API accepts NULL setter or getter, and will ignore them
silently when they are called.

fix T7681

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