platform/upstream/efl.git
5 years agoeolian: add support for the container array
Marcel Hollerbach [Wed, 23 Jan 2019 13:39:44 +0000 (14:39 +0100)]
eolian: add support for the container array

this fixes a lot of different warnings in the efl_mono test generation.

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7730

5 years agoefl_net: make server_ip abstract
Marcel Hollerbach [Tue, 22 Jan 2019 14:43:32 +0000 (15:43 +0100)]
efl_net: make server_ip abstract

there is no code handling for client_add or client_reject.

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

5 years agoefl: split efl_ui_range into display and interactive
Marcel Hollerbach [Mon, 21 Jan 2019 15:22:32 +0000 (16:22 +0100)]
efl: split efl_ui_range into display and interactive

display contains properties that are used to manipulate the display.
Range_step is a interactive property since it manipulates the way the
user interacts with this widget. This resolves a few unimplemented APIs.

ref T5719

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

5 years agoecore_audio: implement not implemented APIs as empty
Marcel Hollerbach [Mon, 21 Jan 2019 14:43:20 +0000 (15:43 +0100)]
ecore_audio: implement not implemented APIs as empty

the empty handlers will always return 0 / NULL so never indicate
success.

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

5 years agoeolian: refactor validator error logging
Daniel Kolesa [Wed, 23 Jan 2019 15:21:26 +0000 (16:21 +0100)]
eolian: refactor validator error logging

It hasn't been necessary to keep these temporary buffers around
for quite a while, nobody just got around to remove them. Eolian
has a good formattable error logging system in its core now.

Also, use same erroring style on parts as on functions, i.e.
batch-print all the conflicts at once.

5 years agoeolian: inherit composite lists and allow in abstracts/mixins
Daniel Kolesa [Wed, 23 Jan 2019 14:57:48 +0000 (15:57 +0100)]
eolian: inherit composite lists and allow in abstracts/mixins

There isn't any more logic necessary because checks are still only
done on regular classes; we just need to make sure that composite
lists from its inheritance tree are accounted for.

5 years agotests/ecore: reenable ecore-audio play test
Mike Blumenkrantz [Tue, 22 Jan 2019 18:10:13 +0000 (13:10 -0500)]
tests/ecore: reenable ecore-audio play test

this seems to work now

fix T4018

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

5 years agoci: travis: bring back default and wayland builds
Stefan Schmidt [Wed, 23 Jan 2019 14:13:27 +0000 (09:13 -0500)]
ci: travis: bring back default and wayland builds

Summary:
With some recent changes we only had builds running after a push which
did not qualify for a make check / ninja test run. Mostly due to problems
with the tests and specific config options. Bring back a default build
which will also run the unit tests un every push.

Also adding back a dedicated wayland build due to conflicts of gl
versions with the all options enabled build.

Fixes T7545

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7545

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

5 years agoeolian: error out when owned type does not have a free function
Marcel Hollerbach [Mon, 14 Jan 2019 19:40:55 +0000 (20:40 +0100)]
eolian: error out when owned type does not have a free function

if there is no free function, then there is no way that this value is
owned by the caller,

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7712

5 years agoefl_mono: add a free function to every owned type
Marcel Hollerbach [Mon, 14 Jan 2019 22:57:31 +0000 (23:57 +0100)]
efl_mono: add a free function to every owned type

this is another step towards enforcing free functions on every owned
type. To equip every owned type with a free function the following is
applied. Every owned ptr is assumed to be a heap pointer, with the free
function "free". Every string that is owed is converted to a mstring. a
pointer to a eo object is also assumed to be a heap pointer, and equiped
with the free function "free".

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

5 years agoeolian_cxx: add free functions to the types
Marcel Hollerbach [Mon, 14 Jan 2019 22:00:28 +0000 (23:00 +0100)]
eolian_cxx: add free functions to the types

later on @owned functions are enforced to have free functions attached,
if not, eolian will bail out. This is ensuring this for the eolian-cxx
functions

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

5 years agoefl_ui_widget: set a proper legacy name for widget_parent_set
WooHyun Jung [Thu, 17 Jan 2019 06:19:50 +0000 (06:19 +0000)]
efl_ui_widget: set a proper legacy name for widget_parent_set

Previously, legacy name of this property was "elm_widget_parent_set".
But, in efl_ui_widget.eo.legacy.h, it's current name is
"elm_widget_widget_parent_set" which is not matched well with
"elm_widget_parent_get" at all.

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

