platform/upstream/efl.git
4 years agopackaging: disable rsvg loader for Tizen
Jaehyun Cho [Mon, 12 Aug 2019 07:38:14 +0000 (16:38 +0900)]
packaging: disable rsvg loader for Tizen

For 49ee5ce3a44297cff8d1276a899800559afb57bb, svg loader is renamed to
rsvg loader.
Since svg loader is not used in Tizen, rsvg loader is disabled.

Change-Id: I65275eeb0b436c44f369ef444d2e406e9be2bbc3

4 years agoRevert "get rid of shadow variables"
Jaehyun Cho [Mon, 12 Aug 2019 07:36:50 +0000 (16:36 +0900)]
Revert "get rid of shadow variables"

This reverts commit eb3581a82883474430d21cadaec512f508c1bf68.

The original commit may be required to be modified for Tizen.
Until then, the original commit is reverted.

Change-Id: Ia84e848620d04dafc3f9c58cc58c75b87768e397

4 years agoevas test - use correct type for ptr type tracking called
Carsten Haitzler (Rasterman) [Sun, 11 Aug 2019 16:09:32 +0000 (17:09 +0100)]
evas test - use correct type for ptr type tracking called

callback setup uses int but thecallback uses intptr_t ... which is...
wrong.

4 years agoefl check - use global not stack local buffer for srunner_set_xml
Carsten Haitzler (Rasterman) [Sun, 11 Aug 2019 15:35:03 +0000 (16:35 +0100)]
efl check - use global not stack local buffer for srunner_set_xml

asan is most unhappy about using a priori stack frame's data for
this.. it seems check uses the char * buf directly as-is without
duplicating it... so we can't sensibvly use local stack data. that is
what asan is saying... and this makes our tests not work under asan to
begin with... nto to mention other possible issues i have yet to see
as i got to this one first.

4 years agoeldbus - fix null node last on introspection parse
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 22:35:44 +0000 (23:35 +0100)]
eldbus - fix null node last on introspection parse

this fixes CID 1402721

4 years agoevas text - handle null font case for font set
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 22:33:05 +0000 (23:33 +0100)]
evas text - handle null font case for font set

coverity was unhappy wiht inconsistent checks, so we'll be consistent
and thus handle a null font.

fixes CID 1403882

4 years agoelm ctxpopup - be consistent with scope data checks
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 22:30:28 +0000 (23:30 +0100)]
elm ctxpopup - be consistent with scope data checks

makes coverity happy.

CID 1403898

4 years agoeina file - don't double unlock a lock
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 22:27:24 +0000 (23:27 +0100)]
eina file - don't double unlock a lock

thanks to coverity - found this double unlock path in case of error.

fix CID 1403899

4 years agoeina file - make coverity happy and lock+unlock on init
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 22:25:07 +0000 (23:25 +0100)]
eina file - make coverity happy and lock+unlock on init

coverity doesnt like inconsistent behavior of code, so make it
consistent even  if pointless as this is during init when we wont have
threads .... yet.

CID 1403903

4 years agoefl thread - use pipe array names consistently to avoid err handling bug
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 22:17:39 +0000 (23:17 +0100)]
efl thread - use pipe array names consistently to avoid err handling bug

in the case pipes fail to create we'll close the wrong ones... this
fixes that. it also happens because i didn't use names consistently.
now it does so it's easier to keep right.

thanks coverity.

fix CID 1396994

4 years agoefl thread - fic pipe close to not close invalid pipe fds
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 22:09:06 +0000 (23:09 +0100)]
efl thread - fic pipe close to not close invalid pipe fds

if we only have stdout and no stdin we'd accidentally close junk int's
on the stack. fix this fix CID 1396963

4 years agoefl filter model - fix return value handling to avoid uninit mem access
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 22:04:29 +0000 (23:04 +0100)]
efl filter model - fix return value handling to avoid uninit mem access

coverity reported - it's right. this fixes CID 1401461 and CID 1401463

4 years agoedje - fix conversion of edje var from int to float to use tmp var
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 21:59:27 +0000 (22:59 +0100)]
edje - fix conversion of edje var from int to float to use tmp var

fix CID 1402624

4 years agoeldbus - fix leak of message in error path case
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 21:58:07 +0000 (22:58 +0100)]
eldbus - fix leak of message in error path case

fix CID 1402657

4 years agoedje - fix conversion of edje var from float to int to use tmp var
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 21:53:29 +0000 (22:53 +0100)]
edje - fix conversion of edje var from float to int to use tmp var

