Commit Graph

60918 Commits

Author SHA1 Message Date
Cedric BAIL e863a3d28a eina: add tests for the new Eina_Value convert functions.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7651
2019-01-23 10:54:07 -08:00
Cedric BAIL 1150cce0bf 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
2019-01-23 10:54:05 -08:00
Cedric BAIL d4ab211968 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
2019-01-23 10:54:03 -08:00
Daniel Kolesa 7b2ef21b90 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.
2019-01-23 19:28:25 +01:00
Daniel Kolesa d9dbf88621 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.
2019-01-23 18:08:05 +01:00
Mike Blumenkrantz 09a83d2161 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
2019-01-23 16:43:05 +01:00
Marcel Hollerbach bb673d3f70 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
2019-01-23 16:43:04 +01:00
Marcel Hollerbach 5c36675f31 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
2019-01-23 16:43:03 +01:00
Marcel Hollerbach a2162b90ca 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
2019-01-23 16:43:02 +01:00
Marcel Hollerbach dfb87fcff1 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
2019-01-23 16:43:01 +01:00
Daniel Kolesa 0cd3a3602e 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.
2019-01-23 16:23:59 +01:00
Daniel Kolesa 8a8188d310 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.
2019-01-23 16:01:24 +01:00
Mike Blumenkrantz 5d1d76574c 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
2019-01-23 15:23:10 +01:00
Stefan Schmidt cea392390f 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
2019-01-23 09:13:27 -05:00
Marcel Hollerbach d6c207772f 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
2019-01-23 14:13:32 +01:00
Marcel Hollerbach 286ad91075 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
2019-01-23 14:13:31 +01:00
Marcel Hollerbach efaa4bc7f9 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
2019-01-23 14:13:29 +01:00
WooHyun Jung 3b35bacc80 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
2019-01-23 08:11:53 +01:00
Mike Blumenkrantz 98e37dd123 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
2019-01-22 12:05:32 -05:00
Stefan Schmidt 557bf35511 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
2019-01-22 11:49:32 -05:00
Stefan Schmidt 39ed72b236 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
2019-01-22 08:54:39 -05:00
Stefan Schmidt ede20292a3 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
2019-01-22 08:53:55 -05:00
Marcel Hollerbach dfb0a2a458 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
2019-01-22 14:07:14 +01:00
Marcel Hollerbach 062bc5f25c 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
2019-01-22 14:02:40 +01:00
Lukasz Stanislawski 256367384a 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
2019-01-22 14:02:39 +01:00
Marcel Hollerbach d326b3e6e1 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
2019-01-22 14:02:38 +01:00
Marcel Hollerbach 5c1fde2c57 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
2019-01-22 14:02:37 +01:00
Marcel Hollerbach 7f283f0ece elm: restore old elm_web behaviour
Everything that is owned must have a free function. In commit
1afd3c215f 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
2019-01-22 14:02:36 +01:00
Boris Faure e80918643d 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
2019-01-21 19:30:12 +01:00
Daniel Kolesa 7feeda0410 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.
2019-01-21 17:19:14 +01:00
Jaeun Choi dab4d8d8a4 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.
2019-01-21 19:07:51 +09:00
Jaeun Choi 368ab45b26 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.
2019-01-21 15:01:05 +09:00
Carsten Haitzler c7449e097b evas gl - fix patch that fixed warnings that then broke evas gl tests
even though it was reviewed... 8a617fda97
broke the evas gl tests. this fixes that.
2019-01-19 19:30:18 +00:00
Xavi Artigas 87e6e4e60a 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
2019-01-19 18:04:14 +01:00
Derek Foreman a9d9ccefe4 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
2019-01-18 14:11:05 -06:00
Derek Foreman 529abe2de5 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
2019-01-18 14:11:03 -06:00
Derek Foreman d14c700e9d 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
2019-01-18 13:59:32 -06:00
Derek Foreman 014705c740 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
2019-01-18 13:06:37 -06:00
Derek Foreman ec910c5bb9 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
2019-01-18 12:35:26 -05:00
Derek Foreman 965cb9d28d 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
2019-01-18 12:20:59 -05:00
Marcel Hollerbach 2d7cbeb5ae eolian: remove the old inheritance syntax
fixes T7459

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7688
2019-01-18 16:31:32 +01:00
Marcel Hollerbach 95160ab136 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
2019-01-18 16:31:31 +01:00
Marcel Hollerbach 3b6a9152c1 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
2019-01-18 16:31:30 +01:00
Marcel Hollerbach 4fc83c9cbb 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
2019-01-18 16:31:28 +01:00
Marcel Hollerbach 34efdfb1b1 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
2019-01-18 16:31:26 +01:00
Felipe Magno de Almeida 50c41b1100 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
2019-01-18 14:06:16 +01:00
Jaeun Choi 4d0289bb9f 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.
2019-01-18 16:26:44 +09:00
Mike Blumenkrantz c7e29cd1c1 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
2019-01-17 15:11:26 -05:00
Mike Blumenkrantz 1e5c25b4ec 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
2019-01-17 15:11:22 -05:00
Mike Blumenkrantz 709c689fa0 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
2019-01-17 15:11:13 -05:00