platform/upstream/efl.git
4 years agoecore: remove custom code for generating Eina_Future_Schedule attached on Efl.Loop.
Cedric Bail [Wed, 16 Oct 2019 23:47:47 +0000 (16:47 -0700)]
ecore: remove custom code for generating Eina_Future_Schedule attached on Efl.Loop.

This leverage the new infrastructure from Eo that provide a scheduler for any event
attached to any object.

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

4 years agoeo: add infrastructure to attach an Eina_Future_Scheduler to any source of event.
Cedric Bail [Wed, 16 Oct 2019 23:47:10 +0000 (16:47 -0700)]
eo: add infrastructure to attach an Eina_Future_Scheduler to any source of event.

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

4 years agoeina: only the type need to be NULL to assume EINA_VALUE_EMPTY.
Cedric Bail [Wed, 16 Oct 2019 23:45:50 +0000 (16:45 -0700)]
eina: only the type need to be NULL to assume EINA_VALUE_EMPTY.

This avoid comparison with potentially uninitialized byte.

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

4 years agoecore: remove unecessary code for Eina_Future scheduler.
Cedric Bail [Wed, 16 Oct 2019 19:14:20 +0000 (12:14 -0700)]
ecore: remove unecessary code for Eina_Future scheduler.

As we do not rely on legacy Ecore Event directly anymore, we do not
need to mind the shutting down of EFL.

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

4 years agoecore: remove unecessary field in data structure.
Cedric Bail [Wed, 16 Oct 2019 17:04:29 +0000 (10:04 -0700)]
ecore: remove unecessary field in data structure.

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

4 years agoeo: prevent unecessary callback call walk.
Cedric Bail [Wed, 16 Oct 2019 00:04:32 +0000 (17:04 -0700)]
eo: prevent unecessary callback call walk.

This patch introduce a small hash (64 or 32bits) that cache all existing
Efl_Event_Description callback handler registered on an object. It slightly
reduce the time needed to do an unecessary call and cost just a few bytes
per object.

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

4 years agoelementary: handle case when XFIXES is not available.
Cedric Bail [Thu, 31 Oct 2019 13:17:53 +0000 (09:17 -0400)]
elementary: handle case when XFIXES is not available.

Summary:
ECORE_X_EVENT_FIXES_SELECTION_NOTIFY is only initialized when XFIXES
is available. If ecore_event_handler_add is called with type == 0, it
will trigger an abort and elementary would not initialize properly.

Depends on D10491

Reviewers: zmike, raster, bu5hm4n, Hermet

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

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

4 years agoedje: load edje seat callback only when necessary.
Cedric Bail [Thu, 31 Oct 2019 13:17:46 +0000 (09:17 -0400)]
edje: load edje seat callback only when necessary.

Summary:
This reduce in elementary_test the number of callback registered on the
canvas from hundreds to around 10.

Depends on D10486

Reviewers: zmike, raster, bu5hm4n, Hermet

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

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

4 years agoedje: improve callback count on Evas canvas.
Cedric Bail [Thu, 31 Oct 2019 13:17:40 +0000 (09:17 -0400)]
edje: improve callback count on Evas canvas.

Summary:
This reduce by 3 the amount of callback registered on the canvas. Another
potential improvement would be to only register those callback if someone
is listening for a 'seat,*' event or if the edje file define seat filters.

Depends on D10484

Reviewers: zmike, raster, bu5hm4n, Hermet

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

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

4 years agotests/spec: pre-create a ton of widgets during test init
Mike Blumenkrantz [Thu, 31 Oct 2019 13:02:56 +0000 (09:02 -0400)]
tests/spec: pre-create a ton of widgets during test init

Summary:
similar to existing mechanics for elm/efl_ui tests, this pre-creates
all the widgets used as test contents for all the test cases so they
can be forked and reused without needing to spend time in every single
test creating the same test contents
Depends on D10573

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests/elm: add utils for detecting buffer engine and setting fork init cb
Mike Blumenkrantz [Thu, 31 Oct 2019 13:02:54 +0000 (09:02 -0400)]
tests/elm: add utils for detecting buffer engine and setting fork init cb

Summary:
this allows use of the global win object prior to actually being inside a
test for the purpose of doing additional setup
Depends on D10572

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests/spec: use wrefs to automatically unset global pointers
Mike Blumenkrantz [Thu, 31 Oct 2019 13:02:52 +0000 (09:02 -0400)]
tests/spec: use wrefs to automatically unset global pointers

Summary:
these may end up being reused in the future, so unset them only on
object destruction
Depends on D10571

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests/spec: assert success of content_set during setup
Mike Blumenkrantz [Thu, 31 Oct 2019 13:02:51 +0000 (09:02 -0400)]
tests/spec: assert success of content_set during setup