this should disambiguate the conversion intended.

fix CID 1402675

4 years agoefl model - fix use after free
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 21:47:22 +0000 (22:47 +0100)]
efl model - fix use after free

fix CID 1402712

4 years agoevas - png loader - fix leake in error case of pixels
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 21:44:47 +0000 (22:44 +0100)]
evas - png loader - fix leake in error case of pixels

fix CID 1403027

@fix

4 years agoeet dict+ data read - move rw lock to ourside decode for speed read
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 11:16:58 +0000 (12:16 +0100)]
eet dict+ data read - move rw lock to ourside decode for speed read

on read/decode we can avoid lots of little locks and unlocked by
having the rwlock go to the outside and a single lock+unlock (read) on
the dictionary. it blocks for longer by has less atomics/fence points
as a result and thus decodes faster where changes that we are writing
while decoding is insanely low so no point worrying here.

4 years agoefreet - be more patient for efreet to start - up to 2 sec now
Carsten Haitzler (Rasterman) [Fri, 9 Aug 2019 18:09:25 +0000 (19:09 +0100)]
efreet - be more patient for efreet to start - up to 2 sec now

seems people have issues with efreetd starting in 0.5 sec on some
systems... even rpi's manage that, but lets be more patient and wait
up to 2 sec

4 years agoelm_test: fix crashing in efl.ui.popup when closing windows
Mike Blumenkrantz [Fri, 9 Aug 2019 13:16:45 +0000 (09:16 -0400)]
elm_test: fix crashing in efl.ui.popup when closing windows

avoid double free on pointer in callback

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

4 years agotests/popup: add (extremely) comprehensive test for anchor popups
Mike Blumenkrantz [Thu, 8 Aug 2019 18:37:39 +0000 (14:37 -0400)]
tests/popup: add (extremely) comprehensive test for anchor popups

this verifies all align settings, different anchor points, changing anchors
and aligns on-the-fly, unsetting anchors, and changing popup sizes

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

4 years agotests/popup: add test units for all the text_alert popups in elm_test
Mike Blumenkrantz [Wed, 7 Aug 2019 15:18:18 +0000 (11:18 -0400)]
tests/popup: add test units for all the text_alert popups in elm_test

this is mostly to verify that the internal label is sizing as expected

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

4 years agotests/popup: add unit tests for scroll_alert expandable sizing
Mike Blumenkrantz [Wed, 7 Aug 2019 14:27:23 +0000 (10:27 -0400)]
tests/popup: add unit tests for scroll_alert expandable sizing

these correspond to the cases in elm_test

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

4 years agoefl_ui/popup: apply user min size hints during group_calc
Mike Blumenkrantz [Fri, 9 Aug 2019 16:10:13 +0000 (12:10 -0400)]
efl_ui/popup: apply user min size hints during group_calc

if these hints are set, they should be used

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

4 years agoefl_ui/popup: optimize popup sizing calcs slightly
Mike Blumenkrantz [Fri, 9 Aug 2019 16:04:43 +0000 (12:04 -0400)]
efl_ui/popup: optimize popup sizing calcs slightly

ensure that scroll-based popups don't accidentally trigger a full
recalc and (wrong) size change during group_calc by hitting the base
popup size_set() implementation and setting the needs_calc flag or
by using the base popup calc code when it should not be used

this resolves a corner case sizing issue in the text_alert 2 popup
case in elm_test which seems to have been present for a long time

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

4 years agoelm/config: clear env var hash on shutdown
Mike Blumenkrantz [Fri, 9 Aug 2019 16:22:27 +0000 (12:22 -0400)]
elm/config: clear env var hash on shutdown

env vars should not be retained when this subsystem is not "active"

fixes unit test running

ref 9149767184bfa9b64102eaea89f6733351de71e9

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

4 years agoeolian: add an envvar to warn about unimplemented beta funcs
Daniel Kolesa [Fri, 9 Aug 2019 14:09:25 +0000 (16:09 +0200)]
eolian: add an envvar to warn about unimplemented beta funcs

This changes the behavior of the existing env var to only check
unimplemented functions in stable APIs by default. Beta checks
can be enabled with an additional environment var, so use
EOLIAN_CLASS_UNIMPLEMENTED_WARN for stable and
EOLIAN_CLASS_UNIMPLEMENTED_BETA_WARN for extra beta checks.

