platform/upstream/efl.git
4 years agoefl_ui_spotlight_manager_stack: fix positioning
Marcel Hollerbach [Tue, 3 Dec 2019 11:00:20 +0000 (12:00 +0100)]
efl_ui_spotlight_manager_stack: fix positioning

we also need to reemit the position of current active element. Otherwise
the indicator will display a wrong value.

This is already done in any other spotlight manager.

fixes T8499

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

4 years agoefl_ui_spotlight_container: reverse push and pop semantics
Marcel Hollerbach [Tue, 3 Dec 2019 10:48:56 +0000 (11:48 +0100)]
efl_ui_spotlight_container: reverse push and pop semantics

before this commit, push would add before the current element, pop would
return to the next higher element.
after this commit, push would add after the current element, pop would
return to the previous element.

ref T7991

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

4 years agoeina - threadqueue - revert series of comments that moved to mempools
Carsten Haitzler (Rasterman) [Tue, 3 Dec 2019 09:18:35 +0000 (09:18 +0000)]
eina - threadqueue - revert series of comments that moved to mempools

Revert "eina: remove no longer used function _eina_thread_queue_msg_block_real_free"
This reverts commit 695b44526c968787374fd421327422a6eea710a7.

Revert "eina/threadqueue: use mempool_del for hash free function"
This reverts commit b0cb3b935a8faf2d67bae38a54683946cb01d0b9.

Revert "eina_thread_queue: use normal mempools for block allocation"
This reverts commit 14ae3e3dec7866e74f2990dca417eac44da41058.

Why? Threadqueue is a highly performance sensitive API.
_eina_thread_queue_msg_block_new() may be called quite often. Doing a
hash lookup to then find a mempool handle to then allocate from was
not the same as what was there and was going to be far more costly.
This would have actual performance impact as we have to compute a hash
and rummage through a hash, hunt for an environment var too. The
original code looked at a spare block pool where blocks *MAY* be of
different sizes (not always the same size so using a mempool is
actually wrong and will stop threadqueue from being able to send
larger messages at all). If you send large messages, larger blocks would
have been allocated and put in this pool. In almost all cases the first
item in the pool would be big enough so we don't hunt and the find pulls
out the first memory, resets the fields that are needed and returns that
block. If it needs a bigger one, it does hunt. This is going to be
rare that such big blocks are needed so I never tried to optimize this
(but it could be done with an array of sizes to make a walk to find
the right sized element cheap if the need arises).

Performance dropped quite a lot. On aarch64 The above mempool usage
dropped message rate from 1037251 msg/sec to 610316. On x86 it was even
worse. It dropped from 2815775 msg/sec to 378653.

So backing this out sees the message rate is 7.4 times faster and on
aarch64 it's 1.7 times faster.

So moving to a mempool was actually just wrong (size is not always the
same). Also this ended up with a mempool of 64k for thread queue blocks even
if we only sent messages sporadically, as opposed to a single 4kb
block. So backing this out saves memory by only having 1 or 2 4k blocks
around most of the time, not a 64k mempool.

So the above patch then follow-on patches were done without accounting
for the performance implications. There were good reasons to do what I
did - because this code was highly tuned even to the point where I
used atomics instead of locks specifically to cut down some contention
overhead. Beware when you change something that there may be steep
performance implications. 7.4 times faster to go back to what was
there is a great example.

4 years agoelementary_test: remove duplicated file
Stefan Schmidt [Thu, 28 Nov 2019 14:39:43 +0000 (15:39 +0100)]
elementary_test: remove duplicated file

This file is identical with test_naviframe.c and has no reference in our
build system. Found by the use of the Duplo duplicated code checker
tool.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10777

4 years agogesture_manager: Changed function param to reduce internal function calls.
Woochanlee [Tue, 3 Dec 2019 07:14:29 +0000 (07:14 +0000)]
gesture_manager: Changed function param to reduce internal function calls.

The filter_event function calling a lot of times when it runs.

This can help performance by reducing the number of calls to the efl_data_scope_get() function.

Reviewed-by: Hermet Park <hermetpark@gmail.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10437

4 years agoecore_con: fix double close fd 04/218104/5
Hosang Kim [Tue, 19 Nov 2019 09:33:14 +0000 (18:33 +0900)]
ecore_con: fix double close fd

sometimes socket fd is closed twice.

@tizen_only

Change-Id: Ieb2c3e982160d10e6bd0333c82df4af34b0e1d18

4 years agocsharp: Simplify field_argument_assignment submit/tizen/20191202.210542
Lauro Moura [Mon, 2 Dec 2019 19:23:29 +0000 (16:23 -0300)]
csharp: Simplify field_argument_assignment

Summary: Avoid extra generator calls.

Reviewers: jptiz

Reviewed By: jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agofix jpeg loading which freed the wrong ptr
Carsten Haitzler (Rasterman) [Mon, 2 Dec 2019 19:53:31 +0000 (19:53 +0000)]
fix jpeg loading which freed the wrong ptr

fixes T8497
@fix

4 years agotests/ecore_wl2: Fix bad window test
Chris Michael [Mon, 2 Dec 2019 17:39:55 +0000 (12:39 -0500)]
tests/ecore_wl2: Fix bad window test

Small patch to fix issue where merge of patch did not go so well, and
thus caused Coverity to report an issue where window was not being
initialized.

ref T8016

fixes CID1408311