Summary: Depends on D10570

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests/spec: store test class and reuse globally to avoid needing efl_isa
Mike Blumenkrantz [Thu, 31 Oct 2019 13:02:49 +0000 (09:02 -0400)]
tests/spec: store test class and reuse globally to avoid needing efl_isa

Summary: Depends on D10569

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests/elm: add util function for detecting whether current test is forked
Mike Blumenkrantz [Thu, 31 Oct 2019 13:02:47 +0000 (09:02 -0400)]
tests/elm: add util function for detecting whether current test is forked

Summary:
this is useful for determining whether we can use extra hacks because nobody's
supervising our pointer (ab)use
Depends on D10568

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests/spec: reduce looping of pack content tests
Mike Blumenkrantz [Thu, 31 Oct 2019 13:02:45 +0000 (09:02 -0400)]
tests/spec: reduce looping of pack content tests

Summary:
this was hugely over-testing before; simply verifying one item outside
the limit is sufficient here
Depends on D10567

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests/spec: merge some loops in linear pack tests
Mike Blumenkrantz [Thu, 31 Oct 2019 13:02:44 +0000 (09:02 -0400)]
tests/spec: merge some loops in linear pack tests

Summary:
these are small loops, but iterating small loops hundreds of times leads to
big slowdowns

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas - revert evas variation sequence support - out of bound accesses
Carsten Haitzler (Rasterman) [Thu, 31 Oct 2019 12:21:59 +0000 (12:21 +0000)]
evas - revert evas variation sequence support - out of bound accesses

This code is filled with out of bounds accesses now after the reverted
patch. All those base_char+1, itr+1 etc. in
evas_common_font_query_run_font_end_get() are accessing BEYOND
the end of the run. textgrid shows this instantly to fall over as it
uses single unicode codepoint chars with no nul terminator. As this
api takes an explicit run_len we should never access beyond the end of
the run_len.

Please revisit this code and keep in mind proper memory/bounds
accessing. If there was ano run_len and it assumed strings were
regular strings that had to be nul terminated... then it might be ok,
but not here.

of course if i put in guards for these +1's then it ends up in
infintie loops, so enough debugging and send it back for a rethink. :)

....

Revert "evas_object_textblock: add support for variation sequences"

This reverts commit 46f2d8acdcda3f374c9e393ecb734ff9d00fef7d.

4 years agocsharp: space after keywords.
Bruno da Silva Belo [Thu, 31 Oct 2019 10:45:01 +0000 (07:45 -0300)]
csharp: space after keywords.

Reviewers: felipealmeida, lauromoura, YOhoho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests/efl_app: add port of intensive timer recursion
Mike Blumenkrantz [Tue, 29 Oct 2019 17:08:21 +0000 (13:08 -0400)]
tests/efl_app: add port of intensive timer recursion

this is roughly the same as the similarly-named ecore_timer unit test

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

4 years agotests/evas: prune directory scan in mesh loader/saver test
Mike Blumenkrantz [Tue, 29 Oct 2019 14:07:53 +0000 (10:07 -0400)]
tests/evas: prune directory scan in mesh loader/saver test

this test should use a hardcoded list of files, but until it does we
can at least attempt to reduce failure rates which may occur from random
garbage in the tree

ref T6857

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

4 years agotests/evas: replace macro with function in mesh loader/saver test
Mike Blumenkrantz [Tue, 29 Oct 2019 14:05:06 +0000 (10:05 -0400)]
tests/evas: replace macro with function in mesh loader/saver test

this was totally impossible to debug

no functional changes

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

4 years agotests/ecore: add intensive test for recursive timer usage
Mike Blumenkrantz [Mon, 28 Oct 2019 19:50:02 +0000 (15:50 -0400)]
tests/ecore: add intensive test for recursive timer usage

this recurses the mainloop to a depth of 8, continually creating and
triggering timers as it progresses and tracking the states to ensure that
everything is working as expected regardless of depth

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

4 years agotests/ecore: do not create global test timeout timer if running unforked
Mike Blumenkrantz [Mon, 28 Oct 2019 19:03:28 +0000 (15:03 -0400)]
tests/ecore: do not create global test timeout timer if running unforked

this is a pita for debugging

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

4 years agoecore/timer: correctly handle recursive deletion of legacy timers
Mike Blumenkrantz [Mon, 28 Oct 2019 18:59:11 +0000 (14:59 -0400)]
ecore/timer: correctly handle recursive deletion of legacy timers

if a legacy timer callback returns false, the timer is deleted. in the
case where the legacy timer is deleted inside the callback while the same
timer is ticking recursively, however, the deletion must be deferred until
the outer-most frame of the timer's callstack has returned from the callback
in order to avoid improperly handling the timer

@fix

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

4 years agoevas/font: simplify handling strings when constructing font names
Mike Blumenkrantz [Thu, 17 Oct 2019 14:28:55 +0000 (10:28 -0400)]
evas/font: simplify handling strings when constructing font names