4 years agoedje: fix warning for returning wrong type.
Cedric BAIL [Fri, 9 Aug 2019 12:43:18 +0000 (08:43 -0400)]
edje: fix warning for returning wrong type.

Reviewers: zmike

Reviewed By: zmike

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

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

4 years agoevas/textblock: optmize textblock format parsing.
subhransu mohanty [Fri, 9 Aug 2019 08:36:35 +0000 (17:36 +0900)]
evas/textblock: optmize textblock format parsing.

Summary:
 textblock format parsing creates/delets eina_TempStr for each
 token. Eina_TempStr is even worse than malloc/free because it also
 takes a lock/unlock along with malloc/free each time we create it.
 Just use a stack bufefr and create string in it if the string is too big
 then it will fall back to heap which is anyway we are doing right now.

 Tested this in Tizen List view the number of allocation reduced by 16000.

Reviewers: Hermet, ali.alzyod, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje: optimize color_class_recursive_find_helper() function
subhransu mohanty [Fri, 9 Aug 2019 05:02:24 +0000 (14:02 +0900)]
edje: optimize color_class_recursive_find_helper() function

Summary:
If the  color_class is not overridden by the object level the
hash will be empty but still we do the expensive call to _edje_hash_find_helper()
find the color_class in an empty hash. by checking if the hash is empty
and returning early we save lot of unnecessary hash computaion and lookup.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoeina/hash: optimize eina_hash_find() when hash is empty.
subhransu mohanty [Fri, 9 Aug 2019 05:00:03 +0000 (14:00 +0900)]
eina/hash: optimize eina_hash_find() when  hash is empty.

Summary:
Check if hash is empty before computing the hash key and look inside the
hash to find data.

Note: could have called the eina_hash_population() api but didn't
      because of extra function call.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui_textpath: clear up path data when it's destructed.
Hermet Park [Fri, 9 Aug 2019 04:43:50 +0000 (13:43 +0900)]
efl_ui_textpath: clear up path data when it's destructed.

This fixes path data memory leak.

@fix

4 years agoevas/render: size and draw proxy render surface based on proxy clipper
Mike Blumenkrantz [Fri, 10 May 2019 18:14:49 +0000 (14:14 -0400)]
evas/render: size and draw proxy render surface based on proxy clipper

if a proxy is not being proxied, it's optimal to create a surface for only
the necessary dimensions and then only draw within those dimensions.

when a proxy is clipped to a size smaller than the proxy object, the required
size for the proxy render becomes smaller as the proxy has less visible area.
this enables us to draw only the clipped region and thus gives a performance
boost

this can only be enabled if the clipper is marked as static

Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8881

4 years agoevas/render: clamp mask surface size to clipper size
Mike Blumenkrantz [Mon, 6 May 2019 20:12:48 +0000 (16:12 -0400)]
evas/render: clamp mask surface size to clipper size

there's no point in allocating a massive mask surface if it's going to
be clipped to a smaller size, so instead just allocate the smaller size
and position it where the clipped size would be

this can only be enabled if the clipper is known to not be changing size,
as performance would be impacted if the clipper was forcing a full mask
redraw due to regular resizing

Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8841

4 years agoevas: add 'has_fixed_size' property for canvas objects
Mike Blumenkrantz [Mon, 13 May 2019 16:14:00 +0000 (12:14 -0400)]
evas: add 'has_fixed_size' property for canvas objects

this provides a hint for rendering that the object is not going to resize
for as long as the flag is set and  allows for some optimizations to
be made during rendering based on this knowledge

@feature

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

4 years agogetenv - reduce continually calling getenv for the same vars do once
Carsten Haitzler (Rasterman) [Thu, 8 Aug 2019 22:55:40 +0000 (23:55 +0100)]
getenv - reduce continually calling getenv for the same vars do once

do it once and remember the result from the first one. drops overhead
for sure by a chunk i actually could see in perf reports like about 1-2%
of cpu...

4 years agoget rid of shadow variables
Boris Faure [Thu, 8 Aug 2019 21:18:45 +0000 (17:18 -0400)]
get rid of shadow variables

Summary: gl: add some EINA_FALLTHROUGH

Reviewers: #reviewers, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoector: ++safety.
Hermet Park [Thu, 8 Aug 2019 14:34:02 +0000 (23:34 +0900)]
ector: ++safety.

null handling just in corner case.