4 years agointroduce efl_ui_{pager/scroller}
Marcel Hollerbach [Mon, 2 Dec 2019 15:25:36 +0000 (16:25 +0100)]
introduce efl_ui_{pager/scroller}

They are just helpers, so a user does not need to handcreate spotlight
managers. This also leaves us the possibility of letting
spotlight_managers beeing @beta.

ref T7991

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

4 years agoefl_ui_test_spotlight: check correct transitions without animation
Marcel Hollerbach [Thu, 28 Nov 2019 18:31:04 +0000 (19:31 +0100)]
efl_ui_test_spotlight: check correct transitions without animation

this introduces the test requested in D10701. And checks that all
signals are correctly delivered even if animations are frozen

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

4 years agoefl_ui_spotlight_container: bring in min / max handling
Marcel Hollerbach [Thu, 28 Nov 2019 16:13:07 +0000 (17:13 +0100)]
efl_ui_spotlight_container: bring in min / max handling

the spotlight now is setting the overall correct min and max size on
itself. Additionally, the page size is now clamped to the size of the
container.

Correct min size of the container is defined to the MAX min size of all
the content.
The correct max size of the container is defined to the MIN max size of
all the content.

ref T7991

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

4 years agoefl_ui_spotlight: do not inherit from layout anymore
Marcel Hollerbach [Wed, 27 Nov 2019 17:34:40 +0000 (18:34 +0100)]
efl_ui_spotlight: do not inherit from layout anymore

before we inherited from layout, however the theme of the layout was
basically just the event part, and the holder part for the indicator.
The indicator part is going to be refactored into something else
anyways, since the indicator should be useable on other widgets as well.
Which means, only the event part is left, which is only used by the
scroller spotlight manager, (and now moved there).

With the move from this away we are saving round about 0.2KB of pure
edje accounting. Additionally, we are saving in perf 4% that is spend in
_efl_canvas_layout_efl_gfx_entity_size_set, which also makes this less
CPU intensive when resizing (Or even just starting is also enough).

ref T7991

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

4 years agoefl_ui_spotlight_indicator: make this undependend from the main widget
Marcel Hollerbach [Wed, 27 Nov 2019 17:30:00 +0000 (18:30 +0100)]
efl_ui_spotlight_indicator: make this undependend from the main widget

the main widget before presented a layout to hold the indicator,
however, for the causual case, this is not really needed. The indicator
itself is anyways going to be a more general prupose widget soon, where
the layout here can be taken as an starting point.

Additionally, this fixes general displaying of the indicator, before the
box padding refactor, a padding would have changed the minsize of the
mix, this is not the case anymore, which forces us to calculate the
minsize of the indicator theme.

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

4 years agoefl_ui_spotlight: move event rectangle
Marcel Hollerbach [Wed, 27 Nov 2019 16:04:24 +0000 (17:04 +0100)]
efl_ui_spotlight: move event rectangle

for now the eventrect was a swallow part, created by the container, set
to the edje layout. However, the only real user for this is the scroll
spotlight manager.
Which means, we have mostly unneeded element resized by edje, which is
quite an overhead. With this commit, this is moved to the scroll
manager, which makes the usage with stack and plain less memory heavy.

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

4 years agoefl_ui_spotlight: ensure correct positioning
Marcel Hollerbach [Wed, 27 Nov 2019 15:29:37 +0000 (16:29 +0100)]
efl_ui_spotlight: ensure correct positioning

if something is just repositioned, but not resized, it would not have
been placed correctly. This fixes that.

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

4 years agoefl_canvas_text: documentation for style set
Ali Alzyod [Mon, 2 Dec 2019 09:41:35 +0000 (10:41 +0100)]
efl_canvas_text: documentation for style set

Summary:
Depends on D10607

Original Material: https://www.enlightenment.org/_legacy_embed/evas_textblock_style_page.html

Reviewers: woohyun, segfaultxavi, AbdullehGhujeh

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_part: declare stable
Marcel Hollerbach [Mon, 2 Dec 2019 15:29:35 +0000 (16:29 +0100)]
efl_part: declare stable

Summary:
last release we declared efl_part.eo stable. But we accidently forgot
efl_part()...

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests/ecore_wl2: Add test for ecore_wl2_window_aspect functions
Woochanlee [Mon, 2 Dec 2019 13:51:49 +0000 (08:51 -0500)]
tests/ecore_wl2: Add test for ecore_wl2_window_aspect functions

Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_aspect functions

ref T8016
ref D10743

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

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

4 years agoecore_wl2: Add APIs to get window properies.
Woochanlee [Mon, 2 Dec 2019 13:50:23 +0000 (08:50 -0500)]
ecore_wl2: Add APIs to get window properies.

Summary: Creates APIs to get property.

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoRevert "Revert "evas map: diable high quality texture mapping feature.""
Hermet Park [Mon, 2 Dec 2019 11:40:28 +0000 (20:40 +0900)]
Revert "Revert "evas map: diable high quality texture mapping feature.""

This reverts commit 94c193e40b3111664344bf41beb22006bfab2670.

4 years agoeolian_gen: fix fallback 0 default values for slices
Daniel Kolesa [Mon, 2 Dec 2019 11:06:34 +0000 (12:06 +0100)]
eolian_gen: fix fallback 0 default values for slices

4 years agoeolian: emit correct c_name for keyword builtins
Daniel Kolesa [Mon, 2 Dec 2019 11:06:11 +0000 (12:06 +0100)]
eolian: emit correct c_name for keyword builtins