5 years agoecore-evas/extn: use evas from events when updating key masks
Mike Blumenkrantz [Tue, 22 Jan 2019 17:05:32 +0000 (12:05 -0500)]
ecore-evas/extn: use evas from events when updating key masks

Summary:
plug canvases do not have ee->evas, so this fixes unlimited error messages
while also fixing the corresponding functionality

@fix
fix T5536

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5536

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

5 years agoci: update distro checks after version upgrades
Stefan Schmidt [Tue, 22 Jan 2019 16:49:32 +0000 (11:49 -0500)]
ci: update distro checks after version upgrades

Summary:
These two checks still used the, now updated to newer, Debian and Ubuntu
versions. It only showed in the daily cron job build.

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoci: travis: stop pushing images after build to docker hub
Stefan Schmidt [Tue, 22 Jan 2019 13:54:39 +0000 (08:54 -0500)]
ci: travis: stop pushing images after build to docker hub

Summary:
This stopped working a while ago and we are not actively using it.
If we need it we can bring it back in a better way later.
Depends on D7708

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoci: travis: update distro tags
Stefan Schmidt [Tue, 22 Jan 2019 13:53:55 +0000 (08:53 -0500)]
ci: travis: update distro tags

Summary: Switch to newer versions of Fedora, Ubuntu and Debian.

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoector: remove unused function
Marcel Hollerbach [Mon, 21 Jan 2019 14:37:52 +0000 (15:37 +0100)]
ector: remove unused function

done is not called, nor implemented in a single spot, lets remove it.
It can still be readded once its needed.

ref T5719

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

5 years agoefl_access: add free functions to efl_acces_object types
Marcel Hollerbach [Mon, 14 Jan 2019 19:43:21 +0000 (20:43 +0100)]
efl_access: add free functions to efl_acces_object types

there are owned types in eolian, therefore a free function should be
defined on the types that are owned.

Reviewed-by: Lukasz Stanislawski <l.stanislaws@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7711

5 years agoefl_access: add free function to Efl_Access_Text_Range struct
Lukasz Stanislawski [Tue, 22 Jan 2019 06:59:50 +0000 (06:59 +0000)]
efl_access: add free function to Efl_Access_Text_Range struct

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

5 years agoefl_ui_list_view_types: add a free function to the struct type
Marcel Hollerbach [Mon, 14 Jan 2019 22:03:00 +0000 (23:03 +0100)]
efl_ui_list_view_types: add a free function to the struct type

this type is used with @owned, which means, it needs a free function.
So we can ensure everything that is owned also has a free function

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

5 years agoefl: add free functions to owned types
Marcel Hollerbach [Mon, 14 Jan 2019 19:28:45 +0000 (20:28 +0100)]
efl: add free functions to owned types

this commit is a first step in order to add free functions to all the
types that are owned.

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

5 years agoelm: restore old elm_web behaviour
Marcel Hollerbach [Mon, 14 Jan 2019 19:12:32 +0000 (20:12 +0100)]
elm: restore old elm_web behaviour

Everything that is owned must have a free function. In commit
1afd3c215fe5e8933a5ccf0a49aa2fee41043286 the string was
converted to const(string) it was not const before.
So this is converting back to the old behaviour.

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

5 years agoelm.hoversel: ensure sd is not NULL
Boris Faure [Sun, 20 Jan 2019 21:13:23 +0000 (22:13 +0100)]
elm.hoversel: ensure sd is not NULL

Summary: elm.hoversel: ensure sd is not NULL

Reviewers: cedric, zmike, raster

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

Tags: #efl

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

5 years agoeolian: add support for composite section into regular classes
Daniel Kolesa [Fri, 18 Jan 2019 16:24:12 +0000 (17:24 +0100)]
eolian: add support for composite section into regular classes

Each regular class can now have a section called 'composite',
which can contain interfaces and interfaces only. This defines
a list of interfaces that are allowed to be unimplemented on the
class, as it is assumed the class will be composited with some
other class implementing those interfaces.

Only regular classes can have this, as only regular classes can
be instantiated.

It will also be necessary to check whether the classes in the
section appear somewhere within the inheritance tree. For now,
this testing is not being done.

Example of usage:

composite {
    Some.Magic.Interface;
    Another.Magic.Interface;
}

directly in the class body.

5 years agoelm_panel: show/hide panel according to hidden status
Jaeun Choi [Mon, 21 Jan 2019 09:55:10 +0000 (18:55 +0900)]
elm_panel: show/hide panel according to hidden status

when panel becomes non-scrollable by elm_panel_scrollable_set() function,
the panel needs to be shown/hidden according to the hidden status.
this patch implements it.