no need to strcpy here when we can just pass the length to stringshare directly

CID 1382854

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

4 years agoefl_ui: mark Efl.Ui.Focus.Autoscroll_Mode beta
Mike Blumenkrantz [Mon, 28 Oct 2019 12:36:07 +0000 (08:36 -0400)]
efl_ui: mark Efl.Ui.Focus.Autoscroll_Mode beta

this cannot currently be used for anything and was not explicitly stabilized

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

4 years agoefl_ui: remove Efl.Ui.Slider_Indicator_Visible_Mode
Mike Blumenkrantz [Mon, 28 Oct 2019 12:35:25 +0000 (08:35 -0400)]
efl_ui: remove Efl.Ui.Slider_Indicator_Visible_Mode

this cannot be used for anything and serves no purpose

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

4 years agoeina: introduce a simple malloc near implementation for Chained Mempool.
Cedric BAIL [Fri, 25 Oct 2019 16:11:06 +0000 (09:11 -0700)]
eina: introduce a simple malloc near implementation for Chained Mempool.

This actually seems to significantly and reliably improve speed result with
expedite in a higher way than I expected (~10%) which is neat, I guess.

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

4 years agoeina: make use of the new near allocation policy for Eina_List.
Cedric BAIL [Fri, 25 Oct 2019 15:00:23 +0000 (08:00 -0700)]
eina: make use of the new near allocation policy for Eina_List.

The idea is to improve memory locality and hopefully get better cache hit
in general.

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

4 years agoeina: introduce an API for requesting memory near already allocated memory from an...
Cedric BAIL [Fri, 25 Oct 2019 15:01:35 +0000 (08:01 -0700)]
eina: introduce an API for requesting memory near already allocated memory from an Eina_Mempool.

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

4 years agoeina: change default policy of Chained Mempool to recycle memory right away.
Cedric BAIL [Fri, 25 Oct 2019 14:58:31 +0000 (07:58 -0700)]
eina: change default policy of Chained Mempool to recycle memory right away.

Until now, Chained Mempool would first empty its pool and the started to
recycle memory. Now it does always try to recycle first. This should limit
memory fragmentation to some extend.

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

4 years agoelm/widget: error on null params for tree_unfocusable functions
Mike Blumenkrantz [Wed, 30 Oct 2019 13:29:56 +0000 (09:29 -0400)]
elm/widget: error on null params for tree_unfocusable functions

Summary: these should error so the user can detect that they screwed up

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje_calc: Remove unused flag.
Woochanlee [Wed, 30 Oct 2019 12:10:09 +0000 (08:10 -0400)]
edje_calc: Remove unused flag.

Summary: This has marked remove me.

Reviewers: raster, Hermet, zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agocsharp: FunctionWrapper doc fixes
Lauro Moura [Wed, 30 Oct 2019 11:39:11 +0000 (12:39 +0100)]
csharp: FunctionWrapper doc fixes

Reviewers: felipealmeida, brunobelo, segfaultxavi, woohyun

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoeina: add comparison macros for Eina_Size2D and Eina_Position2D
Mike Blumenkrantz [Tue, 29 Oct 2019 18:52:58 +0000 (14:52 -0400)]
eina: add comparison macros for Eina_Size2D and Eina_Position2D

Summary:
I'm tired of typing all this out. it's exhausting.

also add a couple usages internally to verify that this works as expected

@feature

Reviewers: cedric, bu5hm4n, devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, bu5hm4n, #reviewers, #committers

Tags: #efl

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

4 years agointerfaces: replace doubles with Efl.Gfx.Align where appropriate
Mike Blumenkrantz [Tue, 29 Oct 2019 17:42:07 +0000 (18:42 +0100)]
interfaces: replace doubles with Efl.Gfx.Align where appropriate

Summary:
this makes the types more explicit
Depends on D10554

Reviewers: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl/gfx: add Efl.Gfx.Align type
Mike Blumenkrantz [Tue, 29 Oct 2019 17:42:04 +0000 (18:42 +0100)]
efl/gfx: add Efl.Gfx.Align type

Summary:
this can be used to more explicitly specify that a double is intended to
be a value of 0.0 to 1.0 for the purpose of aligning objects. it also avoids
the need to copy and paste the same docs around everywhere

Reviewers: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agomeson: add embryo as a dep of edje
Marcel Hollerbach [Tue, 29 Oct 2019 16:52:07 +0000 (17:52 +0100)]
meson: add embryo as a dep of edje

if you want to build a edje theme without building all of efl, you can
do that now. Before embryo was missing and no scripts could be compiled.
Now this is possible and works.

4 years agomeson: redo evas building
Marcel Hollerbach [Tue, 29 Oct 2019 16:54:55 +0000 (12:54 -0400)]
meson: redo evas building