4 years agoeolian_aux: do not leak
Marcel Hollerbach [Mon, 2 Dec 2019 07:53:24 +0000 (08:53 +0100)]
eolian_aux: do not leak

4 years agoefl_canvas_text: correct password behaviour with efl_text_password_get/set
Ali Alzyod [Mon, 2 Dec 2019 01:56:12 +0000 (10:56 +0900)]
efl_canvas_text: correct password behaviour with efl_text_password_get/set

Summary:
In simple words:

when we create efl_canvas_text object,   efl_text_password_get will return TRUE.
which is wrong,
efl_text_password_get should  return FALSE, unless user change the password using   efl_text_password_set

Reviewers: woohyun, zmike, segfaultxavi, tasn

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje - min calc - ix more regressions due to optimizations
Carsten Haitzler (Rasterman) [Sun, 1 Dec 2019 22:56:15 +0000 (22:56 +0000)]
edje - min calc - ix more regressions due to optimizations

again 37b55172b0d46d71f772af8fba17e1fb1b7c6c2c broke min size calc.
this time it was for mouse cursors. the entry cursor was 0 sized after
commit 37b55172b0d46d71f772af8fba17e1fb1b7c6c2c. this disables the
"don't cacle if its 0 sized) which isnt a valid thing to skip - you
caqn min size calc a 0x0 edje ... and it should then return a valid
min size given that design/layout.

4 years agoedje json: ++exception handling. 18/219118/1
Kunal Sinha [Mon, 2 Dec 2019 06:28:53 +0000 (15:28 +0900)]
edje json: ++exception handling.

Change-Id: I7e7ff93c05cc92dde00c701e79b6e5e69a174128

4 years agogengrid: ++security code. 14/219114/3
Kunal Sinha [Mon, 2 Dec 2019 06:22:16 +0000 (15:22 +0900)]
gengrid: ++security code.

snprintf() is safter than sprintf() at memory buffer overflow.

Change-Id: Ied4dcb035608eb96c5ba897795e70d3922951276

4 years agoefl_wearable: fix symbol link error 07/219107/2
Hosang Kim [Fri, 29 Nov 2019 12:55:59 +0000 (21:55 +0900)]
efl_wearable: fix symbol link error

Some APIs are not linked, because of the order in which header files are
declared.

Change-Id: If118ca27cc5c2b55f53c5172a53d0844ebcdf6dc

4 years agovector cache: skip animation update as possible. 58/218858/2
Hermet Park [Fri, 29 Nov 2019 02:18:15 +0000 (11:18 +0900)]
vector cache: skip animation update as possible.

Since the vector file data is shareable among the multiple vg instances,
vfd could keep the requested frame data already by the other instance.

This case vector cache quickly return the vector data withouth any further progress.

Change-Id: Ibea9833b56018602f6447da51fc8b62e4649f592

4 years agoevas vector: operate cached vector file data per evas instances. 57/218857/2
Hermet Park [Fri, 29 Nov 2019 01:48:59 +0000 (10:48 +0900)]
evas vector: operate cached vector file data per evas instances.

each vfd loaders construct vector tree data, these can be belongs to evas instance,
they are not likely shareable.

We should operate vfd separately.

Change-Id: Ib1a4cb07cc94815e1f5a7c8aeac4437e69d98bc2

4 years agoicon_dummy: replace existing image. submit/tizen/20191201.211113
Alastair Poole [Sun, 1 Dec 2019 15:45:39 +0000 (15:45 +0000)]
icon_dummy: replace existing image.

This icon is used whenever an icon cannot be found. It's most
commonly found within E itself. The previous iteration has been
with us since at least Black and White (theme), which is pre
E17. Tried to keep it simple yet informative.

4 years agoeo files: Avoid container<ptr(value_type)> usage.
Lauro Moura [Fri, 29 Nov 2019 13:48:09 +0000 (10:48 -0300)]
eo files: Avoid container<ptr(value_type)> usage.

Summary:
Value types are already assumed to be stored by pointer (e.g.
`int val = *(node->data);`)

This commit just changes the current usage of the `ptr` modifier in the
ptr, not affecting the parser.

Reviewers: q66, segfaultxavi, bu5hm4n, felipealmeida

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers, brunobelo

Tags: #efl

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

4 years agotests/ecore_wl2: Add test for ecore_wl2_window_available_rotations functions
Woochanlee [Fri, 29 Nov 2019 13:55:19 +0000 (08:55 -0500)]
tests/ecore_wl2: Add test for ecore_wl2_window_available_rotations functions

Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_available_rotations functions

ref T8016

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

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

4 years agoelementary: stabilize Efl.Ui.Relative_Container
Yeongjong Lee [Fri, 29 Nov 2019 09:43:23 +0000 (10:43 +0100)]
elementary: stabilize Efl.Ui.Relative_Container

Summary: ref T8380

Reviewers: segfaultxavi, woohyun, zmike, bu5hm4n, cedric

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8380

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

4 years agohere comes a new example
Marcel Hollerbach [Wed, 18 Sep 2019 19:47:08 +0000 (21:47 +0200)]
here comes a new example

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

4 years agoefl_ui_position_manager_grid: avoid zero division case
WooHyun Jung [Fri, 29 Nov 2019 04:15:48 +0000 (04:15 +0000)]
efl_ui_position_manager_grid: avoid zero division case

This fixes the issue of zero division when columns is zero.
Sometimes columns can be zero when "pd->viewport.w = 0".

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

