platform/upstream/efl.git
4 years agocanvas3d: remove all feature implementation in edje/edje_cc
Hermet Park [Fri, 20 Mar 2020 09:00:24 +0000 (09:00 +0000)]
canvas3d: remove all feature implementation in edje/edje_cc

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Shinwoo Kim <cinoo.kim@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11547

Change-Id: Ib9dc06e5c3197a6bdfc45edac2d7a5db1cb64219

4 years agoecore_evas_tbm: add surface_get and stride_get symbols.
Hosang Kim [Mon, 23 Mar 2020 08:17:08 +0000 (17:17 +0900)]
ecore_evas_tbm: add surface_get and stride_get symbols.

Change-Id: If833a6fef1789541be88e5292992aec534ddabc4
(cherry picked from commit 7a8201697f3d41fe3c50482a6befcda6f903f683)

4 years agoemotion - webcam - fix segv on webcam plug/unplug and clean
Carsten Haitzler (Rasterman) [Wed, 25 Mar 2020 16:46:27 +0000 (16:46 +0000)]
emotion - webcam - fix segv on webcam plug/unplug and clean

well hunting was fun... custom webcams i just cant see being used. no
api to add them - have to hand craft a config file .. and udev/eeze
provide info on webcam devices anyway at runtime with plug/unplug etc.
... so this should be the only ay (for now) and it keesp the code
simpler and less bug-prone

now issue was some nasty skipping unref as opposed to destroy. in
chasing i simplified the code to help me narrow it down and not chase
the same logic in multiple places. shorter cleaere, simpler and minux
one bug.

@fix

4 years agoevas/render: minor cleanups for norender functions
Mike Blumenkrantz [Wed, 25 Mar 2020 13:27:16 +0000 (09:27 -0400)]
evas/render: minor cleanups for norender functions

Summary:
evas_norender cannot produce update regions, so there's nothing to free

remove commented lines

no functional changes

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoecore_cocoa: remove left over from evas3d removal
Stefan Schmidt [Wed, 25 Mar 2020 11:54:39 +0000 (12:54 +0100)]
ecore_cocoa: remove left over from evas3d removal

These directories do not exist any longer. Failing build on CI.

4 years agocanvas 3d: remove all canvas3d features across efl.
Hermet Park [Wed, 25 Mar 2020 10:14:02 +0000 (19:14 +0900)]
canvas 3d: remove all canvas3d features across efl.

Reviewers: jsuya, kimcinoo, bu5hm4n, raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui_image: keep efl_ui_image size for internal image
Shinwoo Kim [Wed, 25 Mar 2020 10:12:16 +0000 (19:12 +0900)]
efl_ui_image: keep efl_ui_image size for internal image

Summary:
The size of internal image could be bigger than the size of efl_ui_image
with following code.

   image = elm_image_add
   elm_image_fill_outside_set(image, EINA_TRUE);

If the internal image object is 300x300, and efl_ui_image is 360x77, then
the internal image object will resize to 360x360 which is bigger than the
size of efl_ui_image.

This is a compatibility issue. This patch will make efl_ui_image work as
before commit 8cb6c3e Elm_image: implement 'scale_type' and 'scalable'...

Test Plan:
This is old example to reproduce the problem.
{F3859361}

This is newly added example to check if this patch breaks compatibility or not.
{F3859390}

You can use the example with following image.
{F3859391}

This is result before applying this patch.
{F3859388}

This is result after applying this patch.
{F3859389}

The translucent rectangle is the size of the efl_ui_image.
As you might be noticed, only FIT_WIDTH (the 4th one of each row),
and EXPAND (the 6th one of each row) are different.

One more difference the 1st one of 2nd row; NONE.

F.Y.I. and for quick understanding of example.
The 1st row efl_ui_image is bigger than internal image.
The 2nd row efl_ui_image is smaller than internal image.
From the left the scale type is NONE, FILL, FIT, FIT_WIDTH,
FIT_HEIGHT, EXPAND, and TILE.

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoATSPI bridge refactoring 71/228671/2
Bartlomiej Grzelewski [Tue, 24 Mar 2020 11:08:03 +0000 (12:08 +0100)]
ATSPI bridge refactoring

Add support for Text Interactive interface.

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

Change-Id: I9b862608cacbcbc3c29af0e515bf6364de05f829

4 years agoelm_entry: use legacy focus function for legacy widget
Yeongjong Lee [Tue, 29 Oct 2019 01:24:31 +0000 (10:24 +0900)]
elm_entry: use legacy focus function for legacy widget

Since focus manager is not used in tizen, we should use elm_widget_focus_get
instead of efl_ui_focus_object_focus_get.

@tizen_fix

Change-Id: I9aa7da4ec33551eb653d90eb16e0a62e629d719b

4 years ago[Elm AT-SPI Bridge] Replaced service name validation with sanitization.
Maria Bialota [Thu, 19 Mar 2020 18:04:50 +0000 (19:04 +0100)]
[Elm AT-SPI Bridge] Replaced service name validation with sanitization.
This is to enable proper handling of services with names containing non-standard characters such as @.