5 years agoelm_panel: reset layout theme when scrollable mode is changed
Jaeun Choi [Mon, 21 Jan 2019 05:51:10 +0000 (14:51 +0900)]
elm_panel: reset layout theme when scrollable mode is changed

after a panel becomes scrollable, it has two layout objects internally
and only one of them is active. when elm_panel_orient_set() function
is called, only the active layout's theme is changed according to
the orientation. so if scrollable mode is changed after that, it shows
the old theme. this patch fixes it.

5 years agoevas gl - fix patch that fixed warnings that then broke evas gl tests
Carsten Haitzler (Rasterman) [Sat, 19 Jan 2019 19:30:18 +0000 (19:30 +0000)]
evas gl - fix patch that fixed warnings that then broke evas gl tests

even though it was reviewed... 8a617fda979d1522a880f3e57d2e1adfc9f20814
broke the evas gl tests. this fixes that.

5 years agoEfl.Loop.Timer.interval is a constructor property
Xavi Artigas [Fri, 18 Jan 2019 16:05:05 +0000 (17:05 +0100)]
Efl.Loop.Timer.interval is a constructor property

Summary:
If you don't set the interval during construction, construction fails
so there's no chance to set it later.
We either change that behavior (is it really needed? can't we just set some
default during construction and override it later?) or properly mark this
property as a construction-time property with this patch.

Test Plan: Nothing changes, this will only have effect once bindings start using it.

Reviewers: cedric, zmike, bu5hm4n, q66

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoedje: convert var timer list to inlist
Derek Foreman [Wed, 16 Jan 2019 22:44:36 +0000 (16:44 -0600)]
edje: convert var timer list to inlist

Since these are only ever on one list, inlist is better.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7697

5 years agoedje: Use EINA_LIST_FREE instead of hand coded variant
Derek Foreman [Wed, 16 Jan 2019 20:19:11 +0000 (14:19 -0600)]
edje: Use EINA_LIST_FREE instead of hand coded variant

Minor simplification, should be no functional change.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7696

5 years agoefl_ui_widget: Save some pointer indirection
Derek Foreman [Fri, 18 Jan 2019 19:39:46 +0000 (13:39 -0600)]
efl_ui_widget: Save some pointer indirection

We're getting the same widget data twice, as well as testing if the
object is a widget twice.  Let's do these things once.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7698

5 years agoelm_code: Pass widget data to _elm_code_widget_fill_line
Derek Foreman [Fri, 18 Jan 2019 16:41:05 +0000 (10:41 -0600)]
elm_code: Pass widget data to _elm_code_widget_fill_line

We already have this looked up in all callers, and the lookup is mind
smashingly heavy.  Just use what we have.

ref T6209

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7694

5 years agoelm_code: Don't update selection if it didn't change
Derek Foreman [Fri, 18 Jan 2019 17:35:26 +0000 (12:35 -0500)]
elm_code: Don't update selection if it didn't change

Summary:
Mouse motion can cause multiple worthless selection updates with no
change to row or column.  Discard updates that don't really update.

ref T6209
Depends on D7692

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T6209

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

5 years agoelm_code: Pass data to status_type_get
Derek Foreman [Fri, 18 Jan 2019 17:20:59 +0000 (12:20 -0500)]
elm_code: Pass data to status_type_get

Summary:
Every single call path has already dearly paid the price of pointer
indirection so let's save a few million extra look-ups and just pass
it along.

ref T6209

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T6209

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

5 years agoeolian: remove the old inheritance syntax
Marcel Hollerbach [Fri, 18 Jan 2019 13:32:24 +0000 (14:32 +0100)]
eolian: remove the old inheritance syntax

fixes T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7688

5 years agoefl: convert all interfaces to the new eolian syntax
Marcel Hollerbach [Fri, 18 Jan 2019 13:29:31 +0000 (14:29 +0100)]
efl: convert all interfaces to the new eolian syntax

ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7687

5 years agoefl: convert all abstracts to the new eolian syntax
Marcel Hollerbach [Fri, 18 Jan 2019 13:34:04 +0000 (14:34 +0100)]
efl: convert all abstracts to the new eolian syntax

ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7686

5 years agoefl: convert all mixins to new eolian syntax
Marcel Hollerbach [Fri, 18 Jan 2019 13:26:45 +0000 (14:26 +0100)]
efl: convert all mixins to new eolian syntax

ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7685

5 years agoefl: convert all classes to the new eolian syntax
Marcel Hollerbach [Fri, 18 Jan 2019 13:22:23 +0000 (14:22 +0100)]
efl: convert all classes to the new eolian syntax