4 years agovector cache: skip animation update as possible.
Hermet Park [Fri, 29 Nov 2019 02:18:15 +0000 (11:18 +0900)]
vector cache: skip animation update as possible.

Since the vector file data is shareable among the multiple vg instances,
vfd could keep the requested frame data already by the other instance.

This case vector cache quickly return the vector data withouth any further progress.

4 years agoevas vector: operate cached vector file data per evas instances.
Hermet Park [Fri, 29 Nov 2019 01:48:59 +0000 (10:48 +0900)]
evas vector: operate cached vector file data per evas instances.

each vfd loaders construct vector tree data, these can be belongs to evas instance,
they are not likely shareable.

We should operate vfd separately.

4 years agoecore_evas: Fix build warnings. 73/218973/2
Woochanlee [Fri, 29 Nov 2019 07:57:17 +0000 (16:57 +0900)]
ecore_evas: Fix build warnings.

Change-Id: I34b6261da405408a5da3b1dd4b0ae2584117a10e

4 years ago[Gengrid] Fix for circle gengrid item position calculation 78/217578/4
Suresh Kumar [Tue, 12 Nov 2019 12:37:37 +0000 (18:07 +0530)]
[Gengrid] Fix for circle gengrid item position calculation

sd->circle.enabled condition is not true for circle gengrid style.

Change-Id: I1a6cbfd69417012cfb7e63221315ab0e84c2c363
Signed-off-by: Suresh Kumar <suresh.ku1@samsung.com>
4 years agoefl_ui_win: remove beta 60/218860/2
Yeongjong Lee [Fri, 29 Nov 2019 02:34:47 +0000 (11:34 +0900)]
efl_ui_win: remove beta

Efl.Ui.Win hase been stablized on upstream.

Change-Id: I35f49c91c8b00cabbc30d1074a7d024c1e257e95

4 years agoecore_audio, ecore_buffer, ecore_wl2 : Fix build warnings. 50/218950/2
Woochanlee [Fri, 29 Nov 2019 06:51:41 +0000 (15:51 +0900)]
ecore_audio, ecore_buffer, ecore_wl2 : Fix build warnings.

Change-Id: I907a9b0a626c855129d2c424a34caf9890adf232

4 years agodocs: nitpicking submit/tizen/20191128.210553
Xavi Artigas [Thu, 28 Nov 2019 17:13:47 +0000 (18:13 +0100)]
docs: nitpicking

We should not refer to individual library names anymore. They are all
part of EFL now!

4 years agoecore_win32: fix compose event field
Vincent Torri [Thu, 28 Nov 2019 11:06:24 +0000 (11:06 +0000)]
ecore_win32: fix compose event field

Summary:
compose event field was encoded in UTF-16 and not UTF-8. Also string
event field was not correctly defined and was generating eina error
messages

Test Plan: running a test

Reviewers: raster, cedric, zmike

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

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

4 years agoEfl.Canvas.Text: Further update docs
Xavi Artigas [Thu, 28 Nov 2019 10:08:11 +0000 (11:08 +0100)]
Efl.Canvas.Text: Further update docs

4 years agoEfl.Canvas.Text: Update docs
Xavi Artigas [Thu, 28 Nov 2019 10:03:55 +0000 (11:03 +0100)]
Efl.Canvas.Text: Update docs

4 years agoci: ensure we still test ephysics in all enabled build job
Stefan Schmidt [Thu, 28 Nov 2019 07:52:22 +0000 (08:52 +0100)]
ci: ensure we still test ephysics in all enabled build job

With commit 523a64d2265c13a82ba73022d10919f0e392bab2 we switched the
default for ephysics from true to false. This would result in no CI
coverage if we do not explicitly enable it in this job.

Reviewed-by: Carsten Haitzler (Rasterman) <raster@rasterman.com>
Differential Revision: https://phab.enlightenment.org/D10757

4 years agoPolish text interface methods
Ali Alzyod [Thu, 28 Nov 2019 07:55:26 +0000 (16:55 +0900)]
Polish text interface methods

Summary:
This patch is set to rename some properties of `Efl.Text_Font` & `Efl.Text_Format` interfaces.

1- efl_text_font_set/get become (efl_text_font_family_set/get, efl_text_font_size_set/get)

2- efl_text_valign/halign   become efl_text_vertical/horizontal_align

3- efl_text_halign_auto_type  become  efl_text_horizontal_align_auto_type

Reviewers: ali.alzyod, woohyun, segfaultxavi, bu5hm4n, zmike, cedric

Reviewed By: woohyun

Subscribers: zmike, #committers, #reviewers, cedric

Tags: #efl

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

4 years agoEfl Canvas Text : Update style parsing code
abdulleh Ghujeh [Thu, 28 Nov 2019 07:46:30 +0000 (16:46 +0900)]
Efl Canvas Text : Update style parsing code

Summary:
Based on comments in D10607

Update code responsible for parsing "style=" :

-Update string parsing code
-Make the old and new code more readable
-Add tests

Reviewers: segfaultxavi, bu5hm4n, woohyun, ali.alzyod

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

4 years agovector container: skip only for composition types.
Hermet Park [Thu, 28 Nov 2019 06:04:56 +0000 (15:04 +0900)]
vector container: skip only for composition types.

4 years agoevas vector: make it stable caching logic.
Hermet Park [Thu, 28 Nov 2019 04:38:32 +0000 (13:38 +0900)]
evas vector: make it stable caching logic.