Change-Id: Iff2ee845648c6e40fd9c950e7fb02ea331cff818

4 years agoefl/mailmap: Move unused addresses to the bottom of list
Christopher Michael [Tue, 24 Mar 2020 20:57:35 +0000 (16:57 -0400)]
efl/mailmap: Move unused addresses to the bottom of list

4 years agoRevert "efl/mailmap: Remove old unused addresses"
Christopher Michael [Tue, 24 Mar 2020 20:52:29 +0000 (16:52 -0400)]
Revert "efl/mailmap: Remove old unused addresses"

Revert these in favor of reorder so we can keep history

This reverts commit 94a80803558a682e78b53e190b23c32b54200c65.

4 years agoefl/mailmap: Remove old unused addresses
Christopher Michael [Tue, 24 Mar 2020 20:17:52 +0000 (16:17 -0400)]
efl/mailmap: Remove old unused addresses

4 years agoeo: free vtable when erroring out
Marcel Hollerbach [Tue, 24 Mar 2020 14:48:20 +0000 (15:48 +0100)]
eo: free vtable when erroring out

if there is a error when settings API to the vtable, free the vtable
instead of leaking it.

CID 1422015

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

4 years agoeo: do not check this here
Marcel Hollerbach [Tue, 24 Mar 2020 14:45:22 +0000 (15:45 +0100)]
eo: do not check this here

as coverity points out, _obj_is_override is already dereferencing
obj->opt so this was the wrong spot to check this.

CID 1422014
CID 1422013

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

4 years agoeo: fix wrong formatting
Marcel Hollerbach [Tue, 24 Mar 2020 14:21:04 +0000 (15:21 +0100)]
eo: fix wrong formatting

no functional changes.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11578

4 years agoeo: only really copy when there is content
Marcel Hollerbach [Tue, 24 Mar 2020 14:19:23 +0000 (15:19 +0100)]
eo: only really copy when there is content

otherwise we are allocating a 0 sized memory element, which is
pointless.
ASAN would report a 0 sized allocated but not freed element as a leak.

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

4 years agoeo: correctly flag allocated memory
Marcel Hollerbach [Tue, 24 Mar 2020 13:40:11 +0000 (14:40 +0100)]
eo: correctly flag allocated memory

sometimes there is the chance that we need to allocate memory depending
on the functions that are defined, not on the types that are available.
However, even if this should only happen in error cases and on mixins,
we should ensure that this is all correctly freed flagged.

Due to the correct flagging here, we are not copying the memory later on
in a wrong way.

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

4 years agoeo: do no allocate a 0 sized segment
Marcel Hollerbach [Tue, 24 Mar 2020 13:39:54 +0000 (14:39 +0100)]
eo: do no allocate a 0 sized segment

allocating 0 sized elements here is pointless.
This here was doing that, so ensure that we are only allocating vtable
nodes that have more than 0 function pointers.

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

4 years agoeo: do not NULL out the object itself
Marcel Hollerbach [Tue, 24 Mar 2020 13:39:10 +0000 (14:39 +0100)]
eo: do not NULL out the object itself

otherwise we would not free it in the next run over the vtable. Which
would result in a leak.

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

4 years agoeo: do not null out the vtable chain of your own classes
Marcel Hollerbach [Tue, 24 Mar 2020 12:55:19 +0000 (13:55 +0100)]
eo: do not null out the vtable chain of your own classes

the free methods here accidently took the top of the mro into account,
which is the class itself, which NULLed out the wrong classes.

After this, we are finally freeing the mixin vtables.

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

4 years agoedje_cc: free ecore_evas
Marcel Hollerbach [Tue, 24 Mar 2020 12:54:37 +0000 (13:54 +0100)]
edje_cc: free ecore_evas

we have initialized it, we should shutdown it.
This was we are not getting random vtable allocation leak reports in the
asan job anymore.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11572

4 years agoeo: do not allocate too much memory
Marcel Hollerbach [Tue, 24 Mar 2020 12:22:16 +0000 (13:22 +0100)]
eo: do not allocate too much memory

when handoverwriting function on a object, only existing API can be
overwritten, but not newer ones. Thats why its enough to pass the size
of the klass, and not the size of the globally defined classes.

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

4 years agotests/elm: add strict test to verify elm image gif support
Mike Blumenkrantz [Tue, 24 Mar 2020 17:22:19 +0000 (13:22 -0400)]
tests/elm: add strict test to verify elm image gif support

Summary: Depends on D11583

Reviewers: kimcinoo, Hermet, raster, cedric, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

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

4 years agotests/elm: use norender_with_updates
Mike Blumenkrantz [Tue, 24 Mar 2020 17:22:16 +0000 (13:22 -0400)]
tests/elm: use norender_with_updates

Summary: Depends on D11582

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas: add function for norendering with updates
Mike Blumenkrantz [Tue, 24 Mar 2020 17:22:12 +0000 (13:22 -0400)]
evas: add function for norendering with updates