Summary:
before recent times we had to support static and shared building based
on the options of the user, which forced us to complicate our build with
the evas_goal hack. the evas_goal hack more or less was the idea of
"faking" the evas build in the evas directory, finish all the .eo
generation there, then build the modules and make all the static files
ready. Then build everything in evas_goal.

Now, that we just build everything the same always, we can simply build
it in the evas way (removing the evas_goal hack FINALLY), as the same modules
are build statically and shared.
This also gives us the possibility to build the shared image loaders
*again* the the modules directory, which unbreaks peoples build scripts
who packaged loader files seperatly.

Reviewers: zmike, raster, cedric, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

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

4 years agoci: remove existing base_dir ccache config on osx build before adding new one
Mike Blumenkrantz [Tue, 29 Oct 2019 16:20:33 +0000 (12:20 -0400)]
ci: remove existing base_dir ccache config on osx build before adding new one

Summary: ensure that this file does not balloon to infinite size

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agomono: encapsulate internal workaround members
Lauro Moura [Tue, 29 Oct 2019 14:57:55 +0000 (11:57 -0300)]
mono: encapsulate internal workaround members

Summary: Depends on D10345

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

Reviewers: segfaultxavi, Jaehyun_Cho, YOhoho

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, woohyun, #committers

Tags: #efl

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

4 years agomono: encapsulate internal iwrapper members
Lauro Moura [Tue, 29 Oct 2019 14:56:38 +0000 (11:56 -0300)]
mono: encapsulate internal iwrapper members

Summary: Depends on D10339

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

Reviewers: segfaultxavi, Jaehyun_Cho, YOhoho

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers, woohyun

Tags: #efl

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

4 years agomono: encapsulate internal delegates
Lauro Moura [Tue, 29 Oct 2019 14:56:04 +0000 (11:56 -0300)]
mono: encapsulate internal delegates

Summary: Depends on D10337

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

Reviewers: segfaultxavi, Jaehyun_Cho, YOhoho, brunobelo

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers, woohyun

Tags: #efl

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

4 years agoedje: selectively inhibit content,changed events when changing swallowed parts
Mike Blumenkrantz [Thu, 10 Oct 2019 17:49:45 +0000 (13:49 -0400)]
edje: selectively inhibit content,changed events when changing swallowed parts

ref T8321

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

4 years agotests/genlist: add behavior testing for nearly all genlist events
Mike Blumenkrantz [Fri, 25 Oct 2019 14:06:56 +0000 (10:06 -0400)]
tests/genlist: add behavior testing for nearly all genlist events

this simulates a number of user interactions to ensure that various
functionalities of genlist actually work, including but not limited to:
* selection
* highlighting
* item focus
* scrolling
* filtering
* dragging
* item reordering

ref T8433

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

4 years agotests/loop_timer: add port of ecore_timer behavior tests for loop_timer
Mike Blumenkrantz [Fri, 25 Oct 2019 17:56:04 +0000 (13:56 -0400)]
tests/loop_timer: add port of ecore_timer behavior tests for loop_timer

ensure that the behavior here is also working exactly as expected

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

4 years agotests/ecore: make timer behavior test even more strict
Mike Blumenkrantz [Fri, 25 Oct 2019 16:50:48 +0000 (12:50 -0400)]
tests/ecore: make timer behavior test even more strict

we need to also verify that timers will process out of order solely based
on their timestamps and ignoring whether they are "recently-added"

additionally verify the behavior of timer interval changing and re-instantiating

ref T8434

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

4 years agoelm/genlist: fix item focus unregister on item move
Mike Blumenkrantz [Mon, 28 Oct 2019 19:45:56 +0000 (15:45 -0400)]
elm/genlist: fix item focus unregister on item move

if the block is realized, its items have been registered into the focus
manager and must be unregistered to avoid double-registering

@fix

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

4 years agoelm/genlist: hide cached item contents and mark content unfocusable during calc
Mike Blumenkrantz [Mon, 28 Oct 2019 19:48:08 +0000 (15:48 -0400)]
elm/genlist: hide cached item contents and mark content unfocusable during calc

cached item contents should already be hidden by the edje clipper, so this simply
changes their visible state to break them out of the focus calcs

contents must also be explicitly marked as unfocusable during calc-only realize
operations in order to avoid triggering a full focus recalc which will error due
to missing focus adapter in the item block

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

4 years agoelm/genlist: set pan need recalc during item move on item position change
Mike Blumenkrantz [Fri, 25 Oct 2019 19:05:29 +0000 (15:05 -0400)]
elm/genlist: set pan need recalc during item move on item position change

item move operations require pan recalc in order to process the item block
positioning updates

@fix

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

4 years agoelm/genlist: fix "drag" smart callback
Mike Blumenkrantz [Thu, 24 Oct 2019 15:36:30 +0000 (11:36 -0400)]
elm/genlist: fix "drag" smart callback

this is only a smart callback and not an eo callback

@fix

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