We need a more precise caching mechanism to save memory.
Current root node(key) is limited for caching buffers,
when to share by the multiple animated instances.

This patch is a step for further optmization work,
at the moment we disable the caching buffers for the animated instances.

Change-Id: Ifda143d24bd10bb991a0c15c7d165cb6eef5bf14

4 years agoEfl Canvas Text : Modify Style Property
abdulleh Ghujeh [Thu, 28 Nov 2019 04:14:15 +0000 (13:14 +0900)]
Efl Canvas Text : Modify Style Property

Summary:
This patch defines the way style property will work at canvas_text object

1- Changing canvas_text style property using Font/Format/Style interfaces or with efl_canvas_text style property are the same.
     Example:

```
efl_text_font_set(tb, "Arial", 30);
//is same as
efl_canvas_text_style_set(tb, "font=Arial font_size=30");

//which means calling
char * font;
int size;
int font_size;
efl_text_font_get(tb, &font, &size);
// calling this after any of the top two functions will return same result
```

2- style_get_property
     Will return string that contains full details about all the current applied style at canvas_text  level.

3- style_set_property
     Will only override passed styles and leave everything else as it is

```
efl_canvas_text_style_set(tb, "font=Arial");  // overrider font name to Arial and leave everthing else
efl_canvas_text_style_set(tb, "font_size=30");  // overrider font size to 30 and leave everthing else (font name will stay arial)
```

Reviewers: ali.alzyod, woohyun, tasn, segfaultxavi, bu5hm4n, zmike

Reviewed By: woohyun

Subscribers: zmike, bu5hm4n, segfaultxavi, a.srour, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje - fix min size calc after being broken by previous commit
Carsten Haitzler (Rasterman) [Thu, 28 Nov 2019 00:06:15 +0000 (00:06 +0000)]
edje - fix min size calc after being broken by previous commit

37b55172b0d46d71f772af8fba17e1fb1b7c6c2c breaks min size calc. elm
toolbar was being squashed. e toolbars also were becoming 0 sized.
Just because a swallow does not have content does not mean it does not
affect the minimum size. there still could be a min size set on it
anyway etc. ...

4 years agoevas vector: make it stable caching logic. 77/218777/1
Hermet Park [Thu, 28 Nov 2019 04:38:32 +0000 (13:38 +0900)]
evas vector: make it stable caching logic.

We need a more precise caching mechanism to save memory.
Current root node(key) is limited for caching buffers,
when to share by the multiple animated instances.

This patch is a step for further optmization work,
at the moment we disable the caching buffers for the animated instances.

Change-Id: Ifc17f5ff55d84b1c158f7d1f3b2bf1f2bfacc76c

4 years agobuild: turn on glib integration accepted/tizen/unified/20191128.161934 submit/tizen/20191127.214927
Jongmin Lee [Wed, 27 Nov 2019 21:37:08 +0000 (06:37 +0900)]
build: turn on glib integration

Change-Id: I854da8b709e9a5bde7a3490cf3b3b96abd5ce751

4 years agobuild - handle g-main-loop enabled when glib not as an error in meson
Carsten Haitzler (Rasterman) [Wed, 27 Nov 2019 17:47:55 +0000 (17:47 +0000)]
build - handle g-main-loop enabled when glib not as an error in meson

also enable glib now in ci

4 years agobuild - experiment - turn off glib integration by default
Carsten Haitzler (Rasterman) [Sun, 24 Nov 2019 11:32:34 +0000 (11:32 +0000)]
build - experiment - turn off glib integration by default

i wany to see if this breaks anything for regular efl use on regular
platforms... one way to figure it out is disable it by default and
see...xs

4 years agobuild - as per edd 2019 - make e physics off by default
Carsten Haitzler (Rasterman) [Sun, 24 Nov 2019 11:31:07 +0000 (11:31 +0000)]
build - as per edd 2019 - make e physics off by default

4 years agoeina - add portable close all fd's we don't need function
Carsten Haitzler (Rasterman) [Wed, 20 Nov 2019 08:43:26 +0000 (08:43 +0000)]
eina - add portable close all fd's we don't need function

close all fd's starting at a given fd and then leving out an exception
list specially passed, if any. useful for fork+exec. this uses it in
efl's fork+exec paths.

@feat

4 years agoremove unused code file
Marcel Hollerbach [Wed, 20 Nov 2019 16:06:58 +0000 (17:06 +0100)]
remove unused code file

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10707

4 years agotheme: rename pager to spotlight
Marcel Hollerbach [Wed, 20 Nov 2019 16:05:10 +0000 (17:05 +0100)]
theme: rename pager to spotlight

that mirrors the name of the widget.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10706

4 years agotheme: remove unused parts
Marcel Hollerbach [Wed, 20 Nov 2019 16:02:37 +0000 (17:02 +0100)]
theme: remove unused parts

they seem totally useless, no idea why they are there.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10705

4 years agoefl_ui_spotlight_manager_*: remove size and position events
Marcel Hollerbach [Wed, 20 Nov 2019 15:58:27 +0000 (16:58 +0100)]
efl_ui_spotlight_manager_*: remove size and position events

there is no need to listen to them, they are already listent to by the
container, and new sizes are told via the size property.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10704

4 years agoelm_test: make spotlight test check boxes work again
Marcel Hollerbach [Wed, 20 Nov 2019 15:54:08 +0000 (16:54 +0100)]
elm_test: make spotlight test check boxes work again