4 years agoevas vg: ++safety.
Hermet Park [Thu, 8 Aug 2019 14:28:18 +0000 (23:28 +0900)]
evas vg: ++safety.

Realloc internal composite buffer if its size is invalid.

4 years agoefl_ui_selectable: add spec test suite for this
Marcel Hollerbach [Thu, 8 Aug 2019 13:12:46 +0000 (09:12 -0400)]
efl_ui_selectable: add spec test suite for this

Summary:
this brings a spec test suite for Efl.Ui.Selectable

Depends on D9517

Reviewers: zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

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

4 years agoeina log - we exceet 24 domains alrready out of the box, so increase
Carsten Haitzler (Rasterman) [Wed, 7 Aug 2019 20:19:15 +0000 (21:19 +0100)]
eina log - we exceet 24 domains alrready out of the box, so increase

this avoids more reallocs since we already use more than 24 domains...
go up to 64.

4 years agocxx: Fix funcptr c_args declaration.
Lauro Moura [Wed, 7 Aug 2019 18:49:36 +0000 (15:49 -0300)]
cxx: Fix funcptr c_args declaration.

Summary:
The internal wrapper was generating the argument types directly instead
of passing through the translation generator `grammar::c_type`.

This caused the type in the `caller` callback to be different from the
actual C type of the declared function pointer, like in `@out` parameters.

Reviewers: tasn, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoecore evas drm - fix code that forgets to del an fd handler
Carsten Haitzler (Rasterman) [Wed, 7 Aug 2019 17:14:06 +0000 (18:14 +0100)]
ecore evas drm - fix code that forgets to del an fd handler

also.. note the badness of the code design mixing a global singleton
with a "per struct" set of data like fd handlers for the same devices
initted only once but... anyway. it's messy.

4 years agoevas egl - esnure we always destroy surfaces because creating new ones
Carsten Haitzler (Rasterman) [Wed, 7 Aug 2019 15:59:43 +0000 (16:59 +0100)]
evas egl - esnure we always destroy surfaces because creating new ones

be sure we dont leak them.

4 years agoevas - gl_drm - delete old surfaces before creating new ones
Carsten Haitzler (Rasterman) [Wed, 7 Aug 2019 15:17:13 +0000 (16:17 +0100)]
evas - gl_drm - delete old surfaces before creating new ones

we shouldnt go have multiple drm window surfaces per drm surface...
this is bad.

@fix

4 years agoefl_ui_focus_layer: we should cleanup on invalidate
Marcel Hollerbach [Wed, 7 Aug 2019 14:24:08 +0000 (10:24 -0400)]
efl_ui_focus_layer: we should cleanup on invalidate

Summary:
otherwise there will be errors. Lets pray this did not break anything
else.
Depends on D9518

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoEvas: migrate Evas_BiDi_Direction -> Efl_Text_Bidirectional_Type.
Tom Hacohen [Wed, 7 Aug 2019 13:54:45 +0000 (14:54 +0100)]
Evas: migrate Evas_BiDi_Direction -> Efl_Text_Bidirectional_Type.

4 years agoefl_ui_item: fix event emission
Marcel Hollerbach [Tue, 6 Aug 2019 20:31:40 +0000 (22:31 +0200)]
efl_ui_item: fix event emission

with this commit events are emitted correctly, even if the container is
already on the way to deletion. Additionally, the codepath that is
triggered when the item is selected via clickable is now also going
through the selected property.

ref 7905

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

4 years agointroduce efl_ui_multi_selectable and efl_ui_single_selectable
Marcel Hollerbach [Tue, 6 Aug 2019 17:55:40 +0000 (19:55 +0200)]
introduce efl_ui_multi_selectable and efl_ui_single_selectable

right now they are just thin wrappers from what have been in
efl_ui_collection. This is just a first effort, the interfaces have to
be equipped with more and better API, more events, and tests.

ref T8057

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

4 years agoefl_ui: use unified size hints api and be explicit about which hint is changed
Mike Blumenkrantz [Mon, 5 Aug 2019 13:13:05 +0000 (09:13 -0400)]
efl_ui: use unified size hints api and be explicit about which hint is changed

unified widgets should use unified api internally and also be more explicit
about which min size hint (restricted or user) is being set in order to improve
readability of code

when unified widgets also implement legacy wrappers, legacy api should be used
for the legacy objects

no functional changes

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

4 years agotests/popup: add sizing test for scroll_alert popup
Mike Blumenkrantz [Tue, 6 Aug 2019 19:18:01 +0000 (15:18 -0400)]
tests/popup: add sizing test for scroll_alert popup

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