4 years agoelm/genlist: trigger filter,done callback immediately if no filter queue exists
Mike Blumenkrantz [Wed, 23 Oct 2019 14:38:53 +0000 (10:38 -0400)]
elm/genlist: trigger filter,done callback immediately if no filter queue exists

the documentation says this should trigger when filtering is done, and if
no filtering is pending then it is done

@fix

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

4 years agoelm/genlist: slightly simplify use of _item_filtered_get()
Mike Blumenkrantz [Wed, 23 Oct 2019 14:36:01 +0000 (10:36 -0400)]
elm/genlist: slightly simplify use of _item_filtered_get()

passing the smart data here (which we always have) makes the function
a little clearer to read. similarly, we can check whether the filter_data
pointer is set inside the function to avoid having to check it everywhere else

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

4 years agoelm/genlist: defer recalc when applying a name filter
Mike Blumenkrantz [Wed, 23 Oct 2019 14:27:04 +0000 (10:27 -0400)]
elm/genlist: defer recalc when applying a name filter

this may be called successively during the same mainloop iteration,
so it's important to defer this as much as possible

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

4 years agoelm/genlist: remove calc jobs
Mike Blumenkrantz [Mon, 21 Oct 2019 20:05:33 +0000 (16:05 -0400)]
elm/genlist: remove calc jobs

now that we have a sane and consistent sizing calc mechanism, we no longer
need to be randomly creating jobs to do additional side calcs in addition
to our other multiple bespoke calculation methods

instead, we can now call the calc function directly during the group calc
to perform all the calcs at once and avoid the overhead of constantly triggering
calc jobs

a possible future improvement here could be to remove the _calc_job() call in
the internal pan object's group_calculate, as this is likely a duplicated op
but it will require additional testing to verify

unit test performance (e.g., tree) increases roughly 50-80% after this patch

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

4 years agoelm/genlist: don't process entire item queue on each item add
Mike Blumenkrantz [Mon, 21 Oct 2019 20:03:56 +0000 (16:03 -0400)]
elm/genlist: don't process entire item queue on each item add

this is a colossal waste of time. it ends up realizing every single item
immediately even if it won't be visible, which defeats the purpose of all
the batching and viewport calculations that genlist explicitly does to
avoid exactly this type of behavior

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

4 years agoelm/genlist: freeze/thaw canvas when processing item queue
Mike Blumenkrantz [Mon, 21 Oct 2019 20:01:34 +0000 (16:01 -0400)]
elm/genlist: freeze/thaw canvas when processing item queue

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

4 years agoelm/genlist: only add calc job on theme apply if already finalized
Mike Blumenkrantz [Mon, 21 Oct 2019 19:53:35 +0000 (15:53 -0400)]
elm/genlist: only add calc job on theme apply if already finalized

not a required operation otherwise

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

4 years agoelm/genlist: remove misleading "changed" signal
Mike Blumenkrantz [Mon, 21 Oct 2019 18:02:34 +0000 (14:02 -0400)]
elm/genlist: remove misleading "changed" signal

this was never implemented or documented anywhere and serves only to be
misleading for anyone reading the code

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

4 years agoelm/genlist: fix item highlight/unhighlight eventing on clicks
Mike Blumenkrantz [Mon, 21 Oct 2019 15:02:18 +0000 (11:02 -0400)]
elm/genlist: fix item highlight/unhighlight eventing on clicks

* highlight should only be triggered on mouse down, as that is the point of
  interaction with an item which indicates it is "in use"; a mouse-up event
  cannot occur on an item which has not previously received a mouse-down event,
  so toggling this on mouse-up will be wrong/duplicated 100% of the time
* unhighlight should only be triggered during mouse-up events if the list is
  in no-select mode, as it will otherwise be implicitly during selection if
  necessary

this should ensure that these events are emitted exactly one time and correctly
for each click event

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

4 years agotests/ecore: add more grueling timer throughput test
Mike Blumenkrantz [Thu, 24 Oct 2019 18:26:24 +0000 (14:26 -0400)]
tests/ecore: add more grueling timer throughput test

this verifies that:
* newly-created timers are not triggered in the next loop iteration
* newly-created timers can be triggered the second loop after created
* multiple timers can be triggered in a single loop iteration
* timers are effectively added to the pending timer list

ref T8434

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

4 years agoefl/timer: correctly handle recursion for timer processing
Mike Blumenkrantz [Thu, 24 Oct 2019 15:22:49 +0000 (11:22 -0400)]
efl/timer: correctly handle recursion for timer processing

if the currently-processed timer is recursively deleted (efl_del) while
it is inside the timer tick event callback, we must correctly handle this
case:

* in the place where a timer's inlist is de-linked, we must check to see
  if the timer is the current timer and then update that pointer with the next
  timer in the list
* in the post-tick part of timer processing, we must NOT update the current timer
  pointer if we detect that it has been updated recursively