when we refactored check boxes, cases that used unified events on legacy
obejcts broke, which is okay. So the usage needed fixing.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10703

4 years agoefl_ui_spotlight_manager: remove the group object
Marcel Hollerbach [Wed, 20 Nov 2019 15:45:45 +0000 (16:45 +0100)]
efl_ui_spotlight_manager: remove the group object

i do not know why its there, it caused a bug in the past (in regards of
clippers and visibility). Now we can get rid of it completly, the state
of it is always compatible to the one of the widget itself, soooo ...

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10702

4 years agoefl_ui_spotligt: make it possible to freeze animations
Marcel Hollerbach [Wed, 20 Nov 2019 15:16:22 +0000 (16:16 +0100)]
efl_ui_spotligt: make it possible to freeze animations

this new API makes it possible to stop animations beeing executed in the
spotlight manager. (The logic in the spotlight managers itself are
already implemented).
The animation will also be frozen during construction time of the
spotlight.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10701

4 years agoRevert "gesture_manager: Changed function param to reduce internal function calls."
Marcel Hollerbach [Wed, 27 Nov 2019 10:45:46 +0000 (11:45 +0100)]
Revert "gesture_manager: Changed function param to reduce internal function calls."

This has still open review comments, lets solve them, and *then* land
it.

This reverts commit 2f41f867ae992c58690e8fcad60672daa8744708.

4 years agotests/ecore_wl2: Add test for ecore_wl2_window_activated_get function
Woochanlee [Wed, 27 Nov 2019 14:15:49 +0000 (09:15 -0500)]
tests/ecore_wl2: Add test for ecore_wl2_window_activated_get function

Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_activated_get function

ref T8016

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

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

4 years agoci: travis: add job to build efl and run tests with address sanitizer
Stefan Schmidt [Mon, 19 Aug 2019 12:17:28 +0000 (14:17 +0200)]
ci: travis: add job to build efl and run tests with address sanitizer

A first step to have addrress sanitizer coverage on our EFL build. It
already catched some use after free errors and memory corruptions. Still
we have some limititation how we are running this right now. We
currently ignore some leaks that are exposed durign the normal build
wile haveing the short living runs of edje_cc, elm_prefs_cc, etc.
For now the whole leak detection is disabled on the testsuite as well.

This is still very valuable, especially for all non-leak cases it finds,
thus we are goign to run this on our daily build.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10691

4 years agoci: enable mono bindings build in default build
Stefan Schmidt [Wed, 27 Nov 2019 13:17:15 +0000 (08:17 -0500)]
ci: enable mono bindings build in default build

Summary:
We have all the pieces together now to build the mono bindings as well
as run the mono testsuite on nija test.
The docker image was updated to contain the mono-devel package to
provide the needed dependencies.
Depends on D10437

Reviewers: bu5hm4n, zmike, lauromoura

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agovector container: skip copying compositions precisely.
Hermet Park [Wed, 27 Nov 2019 12:04:43 +0000 (21:04 +0900)]
vector container: skip copying compositions precisely.

+ added some comments for future tasks.

4 years agoevas json: up-to-date vector-tree logging.
Hermet Park [Wed, 27 Nov 2019 08:51:42 +0000 (17:51 +0900)]
evas json: up-to-date vector-tree logging.

4 years agogesture_manager: Changed function param to reduce internal function calls.
Woochanlee [Wed, 27 Nov 2019 05:24:01 +0000 (14:24 +0900)]
gesture_manager: Changed function param to reduce internal function calls.

Summary:
The filter_event function calling a lot of times when it runs.

This can help performance by reducing the number of calls to the efl_data_scope_get() function.

Reviewers: Hermet, smohanty, bu5hm4n

Reviewed By: Hermet

Subscribers: zmike, bu5hm4n, q66, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoEfl.Text.Attribute_Factory
Ali Alzyod [Wed, 27 Nov 2019 04:04:31 +0000 (13:04 +0900)]
Efl.Text.Attribute_Factory

Summary:
Implementation of new Efl.Text.Attribute_Factory class which replace the annotation interface.

Currently, we have two public methods:

```
void efl_text_attribute_factory_attribute_insert(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end, const char *format)
unsigned int efl_text_attribute_factory_attribute_clear(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end);
```

Other methods will be internal methods, for the time being, we will redesign internal methods

Reviewers: woohyun, tasn, segfaultxavi, bu5hm4n, zmike

Subscribers: zmike, q66, cedric, segfaultxavi, bu5hm4n, a.srour, #committers, #reviewers

Tags: #efl

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

4 years agoworkaround: disable efl_access on csharp 33/218733/1
Jaehyun Cho [Wed, 27 Nov 2019 10:50:31 +0000 (19:50 +0900)]
workaround: disable efl_access on csharp

Change-Id: I01c97b045b3bf7991ece00afc049e4dd2b4bf193

4 years agomono: disable efl_access on csharp 20/216520/2
Yeongjong Lee [Mon, 28 Oct 2019 01:48:29 +0000 (10:48 +0900)]
mono: disable efl_access on csharp

Change-Id: Iccbb6f3cfd6c8337f76b059cff459617b2f4f700

4 years agoefl_mono: disable focus manager on csharp 89/208089/10
Yeongjong Lee [Fri, 14 Jun 2019 01:20:54 +0000 (10:20 +0900)]
efl_mono: disable focus manager on csharp

@tizne_fix

Change-Id: Ifc6df8586ff55c88b897843354ef78f411c07baf