Summary:
the same as norender, but useful
Depends on D11581

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas/render: produce update regions when do_draw isn't set but make_updates is
Mike Blumenkrantz [Tue, 24 Mar 2020 17:22:09 +0000 (13:22 -0400)]
evas/render: produce update regions when do_draw isn't set but make_updates is

Summary: this is a valid combination of parameters that should be handled

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoeo - fix err path for eo_isa to unlock shared objects
Carsten Haitzler (Rasterman) [Tue, 24 Mar 2020 13:26:10 +0000 (13:26 +0000)]
eo - fix err path for eo_isa to unlock shared objects

fix CID 1363294

4 years agodoxygen docs: Fix warnings in Ecore_Wl2.h and associates
Xavi Artigas [Tue, 24 Mar 2020 12:42:08 +0000 (13:42 +0100)]
doxygen docs: Fix warnings in Ecore_Wl2.h and associates

4 years agodoxygen docs: Fix warnings in Ecore_Evas.h
Xavi Artigas [Tue, 24 Mar 2020 12:00:35 +0000 (13:00 +0100)]
doxygen docs: Fix warnings in Ecore_Evas.h

And a couple associated places.

4 years agodoxygen docs: Fix warnings in Edje_Edit.h
Xavi Artigas [Tue, 24 Mar 2020 10:58:38 +0000 (11:58 +0100)]
doxygen docs: Fix warnings in Edje_Edit.h

And since we're at it, fix some typos too.

4 years agoelm_transit: Prevent adding duplicates
JunsuChoi [Tue, 24 Mar 2020 12:08:17 +0000 (21:08 +0900)]
elm_transit: Prevent adding duplicates

Summary:
When repeating call elm_transit_object_add,
prevent the object from being added duplicates.

Test Plan: N/A

Reviewers: Hermet, herb, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoelm_transit: replace evas_object_event_callback_xxx with efl_event_callback_xxx
JunsuChoi [Tue, 24 Mar 2020 12:00:26 +0000 (21:00 +0900)]
elm_transit: replace evas_object_event_callback_xxx with efl_event_callback_xxx

Summary:
In transit, event_callback is mainly used for delete callback.
transit uses evas_object_freeze_events_set to control the user's mouse events.
However, EVAS_CALLBACK_DEL was not called because of this.
The behavior of evas_object_freeze_event was changed. This patch was created to fix some issues.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoexactness: switch from homegrown debug printf to eina_log
Stefan Schmidt [Mon, 23 Mar 2020 16:46:10 +0000 (17:46 +0100)]
exactness: switch from homegrown debug printf to eina_log

Use a full eina_log domain here for each executable. No need to have a
own half baked ex_printf version here for such things.

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

4 years agoexactness: remove exactness library and move code into binary folder
Stefan Schmidt [Thu, 19 Mar 2020 16:39:03 +0000 (17:39 +0100)]
exactness: remove exactness library and move code into binary folder

We do not want to have EAPI from exactness exposed at this point without
any real user. I know of no application using the exactness library.
If we come to that point we can move things back into a lib, but for now
having the code shared between the various executables is all we need.

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

4 years agoEfl.Ui.Vg_Animation: Enable transit event.
JunsuChoi [Tue, 24 Mar 2020 10:11:26 +0000 (19:11 +0900)]
Efl.Ui.Vg_Animation: Enable transit event.

Summary:
elm_transit freezes events by default for added objects.
We have to use elm_transit_event_enabled_set to use events.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui_widget: remove meaningless comparison in for loop
WooHyun Jung [Mon, 23 Mar 2020 11:06:18 +0000 (20:06 +0900)]
efl_ui_widget: remove meaningless comparison in for loop

Change-Id: If375316de5c961a96a9e005966a47fef1210c3ec

4 years agoRemove duplicated enum
Bartlomiej Grzelewski [Fri, 20 Mar 2020 13:29:47 +0000 (14:29 +0100)]
Remove duplicated enum

Currently Efl defines two enums:
* Efl_Access_Gesture_State
* Elm_Atspi_Gesture_State
Both off them have same values and both are used in API.
This creates problems for efl developers (additional casting)
as for application developers because Api was not consistant.

Change-Id: I71c350415b00678cbbca5cbf71b7271448931dda
Signed-off-by: Bartlomiej Grzelewski <b.grzelewski@samsung.com>
4 years agoefl/wl: explicitly use restricted size hints for min/max
Mike Blumenkrantz [Thu, 12 Mar 2020 17:17:14 +0000 (13:17 -0400)]
efl/wl: explicitly use restricted size hints for min/max

need to be clear here since we own these objects

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

4 years agoefl_ui_test_widget: add test for subtree disabling / tree unfocusabling
Marcel Hollerbach [Mon, 23 Mar 2020 16:35:12 +0000 (17:35 +0100)]
efl_ui_test_widget: add test for subtree disabling / tree unfocusabling

this is valdating the previous commit.

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