this fixes processing of timers in the mainloop to trigger more than one legacy timer
per mainloop iteration and likely has some (positive) impact on mainloop throughput

@fix

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

4 years agoefl/timer: don't attempt instantiating timers until they're finalized
Mike Blumenkrantz [Thu, 24 Oct 2019 15:22:17 +0000 (11:22 -0400)]
efl/timer: don't attempt instantiating timers until they're finalized

this will fail anyway so don't bother

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

4 years agotests/genlist: fix tree test sizing
Mike Blumenkrantz [Mon, 21 Oct 2019 19:52:17 +0000 (15:52 -0400)]
tests/genlist: fix tree test sizing

for some reason I used 10px as the base height of a genlist item when clearly
they are more like 30px

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

4 years agotests/elm: add utility function to trigger a mouse drag
Mike Blumenkrantz [Thu, 24 Oct 2019 15:37:32 +0000 (11:37 -0400)]
tests/elm: add utility function to trigger a mouse drag

a drag may require a lot of internal calculating to successfully trigger
the intended test behavior, so this has a flag which allows it to perform
loop iterations and canvas calcs in order to be more universal, along with
a global #define for determining exactly how many mouse moves were triggered

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

4 years agotests/elm: make argv a static char so it never goes out of scope and crashes
Mike Blumenkrantz [Mon, 21 Oct 2019 19:51:28 +0000 (15:51 -0400)]
tests/elm: make argv a static char so it never goes out of scope and crashes

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

4 years agotests/elm: add util functions for clicking objects/parts with event flags
Mike Blumenkrantz [Mon, 21 Oct 2019 14:34:57 +0000 (10:34 -0400)]
tests/elm: add util functions for clicking objects/parts with event flags

this is useful for synthesizing e.g., double click events

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

4 years agotests/elm: add util callback for incrementing an int data
Mike Blumenkrantz [Mon, 21 Oct 2019 14:30:45 +0000 (10:30 -0400)]
tests/elm: add util callback for incrementing an int data

this is a common functionality

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

4 years agoefl_ui_win: Delete useless geometry set for legacy.edje
Woochanlee [Tue, 29 Oct 2019 13:47:48 +0000 (09:47 -0400)]
efl_ui_win: Delete useless geometry set for legacy.edje

Summary:
It will be resized on window_resize_job. when the window got specific size.
I don't think this is needed here. It cause doing a calc in vain.

Test Plan: Launching Test applications.

Reviewers: raster, Hermet, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje_calc: Delete duplicated conditional statement.
Woochanlee [Tue, 29 Oct 2019 13:37:56 +0000 (09:37 -0400)]
edje_calc: Delete duplicated conditional statement.

Summary: this is identical to the conditional above and can be merged
to improve code clarity

Reviewers: raster, Hermet, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoReplace tabs with spaces
Xavi Artigas [Tue, 29 Oct 2019 13:56:01 +0000 (14:56 +0100)]
Replace tabs with spaces

As our coding conventions mandate.

4 years agovg_common_svg: Free node tree for memory leak after eet write.
JunsuChoi [Tue, 29 Oct 2019 04:17:05 +0000 (13:17 +0900)]
vg_common_svg: Free node tree for memory leak after eet write.

Summary:
The node tree created from vg_common_svg_create_svg_node is not used after eet_data_write().
Therefore, to prevent memory leaks, free the node tree.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoeolian_cxx: Add key/value to function_def
Lauro Moura [Mon, 28 Oct 2019 23:35:39 +0000 (20:35 -0300)]
eolian_cxx: Add key/value to function_def

Summary:
This commit adds explicit eolian key/value/return info to function_def. The
original parameter/return types are kept for compatibility.

parameter/return -> Mimics the behavior of the generated C API (i.e.
single-valued getters have their lone value translated to be their
return type)

explicit_return -> The actual return value for that block in the EO
file.
keys/values -> The values for respectively key and values blocks.

This should help working with properties in the generators instead of
fumbling with paremeter/return directly

Fixes T8431

Test Plan: extra tests in the diff

Reviewers: felipealmeida, brunobelo, segfaultxavi, YOhoho

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers, woohyun

Tags: #efl

Maniphest Tasks: T8431

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

4 years agocsharp: Add comparables operator to eina_error.
Bruno da Silva Belo [Mon, 28 Oct 2019 23:34:55 +0000 (20:34 -0300)]
csharp: Add comparables operator to eina_error.

Summary: ref T8394

Reviewers: lauromoura, felipealmeida, segfaultxavi, YOhoho

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8394

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

4 years agocsharp: Add comparables operators to eina_value.
Bruno da Silva Belo [Mon, 28 Oct 2019 23:34:25 +0000 (20:34 -0300)]
csharp: Add comparables operators to eina_value.

Summary: ref T8394

Reviewers: lauromoura, felipealmeida, segfaultxavi, YOhoho, bu5hm4n