4 years agoelm_focus: implement legay focus for Efl.Ui.Widgets 27/194627/10
Yeongjong Lee [Thu, 1 Nov 2018 02:06:54 +0000 (11:06 +0900)]
elm_focus: implement legay focus for Efl.Ui.Widgets

@tizne_fix

Change-Id: If38a0ccc35e3d7211b52068f20cb7189866f0b5f

4 years agoRevert "elm_panel: disable efl_ui_focus_layer functions" 09/216509/2
Yeongjong Lee [Sun, 27 Oct 2019 23:38:28 +0000 (08:38 +0900)]
Revert "elm_panel: disable efl_ui_focus_layer functions"

This reverts commit e1b29036cac3d6da98e0cc79c9e9ff8ad8ddce3c.

Change-Id: I489500c1ecbff5eb6aec905427e64bb7054433d9

4 years agoRevert "Revert "elm_widget: disable focus manager in tizen"" 08/216508/2
Yeongjong Lee [Sun, 27 Oct 2019 23:38:08 +0000 (08:38 +0900)]
Revert "Revert "elm_widget: disable focus manager in tizen""

This reverts commit 9bde69ee8e54f3f9ef80ce1e60e13187282654f8.

Change-Id: I06ff90c0c267d2baf533df29c12c9c56745a3afa

4 years agocsharp: CA1717 - Add [Flags] for enums accepted/tizen/unified/20191127.141709 submit/tizen/20191126.214239
Lauro Moura [Tue, 26 Nov 2019 14:56:57 +0000 (11:56 -0300)]
csharp: CA1717 - Add [Flags] for enums

Summary:
Using the naive approach of checking if the name ends with `Flags`.

Ref T8411

Depends on D10708

Reviewers: brunobelo, segfaultxavi, felipealmeida, YOhoho

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8411

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

4 years agocsharp: Iterate more in GC-dependent test
Lauro Moura [Tue, 26 Nov 2019 14:56:51 +0000 (11:56 -0300)]
csharp: Iterate more in GC-dependent test

Summary:
The inheritance test depends on the objects being actively destroyed.
Currently this happens in a two step process, where first the C#
object is collected from the GC. As this happens in a separate thread,
we schedule a callback to run in the main loop to actually unref the
EO object.

This commit adds more iterations to make sure the EO of the parent is
unref'd and releases the child.

This should be the last C#-related CI test failure

Ref T8313

Reviewers: stefan_schmidt, brunobelo, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8313

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

4 years agopyolian: Add helper functions for simple scripts
Lauro Moura [Tue, 26 Nov 2019 14:56:41 +0000 (11:56 -0300)]
pyolian: Add helper functions for simple scripts

Summary:
These two functions encapsulate some code that commonly is repeated
through pyolian scripts.

With these, a minimal example (provided `src/scripts/pyolian` is in
the PYTHONPATH) could be done with:

```
import os

from pyolian import eolian

SCAN_FOLDER = os.path.join(eolian.in_tree_src_dir(), 'src', 'lib')
eolian_db = eolian.parse_folders(SCAN_FOLDER)

for cls in eolian_db.classes:
    print(cls)
```

Reviewers: segfaultxavi, DaveMDS, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers, felipealmeida, brunobelo

Tags: #efl

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

4 years agopyolian: Add a method to get the hierarchy of extensions
Lauro Moura [Tue, 26 Nov 2019 14:56:31 +0000 (11:56 -0300)]
pyolian: Add a method to get the hierarchy of extensions

Summary:
To be used by the test generator

Depends on D10420

Test Plan: test in the diff

Reviewers: DaveMDS, herb, segfaultxavi, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, brunobelo, #reviewers, felipealmeida, #committers

Tags: #efl

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

4 years agopyolian: full_inherit must recurse parent too
Lauro Moura [Tue, 26 Nov 2019 14:55:01 +0000 (11:55 -0300)]
pyolian: full_inherit must recurse parent too

Test Plan: run tests

Reviewers: segfaultxavi, herb, DaveMDS, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agocsharp: Add more since tags to members
Lauro Moura [Tue, 26 Nov 2019 14:13:47 +0000 (11:13 -0300)]
csharp: Add more since tags to members

Summary:
- Class constructors and other members
- Aliases fields

ref T8359

Reviewers: felipealmeida, segfaultxavi, brunobelo, woohyun

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8359

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

4 years agoecore_timer: add NULL checking for timer data.
Hosang Kim [Fri, 22 Nov 2019 09:16:47 +0000 (09:16 +0000)]
ecore_timer: add NULL checking for timer data.

When timer is not created, a crash occurs.
For example, when user create ecore timer in the pthread..
Of course this is not the correct usage, but printing ERR message is enough.

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

4 years agoeo: add missing move tag
Yeongjong Lee [Fri, 22 Nov 2019 07:29:27 +0000 (07:29 +0000)]
eo: add missing move tag

`efl_access_action_actions_get`
the list is created by `eina_list_append`

`efl_ui_format_values_set`
the accessor is freed in that function.
`efl_ui_format_values_get`
The accessor is created by `eina_inarray_accessor_new`

`efl_core_command_line_command_access`
The accessor is created by `eina_array_accessor_new`

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

4 years agoeo: add move tag to iterator
Yeongjong Lee [Fri, 22 Nov 2019 06:13:25 +0000 (06:13 +0000)]
eo: add move tag to iterator