4 years agoevas_text: backward compatibility for setting text size
Ali Alzyod [Wed, 7 Aug 2019 11:39:33 +0000 (20:39 +0900)]
evas_text: backward compatibility for setting text size

Summary: This is for backward compatibility for TIZEN Test cases for legacy

Reviewers: woohyun

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: Ic66e9abc5d49bf4375729a2fcea1dce6c6b1ba19

4 years agoemile - use newer lz4 api instead of deprecated one
Carsten Haitzler (Rasterman) [Wed, 7 Aug 2019 10:44:05 +0000 (11:44 +0100)]
emile - use newer lz4 api instead of deprecated one

4 years agolz4 - update to 1.9.1 for static lib in src tree
Carsten Haitzler (Rasterman) [Wed, 7 Aug 2019 10:31:03 +0000 (11:31 +0100)]
lz4 - update to 1.9.1 for static lib in src tree

this updates our static zlib to 1.9.1 releases april 23, 2019.

fixes T7983

4 years agoefl_ui_selectable: this should be beta
Marcel Hollerbach [Wed, 7 Aug 2019 08:38:33 +0000 (10:38 +0200)]
efl_ui_selectable: this should be beta

sorry, i forgot that ... :(

4 years agoremove outdated readme
Marcel Hollerbach [Tue, 6 Aug 2019 16:47:44 +0000 (18:47 +0200)]
remove outdated readme

the docs hsould be covered in INSTALL.

(Fast! merge this before the docs guy comes back from vacation)

4 years agotests/popup: add unit tests for alert_popup
Mike Blumenkrantz [Tue, 6 Aug 2019 14:03:45 +0000 (10:03 -0400)]
tests/popup: add unit tests for alert_popup

this covers all cases from the elm_test example

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

4 years agoefl_ui_check: migrate from own property to Efl.Ui.Selectable
Marcel Hollerbach [Mon, 5 Aug 2019 17:42:02 +0000 (19:42 +0200)]
efl_ui_check: migrate from own property to Efl.Ui.Selectable

this is the basic work for getting radio group as a single_selection
interface, which can be a part of mutli_selection. Which will come both
later on.

ref T8057

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

4 years agoci: disable rsvg loader on windows
Marcel Hollerbach [Tue, 6 Aug 2019 15:00:16 +0000 (11:00 -0400)]
ci: disable rsvg loader on windows

Summary: deps are missing for that one

Reviewers: stefan_schmidt, zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

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

4 years agoefl_input_clickable: int -> uint
Marcel Hollerbach [Tue, 6 Aug 2019 14:57:56 +0000 (10:57 -0400)]
efl_input_clickable: int -> uint

Summary:
the ids of the structs here are never negative

ref T7976

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7976

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

4 years agoefl_ui_focus_manager_root_focus: perform focus switch delayed
Marcel Hollerbach [Tue, 6 Aug 2019 14:52:32 +0000 (10:52 -0400)]
efl_ui_focus_manager_root_focus: perform focus switch delayed

Summary:
Delaying the unregistering here ensures that there is not focus set call
while a object is beeing registered in the focus manager.

ref T8081

Reviewers: zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8081

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

4 years agoefl_ui_collection: implement initial focus behaviour
Marcel Hollerbach [Tue, 6 Aug 2019 13:34:42 +0000 (09:34 -0400)]
efl_ui_collection: implement initial focus behaviour

Summary:
the behaviour here is that the next item according to the direction is
getting focused. This sounds easy but is quite complex given the fact
that the items might be hidden. This is the first draft for this, to see
how good it performes.

Reviewers: zmike, stefan_schmidt, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

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

4 years agoecore_wl2: Move ecore_wl2_buffer_fit function to be internal
Christopher Michael [Tue, 6 Aug 2019 12:51:05 +0000 (08:51 -0400)]
ecore_wl2: Move ecore_wl2_buffer_fit function to be internal

The ecore_wl2_buffer_fit function is only used internally in EFL so
move it out of the public API header.

ref T8013

4 years agoecore_wl2: Move ecore_wl2_window_false_commit to be internal
Christopher Michael [Tue, 6 Aug 2019 12:49:38 +0000 (08:49 -0400)]
ecore_wl2: Move ecore_wl2_window_false_commit to be internal

The ecore_wl2_window_false_commit function is only used internally
inside efl so there is no need for it to be a public API.

ref T8013

4 years agoecore_wl2: Move ecore_wl2_window_rotation_change functions to be
Christopher Michael [Tue, 6 Aug 2019 12:36:50 +0000 (08:36 -0400)]
ecore_wl2: Move ecore_wl2_window_rotation_change functions to be
internal

These functions are not used in efl wayland clients nor are they used
in Enlightenment. As such, there is no reason that they need to be
public API so this commit moves them to be Internal and updates
Ecore_Evas engine code to include the internal header.

ref T8013

4 years agobuild: Seprate same svg extension loaders between image and vector.
Hermet Park [Tue, 6 Aug 2019 11:47:07 +0000 (20:47 +0900)]
build: Seprate same svg extension loaders between image and vector.

Currently, vector and image support svg format via different rountine.
Our vector loader implemenst on its own drawing mechanism for svg,
but in case of image loader, it depends on rsvg library.

By Comparing both, our vector svg is winner at performance wise.
we can remove rsvg routine later.

For now, these two loader names are conflicted, we should separate their names
with svg and rsvg.

4 years agoefl_input_hold: replace hold property name with input_hold
Yeongjong Lee [Fri, 2 Aug 2019 04:43:14 +0000 (04:43 +0000)]
efl_input_hold: replace hold property name with input_hold

Sorry to touch stable eo classes. there is name conflict issue between class and
property when binding language is generated from eo. for example in C#, compiler
error occurs.

```
src/bindings/mono/efl_input_hold.eo.cs(166,17): error CS0542:
`Efl.Input.Hold.Hold': member names cannot be the same as their enclosing type
```

This patch changes Efl.Input.Hold.GetHold/SetHold to
Efl.Input.Hold.GetInputHold/SetInputHold and generates Efl.Input.Hold.InputHold
property.

Note that CAPI is not changed.

ref T8093

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Lauro Neto <lauromauro_>
Differential Revision: https://phab.enlightenment.org/D9484

4 years agodocs: Improve Efl.Input.Key docs
Lauro Moura [Mon, 5 Aug 2019 20:33:52 +0000 (20:33 +0000)]
docs: Improve Efl.Input.Key docs

People without X11 background would have a hard time understanding the difference
between key, key_name, key_code, etc.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9487

4 years agomeson: remove one more header check
Marcel Hollerbach [Tue, 6 Aug 2019 07:55:54 +0000 (09:55 +0200)]
meson: remove one more header check

this header check is useless, it will never succeed.

4 years agoremove useless definition of the macro HAVE_MMAN_H
Vincent Torri [Mon, 5 Aug 2019 11:27:16 +0000 (11:27 +0000)]
remove useless definition of the macro HAVE_MMAN_H

use HAVE_SYS_MMAN_H when including sys/mman.h and HAVE_MMAP when using mmap()

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

4 years agotests/efl_ui_popup: add tests for this widget
Mike Blumenkrantz [Mon, 5 Aug 2019 17:58:03 +0000 (13:58 -0400)]
tests/efl_ui_popup: add tests for this widget

these tests cover all the cases in the elm_test efl.ui.popup example

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

4 years agoefl_ui/popup_backwall: implement efl.file file and key get methods
Mike Blumenkrantz [Mon, 5 Aug 2019 18:56:44 +0000 (18:56 +0000)]
efl_ui/popup_backwall: implement efl.file file and key get methods

these need to be proxied to the internal image object to return
correct values

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

4 years agoefl_ui: add popup headers to Efl_Ui.h
Mike Blumenkrantz [Mon, 5 Aug 2019 18:03:08 +0000 (14:03 -0400)]
efl_ui: add popup headers to Efl_Ui.h

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

4 years agotests/elm: add helper callback for automatically quitting main loop when triggered
Mike Blumenkrantz [Mon, 5 Aug 2019 17:57:48 +0000 (13:57 -0400)]
tests/elm: add helper callback for automatically quitting main loop when triggered

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

4 years agotests/elm: add helper function for clicking at specified coords
Mike Blumenkrantz [Mon, 5 Aug 2019 17:53:03 +0000 (13:53 -0400)]
tests/elm: add helper function for clicking at specified coords

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

4 years agoefl_ui/text: handle disabled text
Mike Blumenkrantz [Mon, 5 Aug 2019 17:03:21 +0000 (13:03 -0400)]
efl_ui/text: handle disabled text

no idea what's going on here with new styling but this makes it look
like it should

ref T6649

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

4 years agoefl_ui/clock: remove unused functions
Mike Blumenkrantz [Mon, 5 Aug 2019 17:06:07 +0000 (13:06 -0400)]
efl_ui/clock: remove unused functions

these were used for clock module functionality that has since been removed

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

4 years agoefl_ui/clock: remove legacy api/widget use internally
Mike Blumenkrantz [Mon, 5 Aug 2019 16:56:03 +0000 (12:56 -0400)]
efl_ui/clock: remove legacy api/widget use internally

new widgets should use unified api internally

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

4 years agoefl_ui/clock: remove module interface
Mike Blumenkrantz [Mon, 5 Aug 2019 16:14:48 +0000 (12:14 -0400)]
efl_ui/clock: remove module interface

this was overly complex and never actually used

ref T7868

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

4 years agocsharp: fix ownership of value types in arrays and lists
Vitor Sousa [Mon, 5 Aug 2019 22:06:11 +0000 (19:06 -0300)]
csharp: fix ownership of value types in arrays and lists

Summary:
`eolian_mono` now considers the implicit ownership of value types in arrays and
lists when generating ownership flags.

Also, update manual bindings for arrays and lists to no longer free elements
in the `Dispose` method when the container has ownership of the elements
but C# itself does not have ownership of the container; the elements will be
freed by whoever owns the container.
Modifying and removing elements will still free them though.

Re-enabled unit tests that required ownership of value type elements.

Reviewers: felipealmeida, q66, vitor.sousa

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agocsharp: re-enable binbuf tests with -Dmono-beta=false
Vitor Sousa [Mon, 5 Aug 2019 21:47:14 +0000 (18:47 -0300)]
csharp: re-enable binbuf tests with -Dmono-beta=false

Summary:
Since the introduction of the `binbuf` keyword in eolian, `Eina_Binbuf` is no
longer a beta only type.
Hence, we enable EFL# binbuf unit tests in non-beta compilation too.

Reviewers: lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas image - eina file - be paranoud about double closes
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 17:51:36 +0000 (18:51 +0100)]
evas image - eina file - be paranoud about double closes

tracking some seemingly not so good asan hits on the eina file where
we're accessing an eina file already closed... so be extra paranoid
about it and set things to null after free/close...

4 years agogif loader - dup eina file as we keep our own copy of it in the loader
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 17:47:20 +0000 (18:47 +0100)]
gif loader - dup eina file as we keep our own copy of it in the loader

we didnt dup the eina file handle since  we kee our own handle. we
need ot do that. asan found this.

4 years agointroduce a new interface efl_ui_selectable
Marcel Hollerbach [Mon, 5 Aug 2019 17:07:29 +0000 (19:07 +0200)]
introduce a new interface efl_ui_selectable

this is meant to be implemented by entities that *can* be selectabled
(not to be confused with containers that can have selected contents)!

ref T8057

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

4 years agoefl_ui_selectable: split this up
Marcel Hollerbach [Mon, 5 Aug 2019 16:35:13 +0000 (18:35 +0200)]
efl_ui_selectable: split this up

i dont know why, but something got badly mixed up, the selection APIs
for text and item ended up in the same interface, which seems ... weird
?
This commit splits that up into container_selectable and
text_selectable, there is no future plan on my list for text_selection.
The rest of this series is working towards removing
container_selectable, replacing it with a new interface. However, the
interface will stay until list_view is replaced.

The changes in the legacy code are removing the efl.ui.selection
interface from it, item emission is not depending on the inherited
interfaces, additionally, this interface does not provide any API, so
this should not be an issue.

ref T7766

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

4 years agoefl_ui_action_connector: rename clickable_util to action_connector
WooHyun Jung [Fri, 2 Aug 2019 05:03:38 +0000 (05:03 +0000)]
efl_ui_action_connector: rename clickable_util to action_connector

efl_ui_clickable_util was only for efl_input_clickable interface,
but there can be more cases which want to connect object event
to specific action interfaces (such as scrolling) in the future.
For that extension, efl_ui_action_connector seems better.

ref: T7847

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

4 years agoedje cc - fix coverity warning for uninit local var
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 14:19:34 +0000 (15:19 +0100)]
edje cc - fix coverity warning for uninit local var

fix CID 1382208

4 years agoefl-mono: Add Model manual implementation to C# and MVVM factories
Lauro Moura [Mon, 5 Aug 2019 14:17:52 +0000 (10:17 -0400)]
efl-mono: Add Model manual implementation to C# and MVVM factories

Summary: Depends on D9273, D9270

Test Plan: Run added testcases.

Reviewers: cedric, bu5hm4n, zmike, SanghyeonLee, felipealmeida, segfaultxavi

Reviewed By: cedric

Subscribers: cedric

Tags: #expertise_solutions, #efl_language_bindings

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

4 years agoethumb - fix error free of static string as stringshare
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 14:02:45 +0000 (15:02 +0100)]
ethumb - fix error free of static string as stringshare

in one case we try stringshare_del a static string, not stringshared,
so fix by always making it a stringshare

fix CID 1402614

4 years agoepp - fix tchnical leak for coverity
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 13:49:58 +0000 (14:49 +0100)]
epp - fix tchnical leak for coverity

its technically a leak.. but epp will give up a nd error out anyway
here so... didn't matter.

fix CID 1402655

4 years agoecore drm legacy - fix dbus leaks of reply handle
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 13:38:10 +0000 (14:38 +0100)]
ecore drm legacy - fix dbus leaks of reply handle

fix CID 1402664

4 years agoeolian: fix use after free in eolian_database
Daniel Kolesa [Mon, 5 Aug 2019 13:43:39 +0000 (15:43 +0200)]
eolian: fix use after free in eolian_database

'toscan' is actually a view to 'mpath' memory, so freeing it first
would result in use-after-free. This is obviously only in the error
branch so it usually does not happen, but fix anyway.

CID1403022

4 years agoeolian: fix false positive use-after-free in parser
Daniel Kolesa [Mon, 5 Aug 2019 13:41:28 +0000 (15:41 +0200)]
eolian: fix false positive use-after-free in parser

The catch here is that check_match results in a long jump under
that condition. The static analyzer doesn't know this, so declare
intent.

CID1402703

4 years agoeolian: silence return checking in lexer
Daniel Kolesa [Mon, 5 Aug 2019 13:39:43 +0000 (15:39 +0200)]
eolian: silence return checking in lexer

Coverity CID1396970.

4 years agoeolian: refactor "dead" code
Daniel Kolesa [Mon, 5 Aug 2019 13:37:13 +0000 (15:37 +0200)]
eolian: refactor "dead" code

This has no functional change but should stop coverity from
complaining.

CID1382214

4 years agoeolian: attempt to silence coverity overlapping assignment errors
Daniel Kolesa [Mon, 5 Aug 2019 13:32:15 +0000 (15:32 +0200)]
eolian: attempt to silence coverity overlapping assignment errors

While the previous code was I believe correct, coverity still
complains about it. Split it into two statements also to declare
intent.

CID 1402603..1402724

4 years agoelm theme - fix leak in error cse in elm theme mmap set
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 13:28:40 +0000 (14:28 +0100)]
elm theme - fix leak in error cse in elm theme mmap set

we don't free the eina file handle on error. coverity found it. fix

fix CID 1402680

4 years agoethumb - make coverity happy by including null char
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 13:17:33 +0000 (14:17 +0100)]
ethumb - make coverity happy by including null char

doesnt cost us much to memcpy the nul byte too to keep coverity happy.

fix CID 1402690

4 years agoecore evas drm - fix multi-dlopening of lib into symbol space
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 12:48:14 +0000 (13:48 +0100)]
ecore evas drm - fix multi-dlopening of lib into symbol space

only load libglapi once... not multiple times by storing static ptr to
lib handle.

fix CID 1402692

4 years agoefl_input_key: replace key property name with key_sym
Yeongjong Lee [Mon, 5 Aug 2019 12:48:04 +0000 (08:48 -0400)]
efl_input_key: replace key property name with key_sym

Summary:
Sorry to touch stable eo classes. there is name conflict issue between class and
property when binding language is generated from eo. for example in C#, compiler
error occurs.

```
src/bindings/mono/efl_input_key.eo.cs(272,26): error CS0542:
`Efl.Input.Key.Key': member names cannot be the same as their enclosing type
```

This patch changes Efl.Input.Key.GetKey/SetKey method to
Efl.Input.Key.GetKeySym/SetKeySym and generates Efl.Input.Key.KeySym
property.

Note that CAPI is not changed.

ref T8093

Test Plan: meson setup -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: lauromoura, woohyun, zmike, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8093

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

zmike note: this class was not released at the point of this patch, the class
was only recently marked as stable