Reviewed By: YOhoho

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8394

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

4 years agoeina_mono: remove exceptions in unexpected locations
Yeongjong Lee [Mon, 28 Oct 2019 23:33:47 +0000 (20:33 -0300)]
eina_mono: remove exceptions in unexpected locations

Summary:
Unexpected locations are listed in
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1065

fix CA1065
ref T8402

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

Reviewers: lauromoura, felipealmeida, brunobelo

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8402

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

4 years agomono: encapsulate internal NativeModule
Lauro Moura [Mon, 28 Oct 2019 22:06:38 +0000 (19:06 -0300)]
mono: encapsulate internal NativeModule

Summary:
Depends on D10342
Depends on D10338

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

Reviewers: lauromoura, segfaultxavi, Jaehyun_Cho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers, woohyun

Tags: #efl

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

4 years agomono: encapsulate internal FunctionWrapper
Lauro Moura [Mon, 28 Oct 2019 22:04:33 +0000 (19:04 -0300)]
mono: encapsulate internal FunctionWrapper

Summary: Depends on D10340

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

Reviewers: lauromoura, segfaultxavi, Jaehyun_Cho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, woohyun, #committers

Tags: #efl

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

4 years agomono: encapsulate internal nativemethods
Lauro Moura [Mon, 28 Oct 2019 21:48:26 +0000 (18:48 -0300)]
mono: encapsulate internal nativemethods

Summary: Depends on D10337

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

Reviewers: lauromoura, segfaultxavi, Jaehyun_Cho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, woohyun, #committers

Tags: #efl

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

4 years agomono: encapsulate internal Add/RemoveNativeEventHandler
Yeongjong Lee [Mon, 28 Oct 2019 21:24:15 +0000 (18:24 -0300)]
mono: encapsulate internal Add/RemoveNativeEventHandler

Summary: Depends on D10337

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

Reviewers: lauromoura, segfaultxavi, Jaehyun_Cho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, woohyun, #committers

Tags: #efl

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

4 years agomono: encapsulate internal CustomMarshaler
Yeongjong Lee [Mon, 28 Oct 2019 21:08:01 +0000 (18:08 -0300)]
mono: encapsulate internal CustomMarshaler

Summary: Depends on D10337

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

Reviewers: lauromoura, segfaultxavi, Jaehyun_Cho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers, woohyun

Tags: #efl

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

4 years agomono: introduce friend assembly
Yeongjong Lee [Mon, 28 Oct 2019 20:10:48 +0000 (17:10 -0300)]
mono: introduce friend assembly

Summary:
Friend assemblies can access efl_mono assembly's internal types and members.
If `build-tests` option is true, `efl-mono-suite.exe` and `efl_mono_test.dll`
will become friend assemblies.

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

Reviewers: lauromoura, segfaultxavi, Jaehyun_Cho

Reviewed By: lauromoura

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

Tags: #efl

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

4 years agodocs: Polished docs for Efl.Ui.Scrollable
Xavi Artigas [Mon, 28 Oct 2019 18:32:23 +0000 (19:32 +0100)]
docs: Polished docs for Efl.Ui.Scrollable

4 years agodocs: Formatting and polishing Efl.Ui.Factory docs
Xavi Artigas [Mon, 28 Oct 2019 17:46:13 +0000 (18:46 +0100)]
docs: Formatting and polishing Efl.Ui.Factory docs

4 years agospec-suite: verify correct widget-hiding behaviour.
Marcel Hollerbach [Mon, 28 Oct 2019 16:40:27 +0000 (12:40 -0400)]
spec-suite: verify correct widget-hiding behaviour.

Summary:
These checks are ensuring that when we are hiding a widget, that
everything inside these widgets are also hidden correctly. Due to
clipper or due to visibility flag.

Depends on D10468

Reviewers: zmike

Reviewed By: zmike

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

Tags: #efl

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

4 years agoefl_ui_spotlight_manager: apply vis changes to subobj
Marcel Hollerbach [Mon, 28 Oct 2019 16:40:17 +0000 (12:40 -0400)]
efl_ui_spotlight_manager: apply vis changes to subobj

Summary:
when the sportlight is hidden, the state should be applied to the
backclip and foreclip, in order to hide the subobjects correctly.

This fixes dangling showing widgets.

Reviewers: Jaehyun_Cho, zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agodocs: Improve documentation on cache-related classes
Xavi Artigas [Mon, 28 Oct 2019 15:05:08 +0000 (16:05 +0100)]
docs: Improve documentation on cache-related classes

Also, code comments and typos.

4 years agocsharp: Add missing exception ctor from Errors.cs.
Bruno da Silva Belo [Mon, 28 Oct 2019 14:43:56 +0000 (11:43 -0300)]
csharp: Add missing exception ctor from Errors.cs.

Summary: ref T8392