4 years agoefl_ui_widget: pass the correct flag here
Marcel Hollerbach [Mon, 23 Mar 2020 16:32:56 +0000 (17:32 +0100)]
efl_ui_widget: pass the correct flag here

this here needs to pass the flag that gets set, not the flag that
results. This is important for the cases, where a subtree in a widget
tree keeps the flag. As this would leave the wrong counter.

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

4 years agoC#: Update C# code-generation to use a new ICustomMarshaler in some string usages...
Lucas Cavalcante de Sousa [Fri, 28 Feb 2020 15:58:08 +0000 (15:58 +0000)]
C#: Update C# code-generation to use a new ICustomMarshaler in some string usages that were leaking

When `C` calls a function that return/has an out string and it was overwritten by `C#` inherit class the `C` portion
wasn't cleaning its copy. Now, when a `C` calls a `C#` delegate function, `Strings` that are `out` values or `return`
values use a new marshaler (specific to this case) that uses Eina short lived strings (`Eina_Slstr`) instead of
duplicating it with `strdup`, so at some point, the string passed to `C` is deleted.

To do so, a `direction_context` (a new `Context` at `generation_contexts.hh`) was created. It is only used when a C#
delegate is being called from C (so this context is only set in `function_definition.hh` and `property_definition.hh`,
where it is set to `native_to_manage` to indicate that it is a native call to a managed function).

When this `direction_context` is set and the `String` being marshaled is not marked with an `@move` tag and it is an
`out` or `return` value, the new `StringOutMarshaler` (implemented at `iwrapper.cs`) is used (instead of
`StringKeepOwnershipMarshaler`).

When marshaling a managed data to native this marshaler uses eina short lived string (`Eina_Slstr`) that will be
automatically deleted. This delete is bounded to "the loop of the current thread or until the clear function is called
explicitly" as said at `src/lib/eina/eina_slstr.h`.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11434

4 years agoefl_ui_widget: unify tree number settings code
Marcel Hollerbach [Mon, 23 Mar 2020 16:12:25 +0000 (12:12 -0400)]
efl_ui_widget: unify tree number settings code

Summary:
the internals of those two methods have been the same. Both setted the
internal numeric flag as either as 1 more or equal to the flag in the
parent object (depending on the internal state). Further details can be
found in the comment in code.
Depends on D11554

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui_widget: do not eval all the children twice
Marcel Hollerbach [Mon, 23 Mar 2020 16:12:19 +0000 (12:12 -0400)]
efl_ui_widget: do not eval all the children twice

Summary:
eval all children is ending up in the complete discovery of the whole
subtree, which is unnessesary here, as we are already discovering the
whole subtree with the calls, these changes are in, so simple
evalulating this is enough.
Depends on D11551

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui_widget: fix disabled set behaviour
Marcel Hollerbach [Mon, 23 Mar 2020 16:12:12 +0000 (12:12 -0400)]
efl_ui_widget: fix disabled set behaviour

Summary:
this fixes disabled set behaviour. This ensures that when setting
disabled twice, that unsetting it once does not break the overall state.

This never appeared in any real life example, because
elm_object_disabled_set is already checking for equalness. However, this
is not wanted here, because the simple setter can also be used to sync
the state with the parent, which appears to be helpfull.

Depends on D11550

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui_widget: fix tree_unfocusable setting
Marcel Hollerbach [Mon, 23 Mar 2020 16:12:06 +0000 (12:12 -0400)]
efl_ui_widget: fix tree_unfocusable setting

Summary:
when setting twice the same value, unsetting the same value would not
restore the same state in the tree again. With this commit, we ensure
this is working correctly.

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

4 years agodoxygen docs: Fix warnings in textblock
Xavi Artigas [Mon, 23 Mar 2020 11:14:07 +0000 (12:14 +0100)]
doxygen docs: Fix warnings in textblock

4 years agodoxygen docs: Fix Exactness warnings
Xavi Artigas [Mon, 23 Mar 2020 10:20:12 +0000 (11:20 +0100)]
doxygen docs: Fix Exactness warnings

4 years agoRevert "Revert eo vtale rework..."
Marcel Hollerbach [Mon, 23 Mar 2020 10:32:48 +0000 (11:32 +0100)]
Revert "Revert eo vtale rework..."

This reverts commit efb15f510c70acde922d59708494539aa686c408.

The error that was causing this was in ector, and is fixed with the
previous commit.

4 years agoector: fix pointer checking
Marcel Hollerbach [Mon, 23 Mar 2020 10:20:56 +0000 (11:20 +0100)]
ector: fix pointer checking

we want to check if the pointer is available, and not the value of the
pointer. This fixes some "Jump depends on uninitialized value" messages
from valgrind.

4 years agoRevert eo vtale rework...
Carsten Haitzler (Rasterman) [Mon, 23 Mar 2020 09:04:33 +0000 (09:04 +0000)]
Revert eo vtale rework...