ref T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7684

5 years agoefl-mono: Fix calling non-static methods with garbage collectable NativeInherits
Felipe Magno de Almeida [Fri, 18 Jan 2019 09:37:26 +0000 (09:37 +0000)]
efl-mono: Fix calling non-static methods with garbage collectable NativeInherits

This fixes intermittent errors in C# classes with inheritance from Eo,
just like a lot of unit tests.

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

5 years agoelm_panel: fix a bug in elm_scrollable_mode_set() function
Jaeun Choi [Fri, 18 Jan 2019 07:26:44 +0000 (16:26 +0900)]
elm_panel: fix a bug in elm_scrollable_mode_set() function

when panel becomes scrollable, the function blocked scrolling
assuming that the panel is hidden. this caused an issue case
when panel becomes scrollable while it is open.
this patch fixes the issue.

5 years agoedje_cc: fail upon detecting invalid part description references in programs
Mike Blumenkrantz [Thu, 17 Jan 2019 20:11:25 +0000 (15:11 -0500)]
edje_cc: fail upon detecting invalid part description references in programs

Summary:
this causes attempts to STATE_SET a non-existent state to trigger an error and
abort edj file compiling so that bugs can be fixed before they become runtime
issues

@feature
fix T7016
Depends on D7607

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7016

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

5 years agotheme: remove a ton of invalid part description references in various programs
Mike Blumenkrantz [Thu, 17 Jan 2019 20:11:21 +0000 (15:11 -0500)]
theme: remove a ton of invalid part description references in various programs

Summary:
this looks like mostly bad copy+paste

@fix
fix T6873
Depends on D7606

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T6873

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

5 years agotheme: correct part name in program for elm/hover/base/main_menu_submenu/default
Mike Blumenkrantz [Thu, 17 Jan 2019 20:11:13 +0000 (15:11 -0500)]
theme: correct part name in program for elm/hover/base/main_menu_submenu/default

Summary:
@fix
Depends on D7605

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T6219

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

5 years agotheme: fix odd state setting on some items for list/genlist/gengrid
Mike Blumenkrantz [Thu, 17 Jan 2019 20:11:07 +0000 (15:11 -0500)]
theme: fix odd state setting on some items for list/genlist/gengrid

Summary:
these used a bad state value which did not exist for the corresponding part

@fix

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoeolian: make error messages usable
Marcel Hollerbach [Thu, 17 Jan 2019 18:44:03 +0000 (19:44 +0100)]
eolian: make error messages usable

base of the impl is where the function is defined, not where the missing
implementation is.

ref T5719

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7680

5 years agoMake Efl.Ui.Closer an interface instead of mixin
Xavi Artigas [Thu, 17 Jan 2019 18:59:56 +0000 (13:59 -0500)]
Make Efl.Ui.Closer an interface instead of mixin