It is impossible to reuse iterator after `EINA_ITERATOR_FOREACH`(`eina_iterator_next`).

E.g.
```
eina_init();

eina_file_dir_list("/home/", EINA_FALSE, _print_cb, NULL);

it = eina_file_ls("/home/");
EINA_ITERATOR_FOREACH(it, f_name)
  {
     printf("%s\n", f_name);
     eina_stringshare_del(f_name);
  }
EINA_ITERATOR_FOREACH(it, f_name)
  {
     printf("Again %s\n", f_name);
     eina_stringshare_del(f_name);
  }
eina_iterator_free(it);
```
`Agian ...` is never printed.

Therefore, iterator always need `@move` tag to avoid unexpected behavior without
any error message.

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

4 years agoedje_calc: Creation macro that perform edje calc, regardless of the edje size.
Woochanlee [Tue, 26 Nov 2019 04:57:16 +0000 (13:57 +0900)]
edje_calc: Creation macro that perform edje calc, regardless of the edje size.

Summary: edje_recalc_do() needs to be executed regardless of the size of edje in order to deliver edje properties for the API that the user calls.

Reviewers: cedric, Hermet, Jaehyun_Cho, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agovg_common_json: Fix a missing of free after using
JunsuChoi [Tue, 26 Nov 2019 04:50:00 +0000 (13:50 +0900)]
vg_common_json: Fix a missing of free after using

Summary: iterator itr will leak by going out the function widthout freeing.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoEfl.Canvas.Image: Add skeleton code Efl.Gfx.Frame_Controller.sector
JunsuChoi [Tue, 26 Nov 2019 01:54:37 +0000 (10:54 +0900)]
Efl.Canvas.Image: Add skeleton code Efl.Gfx.Frame_Controller.sector

Summary:
Sector is a property with start, end frame and sector name information
that can be used when playing a specific section.
Sector play is not supported for Efl.Canvas.Image yet.
So we add skeleton code with comments.
This is also for full implements of the Efl.Gfx.Frame_Controller interface.

Test Plan: N/A

Reviewers: Hermet, bu5hm4n

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoRevert "elm_multibuttonentry: delete ELM_LAYOUT_MIXIN" 19/218619/1
Woochanlee [Tue, 26 Nov 2019 05:58:26 +0000 (14:58 +0900)]
Revert "elm_multibuttonentry: delete ELM_LAYOUT_MIXIN"

This reverts commit c046a2ffd4754a84c3eca3c0b60e2c5be12c31e5.

Change-Id: I625bdecbfeab83a6cf0da33402337b33f8babf46

4 years agoefl_ui_multi_selectable: clean this up accepted/tizen/unified/20191126.124656 submit/tizen/20191125.210615
Marcel Hollerbach [Wed, 20 Nov 2019 12:36:02 +0000 (12:36 +0000)]
efl_ui_multi_selectable: clean this up

this commit merges common functions from efl_ui_multi_selectable and
efl_ui_multi_selectable_async. Additionally, the two different aspects
of accessing the elements in a multi_selectable widget (numerical or
object based) are now abstracted into interfaces called range_numeric and
range_object. numeric APIs are also prefixed with id's, so its possible
for one widget to implement both (if there will ever be the demand to do
that in future).

The main reason for this split is:
- there is no good common path between mvvm based multi_selectable and
object based multi_Selectable, so there is no way that both sides would
benefit, without the other one suffering.
- If we find later on the demand to implement both on one widget, we now
can fully do that
- Common API is available for both types, so its less API and less
confusion for the API user.

ref T7871
ref T8265

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

4 years agotheme: Delete max that seems not right.
Woochanlee [Mon, 25 Nov 2019 10:10:41 +0000 (19:10 +0900)]
theme: Delete max that seems not right.

Summary:
It prevents popup edje resize.
So not we cant see slider indicator.
T8483

before that edje calc in render time.
But now we dont calc for no size edje.

Limit max 0 0 is really looks weird.

Test Plan: elementary_test->slider ->check indicator.

Reviewers: eagleeye, Hermet, cedric, smohanty, Jaehyun_Cho

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8483

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

4 years agoEfl.Canvas.Vg.Container : Initialize mask buffer for SUB, INS composition.
JunsuChoi [Mon, 25 Nov 2019 10:04:30 +0000 (19:04 +0900)]
Efl.Canvas.Vg.Container : Initialize mask buffer for SUB, INS composition.

Summary:
   If composite method is substract or intersect, buffer needs initialize.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agovector lottie: Set visibility vg node
JunsuChoi [Mon, 25 Nov 2019 04:39:01 +0000 (13:39 +0900)]
vector lottie: Set visibility vg node

Summary:
All nodes reset their visibility when they are reused.
Therefore, visibility must be set true if mVisibile is true.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I5531fff3ad43c4529b1070f6af3092ae5952a628

4 years agoevas vector: initialize data member properly.
Hermet Park [Mon, 25 Nov 2019 04:26:52 +0000 (13:26 +0900)]
evas vector: initialize data member properly.

user entry root should be initialized to null before accessing it.

in a certain scenario it could occur a crash with an invalid root data.

@fix

Change-Id: Ia2897f7897c131bbd8a9d206d8dd181678d7c460

4 years agoevas_textblock: cursor function null check at start
ali [Fri, 22 Nov 2019 18:32:01 +0000 (15:32 -0300)]
evas_textblock: cursor function null check at start

Reviewers: segfaultxavi, woohyun, lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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