Revert "eo: redo vtable mro creation"
This reverts commit b05110609b38b24f5a11b78bf9a92212da713ce3.
Revert "eo: add a generic memory allocation tracking method"
This reverts commit 44071e3102a1526370ae6d653b93a1d20fe87339.
Revert "eo: rework vtable allocation scheme"
This reverts commit 3bd16a46f1098f5533723208feae8abafae4e8ab.
Revert "eo: do not allocate extension if deleting"
This reverts commit 64f7edc7fc0596425cdc2a1db8aacf06430994f0.

This seems to breal vector rendering in lottie:

From: Hermet Park <hermetpark@gmail.com>
To: Enlightenment developer list <enlightenment-devel@lists.sourceforge.net>
Subject: Re: [E-devel] [EGIT] [core/efl] master 02/05: eo: rework
vtable allocation scheme

This patch occurs memory corruption, vector crashes :(
Here is a sample if you'd like to see it.
https://phab.enlightenment.org/F3858944

4 years agocanvass vg: fix a mistake in 69fd72af2cae8dce07ac2becad40eccbb55b5bc7
Hermet Park [Mon, 23 Mar 2020 05:39:53 +0000 (14:39 +0900)]
canvass vg: fix a mistake in 69fd72af2cae8dce07ac2becad40eccbb55b5bc7

4 years agocanvas vg: drop vg cache buffers if object were destroyed.
Hermet Park [Mon, 23 Mar 2020 05:16:48 +0000 (14:16 +0900)]
canvas vg: drop vg cache buffers if object were destroyed.

Previous vg didn't take care of cached buffers which were
allocated in it's lifetime because the cache buffers are managed
by its own cache buffer mgr, it has a limitation count of buffers also
buffers can be cleared when engine is shutdown.

This behavior is actually working properly but not well optimized
since it lost a chance to clear grown buffers.

Now vg do clear used buffers when object is invalidated.

4 years agointerface_scrollable: modify to use a config value for adjusting
Wonki Kim [Fri, 20 Mar 2020 05:05:26 +0000 (14:05 +0900)]
interface_scrollable: modify to use a config value for adjusting

_elm_config->thumbscroll_sensitivity_friction was used for calculating time delta variable.
this patch introduces the config value for adjusting dt value

Change-Id: I13ed1cac2ed3226e17018f05d4f61195fe8c3a04

4 years agoecore: fix a potentional null dereferencing
Wonki Kim [Wed, 18 Mar 2020 04:36:36 +0000 (13:36 +0900)]
ecore: fix a potentional null dereferencing

Summary:
there is a potentional problem that is about null pointer dereferencing(values[0], and values[1])
this patch fixes it.

Reviewers: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I20d98cee2b2f76e3e6b923e8c489d07ad238b0bd

4 years agoecore evas cnp x - fix nul byte extras when text pasting to other apps
Carsten Haitzler (Rasterman) [Sun, 22 Mar 2020 18:39:54 +0000 (18:39 +0000)]
ecore evas cnp x - fix nul byte extras when text pasting to other apps

i was seeing junk bytes in pastes to chromium... it was an extra nul
byte. this will special-case nuke that.

4 years agoeo: redo vtable mro creation
Marcel Hollerbach [Fri, 20 Mar 2020 11:32:44 +0000 (11:32 +0000)]
eo: redo vtable mro creation

Summary:
up to now we have created the vtable of a class by walking the mro from
the most upper element to the klass itself. To give a broader view, the
mro of a klass X that extends the class Y and implements A,B,C,D

The mro of X is then equal to [A,B,C,D] + the mro of Y. Which means, we
can simply copy over the vtables of Y, and start walking at D, which
will result in the same vtable.

The sideeffect of doing that is, that we do not allocate that much
memory anymore. Reason for this is quite simple:
For every mixin that is part of the mro, we are copying the vtable node,
to insert new API implemented by the mixin. However, the resulting new
vtable is every time the same. Which means, we could actaully copy them.

The same messurements as in the previous commits are taken:
malloc tracking:
  new: 452128
  old: 556656
  Safeup: ~102 KB

pmap:
  new: 542884K
  old: 542168K
  Safeup: ~716 KB
Depends on D11538

Reviewers: zmike, stefan_schmidt, tasn, raster, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoeo: add a generic memory allocation tracking method
Marcel Hollerbach [Fri, 20 Mar 2020 11:32:40 +0000 (11:32 +0000)]
eo: add a generic memory allocation tracking method

Summary:
this is super usefull when checking memory allocations. Esp. when
checking out new memory allocation schemes.
Depends on D11535

Reviewers: zmike, stefan_schmidt, tasn, raster, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoeo: rework vtable allocation scheme
Marcel Hollerbach [Fri, 20 Mar 2020 11:32:38 +0000 (11:32 +0000)]
eo: rework vtable allocation scheme

Summary:
with this commit a new way of allocating vtables arrived.
The old mechnism was to allocate a table big enough to carry *all*
functions at once, in order to not allocate that much memory for
functions that are not implemented on a specific klass, dichchains have
been used, which can be seens as a 2D matrix, where columns are only
allocated if min 1 entry needs to be written, this may have been a good
way to allocate back in the day when all this with eo started, however,
it showed to not pay off.

With this new way, we allocate a array of arrays. the first lvl array is
carrying enough slots, that *all* up to the time defined
interfaces/classes/abstracts/mixins can be implemented. The second lvl
array then has exactly the size of the defined APIs. The second lvl
array is obviously only allocated if needed.

When comparing the two methods, i messured two things, the usage based
on memory allocation for vtable-way-1 and vtable-way-2. Additionally, i
checked the overall memory usage of elementary_test using pmap. The
first messurement is a little bit more exact. The second messurement is
more biased, but captures the whole picture.

Memory allocation tracking:
   vtable-way-1 - vtable-way-2 = 74680 Byte

Pmap memory tracking:
   vtable-way1 - vtable-way-2 = 217088 Byte

The second messurement shows a bigger impact, likely because this is
also showing off all the sideeffects that we are taking place due to
fewer allocations.

Depends on D11524

Reviewers: zmike, tasn, stefan_schmidt, woohyun, cedric, raster

Subscribers: #reviewers, #committers

Tags: #efl

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

4 years agoeo: do not allocate extension if deleting
Marcel Hollerbach [Fri, 20 Mar 2020 11:32:35 +0000 (11:32 +0000)]
eo: do not allocate extension if deleting

Summary:
->ext is getting freed during invalidate. If we unregister during
destruction (which is something that might happen) we should not
allocate the extension again.

Reviewers: woohyun, zmike, eagleeye

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl.ui.textbox: load default font properties once
Ali Alzyod [Tue, 25 Feb 2020 11:30:23 +0000 (11:30 +0000)]
efl.ui.textbox: load default font properties once

As described in task T8617
when toggle editable mode for textbox, we will reserve user changes (instead of reload them again).

this issue is affected by D9502, I do not fully understand why do we need it, so I leave color loading as it is.

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

4 years agoevas/render: fix log ptr access in render thread
Mike Blumenkrantz [Wed, 18 Mar 2020 16:29:21 +0000 (12:29 -0400)]
evas/render: fix log ptr access in render thread

when this lock is released, the evas may be immediately freed, leading to
invalid access in the log call

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

4 years agoefl/layout: add explicit doc note about efl.player property defaults
Mike Blumenkrantz [Mon, 10 Feb 2020 17:21:11 +0000 (12:21 -0500)]
efl/layout: add explicit doc note about efl.player property defaults

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

4 years agoefl/player: add doc note about default values for new (1.24) properties
Mike Blumenkrantz [Mon, 10 Feb 2020 17:15:57 +0000 (12:15 -0500)]
efl/player: add doc note about default values for new (1.24) properties

we're going to be overriding the default in at least some classes, so make
sure we make it explicit that the behavior is documented

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

4 years agoefl/layout: add @empty for missing efl.player methods
Mike Blumenkrantz [Mon, 10 Feb 2020 17:14:39 +0000 (12:14 -0500)]
efl/layout: add @empty for missing efl.player methods

need to at least track these

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

4 years agoefl_ui/image: implement efl.player::playback_loop property
Mike Blumenkrantz [Mon, 10 Feb 2020 17:11:03 +0000 (12:11 -0500)]
efl_ui/image: implement efl.player::playback_loop property

this enables the existing looping functionality only when playback_loop
is set (which is always set for legacy widgets)

fix T8589

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

4 years agoefl_ui/image_zoomable: unset timer pointer when canceling animation timer
Mike Blumenkrantz [Mon, 10 Feb 2020 17:10:09 +0000 (12:10 -0500)]
efl_ui/image_zoomable: unset timer pointer when canceling animation timer

make sure we have no stale pointers later on in this case

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

4 years agoefl_ui/image: implement efl.player::autoplay for image widgets
Mike Blumenkrantz [Mon, 10 Feb 2020 16:05:35 +0000 (11:05 -0500)]
efl_ui/image: implement efl.player::autoplay for image widgets

this just calls efl.player::playing_set any time autoplay is true and
the internal image object is preloaded

ref T8589

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

4 years agocanvas3d: remove all feature implementation in edje/edje_cc
Hermet Park [Fri, 20 Mar 2020 09:00:24 +0000 (09:00 +0000)]
canvas3d: remove all feature implementation in edje/edje_cc

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Shinwoo Kim <cinoo.kim@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11547

4 years agoexactness: remove support for legacy .rec format
Stefan Schmidt [Wed, 18 Mar 2020 16:03:07 +0000 (17:03 +0100)]
exactness: remove support for legacy .rec format

From now on we will only go with the new .exu format. All tests have
been converted two and a half years ago already. If there still is a
need for this in some corner cases the external exactness application
still has support for this.

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

4 years agoexactness: factor out the special _mkdir() handling
Stefan Schmidt [Tue, 17 Mar 2020 16:08:40 +0000 (17:08 +0100)]
exactness: factor out the special _mkdir() handling

We have an ecore function to handle most of this already. For the case
where we give a file name cut off that part before handing it off to
creation.

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

4 years agoexactness: factour out the program invoke code
Stefan Schmidt [Tue, 17 Mar 2020 15:53:30 +0000 (16:53 +0100)]
exactness: factour out the program invoke code

It needs a little special case handling for the player (to load the edj
file), but the rest is really the same.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11460

4 years agoefl/hint: update doc for default weight hint value
Mike Blumenkrantz [Fri, 20 Mar 2020 10:59:58 +0000 (11:59 +0100)]
efl/hint: update doc for default weight hint value

Summary: the default is actually 1.0 and always has been for unified api

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas filter: work for native surface
Shinwoo Kim [Fri, 20 Mar 2020 06:37:31 +0000 (15:37 +0900)]
evas filter: work for native surface

Summary:
Filter does not know how to draw native surface image using engine_data.
It means that only image knows how to draw it. In case of GL engine, image
is using a shader program for IMAGENATIVE in the common_context_image_push.

This patch makes filter work for native surface image by drawing the native
surface first using the common_context_image_push as below.

   Before: image -> common_filter_*_push -> filter_output
   After: image -> common_context_image_push -> filter_input ->
          common_filter_*_push -> filter_output

Test Plan: {F3856981}

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl/wl: auto-unset weight if popups provide a size in their positioner
Mike Blumenkrantz [Thu, 19 Mar 2020 16:06:18 +0000 (12:06 -0400)]
efl/wl: auto-unset weight if popups provide a size in their positioner

Summary:
we "sometimes" set this to EXPAND,EXPAND in the base efl object constructor,
so we need to unset that in this case

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl/wl: don't delete group clipper on object destruction
Mike Blumenkrantz [Thu, 19 Mar 2020 15:14:54 +0000 (11:14 -0400)]
efl/wl: don't delete group clipper on object destruction

Summary: this is already handled internally in evas

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agocanvas 3d: remove canvas3d edje
Hermet Park [Thu, 19 Mar 2020 09:47:36 +0000 (18:47 +0900)]
canvas 3d: remove canvas3d edje

Summary: Remove functional stuff, leave as deprecated for compatibility.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_wl: Null check to prevent crash.
Woochanlee [Wed, 18 Mar 2020 06:07:19 +0000 (15:07 +0900)]
efl_wl: Null check to prevent crash.

xkb_map_get_as_string can return null in exceptional case.

Change-Id: I6d401d79c66cff514b58dc9a716276808c4f191e
WGID: 434604

4 years agoefl_ui_widget: prevent from integer overflow
WooHyun Jung [Wed, 18 Mar 2020 05:13:23 +0000 (14:13 +0900)]
efl_ui_widget: prevent from integer overflow

Change-Id: Ibdfffe3883854f132993e15d5d741c835dd4dda5

4 years agoedje_text: fix unreachable code
Bowon Ryu [Wed, 18 Mar 2020 05:33:48 +0000 (14:33 +0900)]
edje_text: fix unreachable code

In this state, text.min_x is always 1.
Also, if text.min_x = 1, ellipsis should be -1 to ensure operation.

Change-Id: I326afd259c43eff1e0054d404ca2543660aaf7d8
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
4 years agoefl_canvas_vg_object: add since_tizen tags for root node set/get APIs
Taehyub Kim [Tue, 17 Mar 2020 04:45:34 +0000 (13:45 +0900)]
efl_canvas_vg_object: add since_tizen tags for root node set/get APIs

Change-Id: Ia5944115b92253dc54ffc5322a11a7ae0191fc2d

4 years agoevas_vg: modified the join enum documentation
Taehyub Kim [Tue, 17 Mar 2020 04:01:09 +0000 (13:01 +0900)]
evas_vg: modified the join enum documentation

Summary:
modified the join enum documentation for Efl_Gfx_Join and Evas_Vg_Join
since the order of documentation is wrong

Depends on D11519

Reviewers: jsuya, Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I341dae8bd8020f51e5bcf67906fbc0bc80230bfb

4 years agoevas gl: toggle partial rendering properly.
Hermet Park [Tue, 17 Mar 2020 01:53:01 +0000 (10:53 +0900)]
evas gl: toggle partial rendering properly.

It doesn't need to toggle on/off duplicatedly.

Change-Id: I9becea7ba10065db74075e269dbeca2d435c3f7c

4 years agoelm_conform : Add elm_conformant_input_area_disabled_set/get APIs
Woochanlee [Thu, 12 Mar 2020 07:33:03 +0000 (16:33 +0900)]
elm_conform : Add elm_conformant_input_area_disabled_set/get APIs

Applications in certain environments do not want to resize the conformant due to the input area.
For example, in an app where a round image is set as the background above the contour,
the image may look broken when the conformation is resized.

@tizen_feature

Change-Id: I731abbc6eb4769ad965eaba37b6d2518fe760df6

4 years agoevas_vg: add since tags for evas vector APIs
Taehyub Kim [Mon, 16 Mar 2020 10:44:52 +0000 (19:44 +0900)]
evas_vg: add since tags for evas vector APIs

Change-Id: Ifdd0dbfc8e2ab98f2c5a4302890402f1f55cb1ea

4 years agoevas_vg: refined the documentation for evas vector APIs
Taehyub Kim [Mon, 16 Mar 2020 10:24:58 +0000 (19:24 +0900)]
evas_vg: refined the documentation for evas vector APIs

Change-Id: I31d33f277e99b3bbaa4d1975af613a687b5687df

4 years agoevas_vg: refined the evas vector APIs set
Taehyub Kim [Mon, 16 Mar 2020 09:52:48 +0000 (18:52 +0900)]
evas_vg: refined the evas vector APIs set

Change-Id: I22e05e7f452694edd8deebd0b6045aebd25cf4ee

4 years agodoxygen docs: Fix Eina Promises doc structure and links
Xavi Artigas [Tue, 17 Mar 2020 18:21:41 +0000 (19:21 +0100)]
doxygen docs: Fix Eina Promises doc structure and links

Man, this was a tough one!
The content still needs work, but the structure makes a bit more sense now,
and there are no broken links, typos or doxygen warnings anymore.

4 years agodoxygen docs: Create Eina Vector2 group in the right place
Xavi Artigas [Fri, 13 Mar 2020 10:03:21 +0000 (11:03 +0100)]
doxygen docs: Create Eina Vector2 group in the right place

A couple members were outside the group and appeared in the
Eina Data Types page instead.

4 years agodoxygen docs: Put quadtrees in their own group
Xavi Artigas [Fri, 13 Mar 2020 10:00:59 +0000 (11:00 +0100)]
doxygen docs: Put quadtrees in their own group

To clean up the Eina Data Types page

4 years agocanvas3d: remove canvas3d examples.
Hermet Park [Tue, 17 Mar 2020 12:04:47 +0000 (21:04 +0900)]
canvas3d: remove canvas3d examples.

Summary: This is a dead feature, remove it.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoSpotlight: Remove jump_setup from ctors list
Xavi Artigas [Tue, 17 Mar 2020 10:56:37 +0000 (11:56 +0100)]
Spotlight: Remove jump_setup from ctors list

This feature has not been used yet and it is making mono_gen abort, breaking build
(probably because this property has setter but no getter).

4 years agodocs: Improve Spotlight.Animation_Manager docs
Xavi Artigas [Tue, 17 Mar 2020 10:39:41 +0000 (11:39 +0100)]
docs: Improve Spotlight.Animation_Manager docs

4 years agoecore evas x - on argb dont create unused 1 bit pixmap masks
Carsten Haitzler (Rasterman) [Mon, 16 Mar 2020 20:34:57 +0000 (20:34 +0000)]
ecore evas x - on argb dont create unused 1 bit pixmap masks

found out we had a wasted 1 bit pixmap mask for argb windows left over
from shaped window support... so don't create it. drop resources a bit.

@fix

4 years agomove stabelized items out of @beta
Ali Alzyod [Wed, 12 Feb 2020 13:07:17 +0000 (13:07 +0000)]
move stabelized items out of @beta

ref T8541
ref T8522

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

4 years agoefl_ui_spotlight: Introduce animation manager
Marcel Hollerbach [Fri, 14 Feb 2020 18:02:14 +0000 (19:02 +0100)]
efl_ui_spotlight: Introduce animation manager

the manager is basically not new, its just the moved fade manager, with
a little bit more utilization. The manager now can be equipt with 3
animaton objects that are played when the correct reason happens.

For now the fade manager is the only thing that uses that.

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11358

4 years agoefl_ui_spotlight_manager: introduce a reason for switch_to
Marcel Hollerbach [Fri, 14 Feb 2020 16:37:42 +0000 (17:37 +0100)]
efl_ui_spotlight_manager: introduce a reason for switch_to

This is preparation work for a later commit. This brings a flag that
indicates what the reason for a switch to call is, either a jump a push
or a pop.

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

4 years agoecore_cocoa: fix wrong word in documentation
Taehyub Kim [Thu, 5 Mar 2020 02:54:21 +0000 (02:54 +0000)]
ecore_cocoa: fix wrong word in documentation

modified the wrong word for mime_type parameters

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

4 years agoecore_input_evas: fix memory leak when ecore_event_evas is shutdown.
Hosang Kim [Tue, 17 Mar 2020 03:34:05 +0000 (03:34 +0000)]
ecore_input_evas: fix memory leak when ecore_event_evas is shutdown.

_last_events and eel structure are not freed when ecore_event_evas is shutdown.

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

4 years agoeina_file: fix a typo error
Wonki Kim [Mon, 16 Mar 2020 07:24:24 +0000 (07:24 +0000)]
eina_file: fix a typo error

'sefl' is definitely a typo
this patch fixes it

Reviewed-by: Shinwoo Kim <cinoo.kim@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11510