Summary:
It is a mixin only because of the setter method for the "closed" property,
otherwise, it would be a pure interface.
Nobody is setting that property, so let's just remove the setter (leaving only
the getter) and make this class an interface.
This should clear the scenario for languages currently having issues with
mixins (like C#).

Related to T7601.

Test Plan: Nothing changes. Make check and examples still work.

Reviewers: zmike, bu5hm4n, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoeolian: fix tests fallout from the latest changes
Daniel Kolesa [Thu, 17 Jan 2019 16:29:36 +0000 (17:29 +0100)]
eolian: fix tests fallout from the latest changes

5 years agoeolian: disallow pure virtual on non-abstract/mixin classes
Daniel Kolesa [Thu, 17 Jan 2019 16:13:55 +0000 (17:13 +0100)]
eolian: disallow pure virtual on non-abstract/mixin classes

5 years agoelementary: make elm.web abstract
Marcel Hollerbach [Thu, 17 Jan 2019 16:15:19 +0000 (17:15 +0100)]
elementary: make elm.web abstract

Summary:
elm.web is never used directly only as abstract class that gets
implemented in elm.web.none. Thus making it abstract does make sense.
Depends on D7671

Reviewers: cedric, segfaultxavi, zmike, q66

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoevas: make classes abstract
Marcel Hollerbach [Thu, 17 Jan 2019 16:15:03 +0000 (17:15 +0100)]
evas: make classes abstract

Summary:
those classes are defining pure_virtual functions, so the class should
be abstract.

ref T7632

Depends on D7670

Reviewers: cedric, segfaultxavi, zmike, q66

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7632

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

5 years agoefl_net: make efl.net.server.fd abstract
Marcel Hollerbach [Thu, 17 Jan 2019 16:14:38 +0000 (17:14 +0100)]
efl_net: make efl.net.server.fd abstract

Summary:
noone instanciantes it directly, further more it has pure_virtual
functions, which are making sense. So making this class abstract does
fix the issue of pure_virtual functions in class.

ref T7632

Depends on D7669

Reviewers: cedric, segfaultxavi, zmike, q66

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7632

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

5 years agoecore_audio: remove pure virtual functions from classes
Marcel Hollerbach [Thu, 17 Jan 2019 16:14:19 +0000 (17:14 +0100)]
ecore_audio: remove pure virtual functions from classes

Summary:
A call to a undefined function results in a NOP we can get the same
behaviour with @empty. In Ecore.Audio this pure_virtual function makes
sense, so make the class abstract.

ref T7632

Reviewers: cedric, segfaultxavi, zmike, q66

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7632

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

5 years agoRemove letftover include
Xavi Artigas [Thu, 17 Jan 2019 16:13:40 +0000 (17:13 +0100)]
Remove letftover include

This was breaking build...

5 years agoecore-drm2: Fix formatting
Christopher Michael [Thu, 17 Jan 2019 15:34:33 +0000 (10:34 -0500)]
ecore-drm2: Fix formatting

NB: No functional changes

5 years agoecore-evas-drm: Minor formatting fix
Christopher Michael [Thu, 17 Jan 2019 13:51:23 +0000 (08:51 -0500)]
ecore-evas-drm: Minor formatting fix

NB: No functional changes

5 years agoecore-evas-drm: Refactor _ecore_evas_new_internal
Christopher Michael [Thu, 17 Jan 2019 14:26:17 +0000 (09:26 -0500)]
ecore-evas-drm: Refactor _ecore_evas_new_internal

This patch does a small refactor of _ecore_evas_new_internal function
to separate canvas setup for gl & software. This was done so that when
we create a canvas on a per-output bases (multi-output support), the
code inside _ecore_evas_new_internal will be cleaner and easier to
follow.

NB: No real functional changes here until muti-output lands

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

5 years agoecore-drm2: Pass output as data to drmModePageFlip and drmModeAtomicCommit
Christopher Michael [Wed, 2 Jan 2019 16:05:07 +0000 (11:05 -0500)]
ecore-drm2: Pass output as data to drmModePageFlip and drmModeAtomicCommit

In order to support per-output ticking, the drmModePageFlip and
drmModeAtomicCommit functions need to pass the actual Output as data
to the pageflip callback so that the pageflip callback function can
pass the proper rectangle to ecore_evas_animator_tick

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

5 years agoeolian: enforce not using regular classes in extension list
Daniel Kolesa [Thu, 17 Jan 2019 15:17:42 +0000 (16:17 +0100)]
eolian: enforce not using regular classes in extension list

5 years agoeolian_cxx: make address_of test not use multiclass inheritance
Daniel Kolesa [Thu, 17 Jan 2019 15:07:11 +0000 (16:07 +0100)]
eolian_cxx: make address_of test not use multiclass inheritance

5 years agoelementary: remove combobox from being generated in autotools
Daniel Kolesa [Thu, 17 Jan 2019 14:59:20 +0000 (15:59 +0100)]
elementary: remove combobox from being generated in autotools

5 years agoelementary: remove leftover header include
Daniel Kolesa [Thu, 17 Jan 2019 14:56:33 +0000 (15:56 +0100)]
elementary: remove leftover header include

5 years agoelementary: internalize elm_combobox, expose legacy only
Daniel Kolesa [Thu, 17 Jan 2019 14:54:24 +0000 (15:54 +0100)]
elementary: internalize elm_combobox, expose legacy only

This is bad eo API, and won't remain like that, so completely
remove it from being managed by Eolian.

5 years agoeolian: always enable regular-class-in-extensions-list checking
Daniel Kolesa [Thu, 17 Jan 2019 14:30:37 +0000 (15:30 +0100)]
eolian: always enable regular-class-in-extensions-list checking

For now it just warns and doesn't error. It will become an error
once all occurences are fixed.

5 years agoefl_ui_focus_object: Don't pass NULL to child_focus_set
Christopher Michael [Thu, 17 Jan 2019 12:52:15 +0000 (07:52 -0500)]
efl_ui_focus_object: Don't pass NULL to child_focus_set

When starting elementary_test, efl_ui_focus_object_child_focus_set is
getting passed NULL on startup because elm_test window has no parent.
This makes it difficult to debug and fix T7030 issues. In order to fix
the issue, this patch checks for a valid parent before calling
efl_ui_focus_object_child_focus_set so that it no longer gets passed
NULL on elm_test startup and we can set breakpoints on eo.c:637
without getting interrupted at startup.

ref T7030

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

5 years agoefl-mono: Fix lots of warnings in tests
Felipe Magno de Almeida [Thu, 17 Jan 2019 11:32:21 +0000 (11:32 +0000)]
efl-mono: Fix lots of warnings in tests

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7675

5 years agoeolian-cxx: Fix order of initialization
Felipe Magno de Almeida [Thu, 17 Jan 2019 11:31:06 +0000 (11:31 +0000)]
eolian-cxx: Fix order of initialization

Make order of code the same as the order of initialization. This avoids warnings

efl-mono: Fix lots of warnings in tests

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

5 years agoeolian: add api to access the requires field
Marcel Hollerbach [Thu, 17 Jan 2019 13:14:52 +0000 (22:14 +0900)]
eolian: add api to access the requires field

Summary:
This is needed in order to support checking the correct regular classes
in efl#.

ref T7240
Depends on D7673

Test Plan: run ninja test / make check

Reviewers: q66, felipealmeida, segfaultxavi

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7240

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

5 years agoeolian: warn as much as possible at once for unimplemented funcs
Daniel Kolesa [Thu, 17 Jan 2019 13:15:00 +0000 (14:15 +0100)]
eolian: warn as much as possible at once for unimplemented funcs

This also fixes some other potential errors, when there is a
failure about unimplemented methods but something up the stack
then uses those results.

5 years agoRevert "evas: make efl_canvas_group abstract"
Marcel Hollerbach [Thu, 17 Jan 2019 12:46:03 +0000 (13:46 +0100)]
Revert "evas: make efl_canvas_group abstract"

This reverts commit ae65c64b8d52c3b3d032eb29474b750b7e5781cb.

It appears that abstract -> abstract enforcement is not needed anymore,
the other patches are fine. However, this one proposes a new object
which is not needed to exist.

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

5 years agoefl-mono: Enable selecting to build @beta items
Lauro Moura [Thu, 17 Jan 2019 12:43:57 +0000 (21:43 +0900)]
efl-mono: Enable selecting to build @beta items

Summary:
For autotools, use --enable-csharp-beta to enable the generation of beta
methods and properties, for meson use -Dmono-beta=true.

By default, no beta method or property is generated.

Reviewers: woohyun, segfaultxavi, bu5hm4n, lauromoura

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoeolian-mono: Add interface registration to inherited classes
Felipe Magno de Almeida [Thu, 17 Jan 2019 12:33:09 +0000 (21:33 +0900)]
eolian-mono: Add interface registration to inherited classes

Summary: Depends on D7635, D7634

Reviewers: woohyun, bu5hm4n, segfaultxavi, lauromoura

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoeolian_mono: fix inheriting from efl types not considering additional interfaces
Vitor Sousa [Fri, 14 Dec 2018 17:06:12 +0000 (15:06 -0200)]
eolian_mono: fix inheriting from efl types not considering additional interfaces

Reviewers: segfaultxavi, bu5hm4n, Jaehyun_Cho, lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl-mono: Add proper test for interface inheritance
Felipe Magno de Almeida [Tue, 15 Jan 2019 00:07:49 +0000 (09:07 +0900)]
efl-mono: Add proper test for interface inheritance

Reviewers: segfaultxavi, bu5hm4n, woohyun, Jaehyun_Cho, lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoFix cut&paste error in docs
Xavi Artigas [Thu, 17 Jan 2019 10:49:01 +0000 (11:49 +0100)]
Fix cut&paste error in docs

5 years agoelm_panel: fix visibility when switching scrollable mode
Yeongjong Lee [Thu, 17 Jan 2019 08:40:37 +0000 (17:40 +0900)]
elm_panel: fix visibility when switching scrollable mode

Summary:
There are two proplem when switching scrollable mode.
1. a previous layout does not disappear.
2. internal evas_box(sd->bx) should set on "elm.swallow.content" part.

This patch hide remained previous layout and set evas_box to "elm.swallow.content"
part directly.

Thanks to arosis for reporting and sample code.

Test Plan: P262

Reviewers: arosis, eunue, Jaehyun_Cho

Reviewed By: eunue

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoeina: remove eina_promise_data_get has it lead to risky use.
Cedric BAIL [Sat, 5 Jan 2019 01:55:14 +0000 (17:55 -0800)]
eina: remove eina_promise_data_get has it lead to risky use.

It seems that use of eina_promise_data_get lead to mostly missuse. As it
duplicate other infrastructure which do not have the same problem. So better
remove it and if we need it back, we can just revert this patch later.

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

5 years agoefl_app: add "standby" event
Mike Blumenkrantz [Thu, 10 Jan 2019 20:48:10 +0000 (15:48 -0500)]
efl_app: add "standby" event

this event is called on the app object when all windows have been destroyed
so that the app can decide to take further action, e.g., doing a deep clean of
cache or flushing configuration

@feature
ref T5494

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

5 years agoevas: fix big endian pixman image rendering
Mike Blumenkrantz [Mon, 7 Jan 2019 19:29:01 +0000 (14:29 -0500)]
evas: fix big endian pixman image rendering

as indicated by the accompanying FIXME, the byte ordering is inverted
for big endian so this should be #ifdef-ed

Reviewed-by: Chris Michael <Christopher Michael <cp.michael@samsung.com>>
Differential Revision: https://phab.enlightenment.org/D7592

5 years agoelm_entry: make file loading succeed on 0-sized files
Mike Blumenkrantz [Wed, 16 Jan 2019 16:24:36 +0000 (11:24 -0500)]
elm_entry: make file loading succeed on 0-sized files

a file which has no data is still a valid file and should be correctly
opened

fix T6562
@fix

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

5 years agoui/flip: fix efl_pack usage
Jean-Philippe André [Tue, 27 Nov 2018 10:09:06 +0000 (10:09 +0000)]
ui/flip: fix efl_pack usage

Objects packed would end up invisible as they were not marked as
"_elm_leaveme". I also added some list safety code but I think the
entire pack API on flip is very much untested and unstable.

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7367

5 years agoecore: remove data parameters of Efl.Loop_Consumer.promise_new to reduce the risk...
Cedric BAIL [Sat, 5 Jan 2019 01:42:26 +0000 (17:42 -0800)]
ecore: remove data parameters of Efl.Loop_Consumer.promise_new to reduce the risk of inadvertently using the wrong data.

If you need data, use a efl_future_then as done in every case here to get the same feature.

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

5 years agoeina_cxx: allow for the generation of function that return Eina_Promise in .eo files.
Cedric BAIL [Sat, 5 Jan 2019 01:39:11 +0000 (17:39 -0800)]
eina_cxx: allow for the generation of function that return Eina_Promise in .eo files.

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

5 years agoeina: remove eina_promise_data_set.
Cedric BAIL [Sat, 5 Jan 2019 01:38:40 +0000 (17:38 -0800)]
eina: remove eina_promise_data_set.

eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

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

5 years agoRevert "eina: add a function to free Eina_Promise attached data when the promise...
Cedric BAIL [Sat, 5 Jan 2019 00:06:05 +0000 (16:06 -0800)]
Revert "eina: add a function to free Eina_Promise attached data when the promise is destroyed."

A better solution is to actually have no eina_promise_data_set/get at all.

This reverts commit ce56f32270c2f75adab022b701d3bdcbbbc3fb44.

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

5 years agoRevert "fix crashes created by "make efl_loop_promise_new a function""
Cedric BAIL [Sat, 5 Jan 2019 00:04:49 +0000 (16:04 -0800)]
Revert "fix crashes created by "make efl_loop_promise_new a function""

This serie of patch didn't address the core problem in the design of the
ownership of eina_promise_data_{set/get} usage. It is also redundant with
other infrastructure in eina_promise and so not necessary completely.

This reverts commit de2ec0559b01dba7919503955cc47c1c5fcd0f97.

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

5 years agoeio: remove use of eina_promise_data_set.
Cedric BAIL [Sat, 5 Jan 2019 00:01:40 +0000 (16:01 -0800)]
eio: remove use of eina_promise_data_set.

eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

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

5 years agoecore_con: remove use of eina_promise_data_set.
Cedric BAIL [Sat, 5 Jan 2019 00:01:13 +0000 (16:01 -0800)]
ecore_con: remove use of eina_promise_data_set.

eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

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

5 years agoecore: make Efl.Loop_Consumer.promise_new an @const function.
Cedric BAIL [Sat, 5 Jan 2019 00:00:21 +0000 (16:00 -0800)]
ecore: make Efl.Loop_Consumer.promise_new an @const function.

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

5 years agoelementary: refactor selection manager to not use eina_promise_data_set.
Cedric BAIL [Fri, 4 Jan 2019 22:24:28 +0000 (14:24 -0800)]
elementary: refactor selection manager to not use eina_promise_data_set.

eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

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

5 years agoeolian: disallow @pure_virtual keyword in interfaces
Daniel Kolesa [Wed, 16 Jan 2019 19:37:08 +0000 (20:37 +0100)]
eolian: disallow @pure_virtual keyword in interfaces

This is implicit, so it's pointless to allow specifying it.

5 years agoeolian: disallow pure virtual methods in regular classes
Daniel Kolesa [Wed, 16 Jan 2019 19:30:02 +0000 (20:30 +0100)]
eolian: disallow pure virtual methods in regular classes

This is a currently optional check.

Use EOLIAN_PURE_VIRTUAL_WARN=1 to enable.

5 years agoevas/engines/gl_generic: remove multiclass inheritance
Daniel Kolesa [Wed, 16 Jan 2019 18:53:52 +0000 (19:53 +0100)]
evas/engines/gl_generic: remove multiclass inheritance

evas_ector_gl_buffer/evas_ector_gl_image_buffer contained a regular
class in extensions list, which is wrong.

5 years agoeolian: add validation to make sure all methods are implemented
Daniel Kolesa [Wed, 16 Jan 2019 18:39:39 +0000 (19:39 +0100)]
eolian: add validation to make sure all methods are implemented

The checks are only done for regular classes. It's also disabled
by default as too many methods would be unimplemented.

Use EOLIAN_CLASS_UNIMPLEMENTED_WARN=1 to enable the errors.

5 years agotest_efl_anim_interpolator: delete animation event callback on window delete
Christopher Michael [Wed, 16 Jan 2019 15:07:12 +0000 (10:07 -0500)]
test_efl_anim_interpolator: delete animation event callback on window delete

elementary_test Efl.Animation.Interpolator test performs Invalid
memory access if the window is closed during the animation. This can
lead to elm_test crashing after the main window is closed.

In order to avoid this invalid memory access, when the window gets
deleted we can delete the efl_event_callback so that the event does
not fire while the window is being deleted.

ref T7392

Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Differential Revision: https://phab.enlightenment.org/D7644

5 years agotest_efl_anim_interpolator: Minor formatting fixes
Christopher Michael [Wed, 16 Jan 2019 14:49:13 +0000 (09:49 -0500)]
test_efl_anim_interpolator: Minor formatting fixes

NB: No functional changes

Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Differential Revision: https://phab.enlightenment.org/D7643

5 years agoefl-mono: test on inout RwSlice.
Lauro Moura [Tue, 15 Jan 2019 03:27:09 +0000 (01:27 -0200)]
efl-mono: test on inout RwSlice.

5 years agoefl_ui_focus_manager_root_focus: Remove extra blank lines
Christopher Michael [Wed, 16 Jan 2019 16:34:18 +0000 (11:34 -0500)]
efl_ui_focus_manager_root_focus: Remove extra blank lines

NB: No functional changes

5 years agoelm_config: Free data returned from eet_read
Christopher Michael [Wed, 16 Jan 2019 16:07:07 +0000 (11:07 -0500)]
elm_config: Free data returned from eet_read

Summary:
This patch fixes a memory leak in _elm_config_profile_name_get() where
the data returned from eet_read is not being free'd, causing valgrind
to spit out:

```
==11610== 9 bytes in 1 blocks are definitely lost in loss record 16 of
572
==11610==    at 0x483777F: malloc (vg_replace_malloc.c:299)
==11610==    by 0x4D9DE5B: eina_strbuf_common_string_steal
(eina_strbuf_common.c:828)
==11610==    by 0x4D5BC31: eina_binbuf_string_steal
(eina_binbuf_template_c.x:187)
==11610==    by 0x58646A1: eet_read_cipher (eet_lib.c:1991)
==11610==    by 0x5864775: eet_read (eet_lib.c:2022)
==11610==    by 0x49CD4D2: _elm_config_profile_name_get
(elm_config.c:2207)
==11610==    by 0x49CD5F8: _elm_config_profile_save (elm_config.c:2237)
==11610==    by 0x49D2F6E: _elm_config_sub_init (elm_config.c:4467)
==11610==    by 0x4AC0B7D: elm_quicklaunch_sub_init (elm_main.c:840)
==11610==    by 0x4ABFE3A: elm_init (elm_main.c:409)
==11610==    by 0x138143: main (test.c:1379)
```

@fix

Reviewers: raster, cedric, ManMower

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoeolian_gen: void out keys depending on how they are setted
Marcel Hollerbach [Tue, 15 Jan 2019 17:13:43 +0000 (18:13 +0100)]
eolian_gen: void out keys depending on how they are setted

this avoid warings about keys not beeing used in the fallback function.

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7630