platform/upstream/efl.git
5 years agoecore: fix memory leak when shutding down the application.
Cedric BAIL [Sat, 12 Jan 2019 01:58:23 +0000 (17:58 -0800)]
ecore: fix memory leak when shutding down the application.

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

5 years agoeina: fix memory leak when a Eina_Value as promise is returned, but no dispatching...
Cedric BAIL [Sat, 12 Jan 2019 01:57:40 +0000 (17:57 -0800)]
eina: fix memory leak when a Eina_Value as promise is returned, but no dispatching Eina_Future is listening on it.

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

5 years agoefl_ui_image: implement the last two APIs from edje
Marcel Hollerbach [Wed, 23 Jan 2019 19:55:51 +0000 (14:55 -0500)]
efl_ui_image: implement the last two APIs from edje

Summary:
this just takes the API and redirects it to the internal edje object if
there is any. If there is no edje object, then just default values are
returned.

ref T5719
Depends on D7738

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T5719

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

5 years agoelm: note down all composite sections for widgets
Marcel Hollerbach [Wed, 23 Jan 2019 19:55:44 +0000 (14:55 -0500)]
elm: note down all composite sections for widgets

Summary:

A lot of new widgets are using the new Scrollmanager class, the instance of this class is then attached via composition to the widget. This is providing the implementation for Efl.Ui.Scrollbar & Efl.Ui.Scrollable_Interactive.

In the text widgets the same applies to the internal interactive text widgets.

The tags widget is using the text entry as composite, and thus provides efl.ui.text api.

The addition of those composite { } sections are removing the particular unimplemented APIs from the eolian errors.

ref T7652
Depends on D7737

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

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

5 years agoefl_ui_widget_focus_manager: this uses composition to call focus manager
Marcel Hollerbach [Wed, 23 Jan 2019 19:55:37 +0000 (14:55 -0500)]
efl_ui_widget_focus_manager: this uses composition to call focus manager

Summary:
ref T7652
Depends on D7735

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

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

5 years agoefl_ui_video: Efl.Player is used from the emotion object.
Marcel Hollerbach [Wed, 23 Jan 2019 19:55:23 +0000 (14:55 -0500)]
efl_ui_video: Efl.Player is used from the emotion object.

Summary:
ref T7652

Depends on D7734

Reviewers: cedric, zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

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

5 years agoefl_ui_focus_object: provide empty on_focus_update function.
Marcel Hollerbach [Wed, 23 Jan 2019 19:55:17 +0000 (14:55 -0500)]
efl_ui_focus_object: provide empty on_focus_update function.

Summary:
there is no point in forcing users of this to implement on_focus_update.

ref T7652

Depends on D7733

Reviewers: cedric, zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

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

5 years agoefl_ui_win: this object calls composite_attach for efl.config
Marcel Hollerbach [Wed, 23 Jan 2019 19:55:10 +0000 (14:55 -0500)]
efl_ui_win: this object calls composite_attach for efl.config

Summary:
ref T7652

Depends on D7732

Reviewers: cedric, zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

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

5 years agoefl_input_focus: add event_flags
Marcel Hollerbach [Wed, 23 Jan 2019 19:54:58 +0000 (14:54 -0500)]
efl_input_focus: add event_flags

Summary:
It appears that it could be interesting to know if a focus event has
already been procecced or not. However, a focus event based on scrolling
activity is not possible, therefore, error about that.

ref T7652

Reviewers: cedric, zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7652

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

5 years agoeina: refactor eina_value_*_new.
Xavi Artigas [Tue, 22 Jan 2019 12:59:06 +0000 (12:59 +0000)]
eina: refactor eina_value_*_new.

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

5 years agoeina: refactor eina_value_*_init.
Xavi Artigas [Tue, 22 Jan 2019 12:52:41 +0000 (12:52 +0000)]
eina: refactor eina_value_*_init.

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

5 years agoeina: refactor eina_value_*_get.
Xavi Artigas [Tue, 22 Jan 2019 12:34:16 +0000 (12:34 +0000)]
eina: refactor eina_value_*_get.

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

5 years agoeina: add tests for the new Eina_Value convert functions.
Cedric BAIL [Thu, 3 Jan 2019 18:17:45 +0000 (10:17 -0800)]
eina: add tests for the new Eina_Value convert functions.

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

5 years agoeina: add Eina_Value helper that convert efficiently to a target native C type.
Cedric BAIL [Tue, 22 Jan 2019 11:59:23 +0000 (11:59 +0000)]
eina: add Eina_Value helper that convert efficiently to a target native C type.

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

5 years agoeina: add tests for Eina_Value utility function eina_value_*_get.
Cedric BAIL [Thu, 3 Jan 2019 02:40:02 +0000 (18:40 -0800)]
eina: add tests for Eina_Value utility function eina_value_*_get.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7649

5 years agoeolian: check old impl status before actually trying to extend it
Daniel Kolesa [Wed, 23 Jan 2019 18:28:25 +0000 (19:28 +0100)]
eolian: check old impl status before actually trying to extend it

Since _extend_impl always marks the impl at least IMPL_STATUS_NONE,
we need to retrieve the original status before calling into it,
or it will get overwritten and will inadvertently disable some
of the checks.

5 years agoeolian: get rid of false positives about unimplemented methods
Daniel Kolesa [Wed, 23 Jan 2019 16:59:40 +0000 (17:59 +0100)]
eolian: get rid of false positives about unimplemented methods

We worked under the assumption that when inheriting callables
from a regular class, it's good enough to just set those as
fully implemented, because the underlying class is already
checked. This assumption is wrong, as the callables may contain
multiple implements pointing at the same function (consider when
a regular class implements just the get part of a property but
some underlying class implements it whole) - the old logic would
result in just the first reached implement (possibly incomplete)
being added into callables of the inheriting class, which results
in false positives.

Consider this example:

class A has a fully implemented property foo
class B inherits from A and partially implements foo
abstract C inherits from B
class D inherits from C

abstract C would go over B's implements, encounter the first
partial implementation of foo, adding it into its own callables
and marking it as fully implemented (because it came from an
already checked regular class B), which would result in the
other implement being skipped.

So make no assumptions and use the same logic for all class types.

Of course, this brings in another problem: some errors would now
get printed twice, because if you have a class A which has funcs
that are unimplemented and class B inheriting from it, errors would
get printed for A but also for B, which would include A's errors.

To battle that, introduce a "global" (well, local to the entry
point of the validator) hash tracking which implements have already
been errored on; and skip those appropriately.

5 years agoefl_ui_win: move base and step size hints here
Mike Blumenkrantz [Wed, 23 Jan 2019 14:39:39 +0000 (09:39 -0500)]
efl_ui_win: move base and step size hints here

these hints are not relevant to anything but window objects, so put them
onto the window object

ref T5719

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

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