Reviewers: lauromoura, felipealmeida, segfaultxavi, YOhoho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8392

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

4 years agocsharp: Add missing exception ctr from iwrapper.
Bruno da Silva Belo [Mon, 28 Oct 2019 14:59:52 +0000 (11:59 -0300)]
csharp: Add missing exception ctr from iwrapper.

Summary: ref T8392

Reviewers: felipealmeida, lauromoura, segfaultxavi, YOhoho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8392

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

4 years agoSilence mono warning in tests
Xavi Artigas [Mon, 28 Oct 2019 14:12:35 +0000 (15:12 +0100)]
Silence mono warning in tests

../src/tests/efl_mono/Model.cs(35,13): warning CS0219: The variable `veggies' is assigned but its value is never used

This was driving me nuts... Am I the only one seeing these things?

4 years agoefreet : Check that the file has a protocol in efreet_desktop_command_file_process()
thierry1970 [Mon, 28 Oct 2019 13:07:12 +0000 (09:07 -0400)]
efreet : Check that the file has a protocol in efreet_desktop_command_file_process()

if a path has a '/' character in it before the ':' character then it
should be treated as a local file which contains a ':' character in
its name

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoTypo in comment
Xavi Artigas [Mon, 28 Oct 2019 08:40:33 +0000 (09:40 +0100)]
Typo in comment

4 years agoeina_array: add paramName argument of ArgumentNullException
Yeongjong Lee [Fri, 25 Oct 2019 22:14:58 +0000 (19:14 -0300)]
eina_array: add paramName argument of ArgumentNullException

Summary:
ArgumentNullException constructor included `message` is
`public ArgumentNullException (string paramName, string message);`

Fix CA2208
ref T8428

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

Reviewers: lauromoura, felipealmeida, brunobelo

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8428

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

4 years agoEfl.Ui.Text: Fix Text Cursor composition
Xavi Artigas [Fri, 25 Oct 2019 21:00:31 +0000 (18:00 -0300)]
Efl.Ui.Text: Fix Text Cursor composition

Summary:
This is a temporary fix while Text is being revamped.
Efl.Ui.Text internally composites Efl.Text_Cursor (through some other interfaces)
but this was not being advertised in the EO file.
This caused no trouble to C but was preventing C# from using the Cursors API
(because C# relies on the EO composites section).

On top of this, the cursor_new() method has been removed, since it was redundant.

Test Plan:
Builds and passes tests, and C# is able to do things like:
```
Efl.TextCursorCursor cursor = screen.GetTextCursor(Efl.TextCursorGetType.Main);
screen.InsertCursorText(cursor, str);
```

Reviewers: lauromoura, cedric, tasn

Reviewed By: lauromoura

Subscribers: #reviewers, #committers

Tags: #efl

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

4 years agocsharp:Changing ex access modifier from Errors.cs.
Bruno da Silva Belo [Fri, 25 Oct 2019 18:02:54 +0000 (15:02 -0300)]
csharp:Changing ex access modifier from Errors.cs.

Summary: ref T8401

Reviewers: lauromoura, felipealmeida, YOhoho, segfaultxavi

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8401

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

4 years agoevas: disable Eina Cow Garbage Collection on dynamic content.
Cedric BAIL [Fri, 25 Oct 2019 19:45:14 +0000 (15:45 -0400)]
evas: disable Eina Cow Garbage Collection on dynamic content.

Summary:
Dynamic content are likely to trigger an image state change at pretty
much every frame. This lead to unecessary attempt by Eina_Cow to
deduplicate/cleanup data that are changing all the time. This reduce
memory consumption in Expedite tests that in some small amount. The
gain get bigger the more animation you get on screen. There might be
other potential gain for heavy animated case.

Reviewers: zmike, Hermet, bu5hm4n, smohanty

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8302

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

4 years agoelm_interface_scrollable: correctly honor looping over
Marcel Hollerbach [Fri, 25 Oct 2019 18:05:00 +0000 (14:05 -0400)]
elm_interface_scrollable: correctly honor looping over

Summary:
when looping is enabled, we need to ensure that the correct arrows are
enabled.

ref D9906

Depends on D9908

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoelm_interface_scrollable: correctly emit the signals always
Marcel Hollerbach [Fri, 25 Oct 2019 18:04:54 +0000 (14:04 -0400)]
elm_interface_scrollable: correctly emit the signals always

Summary:
our default theme defaults to show everything, the code here assumes
that everything is hidden by default, this fixes all this.

fix T4918

Depends on D9907

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T4918

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

4 years agoelm_interface_scrollable: correctly handle bouncing
Marcel Hollerbach [Fri, 25 Oct 2019 18:04:46 +0000 (14:04 -0400)]
elm_interface_scrollable: correctly handle bouncing

Summary:
if bounding is enabled, those values can get smaller and bigger than the
max value.

ref T4918

Depends on D9906

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T4918

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