Commit Graph

62616 Commits

Author SHA1 Message Date
Cedric BAIL 42b293ae1f ecore: do not rely on implicit rules for memory lifecycle during test.
Summary:
alloca force the memory to be accessible for the entire duration of the
scope of the function it is called from. This will garantee that the
memory pointer are not recycled under our feet before we check them.

T8020

Reviewers: zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8020

Differential Revision: https://phab.enlightenment.org/D9127
2019-06-20 09:40:34 -04:00
Marcel Hollerbach d46d1ed018 fix build. 2019-06-20 14:20:34 +02:00
Ali Alzyod 9d2299d030 evas_textblock: more descriptive parameter names
Summary:
Use more descriptive parameter names.

l, r, t, b    it my confused with rgb  value or something similar.

Reviewers: segfaultxavi, woohyun, bowonryu

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9131
2019-06-20 14:08:20 +02:00
Stefan Schmidt ca64dbd3c9 ci: use ccache also in the mingw cross build
This is one of these two line changing commits one just have to love.
Using ccache also for the mingw builds got a amazing speedof for the
cross build as well.

In my, simple, testing I could reduce the build time on Travis from 18m
to 6m when rebuilding the same rev, thus a 100% cache hit rate. In real
life this would be less of an improvement but reducing the build time in
half is kind of realistic I think. Thanks to Marcel to bringing the idea
up.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9139
2019-06-20 14:05:07 +02:00
Vincent Torri ba22016c4c tests: fix warnings and undef ref on Windows (using meson :-) )
Summary: we need to include evil_private.h so that some symbols are declared

Test Plan: compilation

Reviewers: raster, zmike, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9129
2019-06-20 12:50:35 +01:00
Carsten Haitzler 33f5e53af3 evas - events - protect on object deletion while calling callbacks
mouse in/out feeds can call callabcks that can then go delete objects
- ref them all to ensure they stay alive while we use them. this will
fix a segv apbbb saw.
2019-06-20 12:08:14 +01:00
Carsten Haitzler 471c4bebb5 efl_wfl: fix warning and err prints for wl keymap tmp file 2019-06-20 11:32:12 +01:00
Carsten Haitzler df286b238c ecore - efl thread - handle write call mishaps and complain
fixes warnings too.
2019-06-20 11:26:55 +01:00
Carsten Haitzler 1064bd09c7 meson - docs - convert - we aren't using it so don't require it
comment it out and move it closer to the block that needs it to make
it obvious ... we don't need it.

i'm all-in-all not that into the eps conversion thing for docs there
too... :(
2019-06-20 11:08:07 +01:00
WooHyun Jung 7919ccbc29 elm_slider: fix to call legacy "delay,changed" callback
Just fixed a backward compatibility issue in elm_slider.
Now it calls "delay,changed" as it had done previously.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9130
2019-06-20 11:03:14 +02:00
junsu choi c7b1a40b5e ector: Fix precomp layer rendering issue when it has alpha value
Summary:
When the precomp layer(parent layer) has alpha transparency and has more than 1 child layer
and they overlap each other if vg object just propagate the alpha to child layer
it will be applied twice in overlapped area.
Even if the child layer does not have alpha transparency, parent alpha is applied to each child.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, kimcinoo, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9072
2019-06-20 16:07:05 +09:00
Mike Blumenkrantz c27c469204 Revert "efl_ui_suite_spec: add a hack to have running tests again"
This reverts commit 2ef8894fcd.

this is no longer needed

Differential Revision: https://phab.enlightenment.org/D9126
2019-06-20 08:10:47 +02:00
Mike Blumenkrantz cbde6377f7 efl_ui/active_view: fix object destruction
when the activeview is being destroyed, we can skip a lot of steps in
unregistering widgets due to hierarchy-enforced deletion and class
chaining of destructors.

on the flip side, we also need to be cautious of triggering codepaths that
will perpetuate object lifecycles past when they should be destroyed and
trigger unwanted behavior.

for this case, when the activeview is being destroyed we can simply efl_del
all the contents to reuse existing callbacks, and then we can skip doing
all the update propagation through activeview subcomponents since those will
be destroyed presently. also, these subcomponents already handle subobject
destruction with callbacks, so they'll automatically clean everything up.

probably.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9125
2019-06-20 08:10:46 +02:00
Marcel Hollerbach 2ef8894fcd efl_ui_suite_spec: add a hack to have running tests again
Summary:
it seems something is leading to weird stack behavior with gcc when we
do not delete the widget here. Later deletion in _elm_win_shutdown leads
to a crash like:

 #0  0x00007f7b30dd5bd7 in _elm_win_shutdown () at ../src/lib/elementary/efl_ui_win.c:3805
 #1  0x01007f7b30cdf3a2 in ?? ()
 #2  0x00007fffa4e60570 in ?? ()
 #3  0x0000000000407b14 in _elm_suite_shutdown () at ../src/tests/elementary/suite_helpers.c:52

which is kind of weird. After a day of debugging i did not get any
further, so maybe it is better to do add a hack, so we are having at
least a running CI again

Reviewers: stefan_schmidt, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9112
2019-06-19 09:37:19 -04:00
Stefan Schmidt 227df38b5f ci: travis: no need to cache the autom4te.cache any longer
Summary:
This was part of the caching speedup for autotools we no longer need.
Depends on D9121

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9122
2019-06-19 09:26:29 -04:00
Stefan Schmidt 06d59c3457 ci: remove no longer needed make examples script
Summary:
With the meson build the examples do not have a dedicated target, no
need for this script anymore.
Depends on D9120

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9121
2019-06-19 09:26:23 -04:00
Stefan Schmidt 2a22b5ecef ci: rename some travis fold log names and add more
Summary:
For an easier to grasp travis output we are using the travis_fold and
endfold markers in our scripts. Renaming a few here to match the usage
of meson and ninja instead of make. Also adding a few more that have
been missing.
While we are add it remove a now silly extra mingw conditional.
Depends on D9119

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9120
2019-06-19 09:26:18 -04:00
Stefan Schmidt 4279406e7d ci: enhance enabled/disabled meson builds to cover almost all options
Summary:
We have been lacking to test many of the build options we have with
meson. Catching up on them here for the enabled and disabled build jobs.

Not everythign could be covered yet, but I leave notes about what stil
needs handling.
Depends on D9118

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9119
2019-06-19 09:26:13 -04:00
Stefan Schmidt f0f799e4a8 ci: remove no longer needed MAKEFLAGS env variable
Summary:
This was used to pass to make and is no longer used with ninja.
Depends on D9117

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9118
2019-06-19 09:26:08 -04:00
Stefan Schmidt eb16fc0676 ci: travis: remove no longer used BUILDSYSTEM env variable
Summary:
We used this to have a conditional to enter the different autotools
and meson branches in our build scripts. No longer needed.
Depends on D9116

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9117
2019-06-19 09:26:01 -04:00
Stefan Schmidt a873ae6ea0 ci: remove no longer used scripts and patch file
Summary:
With the autotools build system gone we now longer need these files in
our CI system.

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9116
2019-06-19 09:25:56 -04:00
Mike Blumenkrantz 90f5d5e1f1 ci: remove autotools-related conditionals
these are no longer used by anything

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9108
2019-06-19 13:26:06 +02:00
Stefan Schmidt 47ada4f72c build: emotion: fix lookup of gstreamer 0.10 dependency
The pkg-config file for the 0.10 series of gstreamer is called
gstreamer-0.10.pc and we need to correct name in the dependency check
here to find it. Improving our CI coverage does spot bugs. :-)

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9114
2019-06-19 13:23:16 +02:00
Stefan Schmidt b0182dd744 build: emotions: gstreamer: add needed ecore_x internal dependency
The 0.10 gstreamer module needs Ecore_X.h during build. Make sure we
actually have this dependency right so the build can succeed.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9113
2019-06-19 13:23:14 +02:00
Xavi Artigas 2b7d26790a Fix miscellaneous build warnings
Nothing serious, but they were driving me mad.
2019-06-19 10:19:49 +02:00
Mike Blumenkrantz 969c7f7287 efl_ui_range_display: range_min_max -> range_limits
Summary: ref T7895

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7895

Differential Revision: https://phab.enlightenment.org/D9110
2019-06-19 10:03:21 +02:00
Yeongjong Lee e712261e14 efl_mono: support multilevel inheritance of NativeClass
Summary:
When it creates multilevel class of NativeClass, internal c function is not
called because eo vtables aren't created

Test Plan:
Check "MyBox2 UpdateLayout" printed.
```
//mcs test_box.cs -out:test_box.exe `pkg-config --libs efl-mono`
//mono test_box.exe
using System;

public class MyBox2 : MyBox
{
   public MyBox2(Efl.Object parent, string style = null) : base(parent, style)
   {
   }
   public override void UpdateLayout()
   {
       Eina.Log.Error("MyBox2 UpdateLayout");
       base.UpdateLayout();
   }
}

public class MyBox : Efl.Ui.Box
{
   public MyBox(Efl.Object parent, string style = null) : base(parent, style)
   {
   }
   public override void UpdateLayout()
   {
       Eina.Log.Error("MyBox UpdateLayout");
       base.UpdateLayout();
   }
}

public class Example : Efl.Csharp.Application
{
    protected override void OnInitialize(Eina.Array<System.String> args)
    {
        Efl.Ui.Win win = new Efl.Ui.Win(Efl.App.AppMain);

        var box = new MyBox(win);
        box.SetHintSizeMin(new Eina.Size2D(360, 240));
        win.SetContent(box);

        var box2 = new MyBox2(win);
        box2.SetHintSizeMin(new Eina.Size2D(360, 240));
        box2.Pack(box);

        var button = new Efl.Ui.Button(box);
        button.SetText("Click");
        button.ClickedEvt += (object sender, Efl.Ui.IClickableClickedEvt_Args e) =>
        {
           box.CalculateGroup();
           box2.CalculateGroup();
        };
        box.Pack(button);
    }

    public static void Main()
    {
        var example = new Example();
        example.Launch();
    }
}
```

Reviewers: segfaultxavi, vitor.sousa, felipealmeida, lauromoura, woohyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9079
2019-06-19 15:59:54 +09:00
Marcel Hollerbach 0a4beb291d efl_ui_stack: remove!
this can now be done with active_view. This is done in order to reduce
the LOC in elementary that basically do the same.

Differential Revision: https://phab.enlightenment.org/D8920
2019-06-19 07:38:08 +02:00
Shinwoo Kim e71c9ad00b evas filter: make curve work for every
Summary:
If an input buffer and an output buffer for the curve filter are same, it reads
and writes to the same texture which behavior is not defined. I could not find
good reference for this, but following could be a reference.

https://stackoverflow.com/questions/11410292/opengl-read-and-write-to-the-same-texture

The texture gets 0 color value as a result. So the curve filter does not work.
This patch makes the curve filter use different input and output buffer.

Test Plan:
This attached file could explain what 'read and write to the same texture' is.
{F3724537}

Reviewers: Hermet, jpeg, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9085
2019-06-19 10:28:34 +09:00
Marcel Hollerbach f8a1fa470c efl_ui_spec: Support running with CK_FORK=no
Summary: this was simply not tested before. But works now.

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9109
2019-06-18 12:22:54 -04:00
Vincent Torri fa8549c20c define HAVE_REALPATH in evil_stdlib.h
Summary: instead of relying on build system, define HAVE_REALPATH in Evil header file

Reviewers: zmike, raster, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9107
2019-06-18 13:22:05 +01:00
Vincent Torri ac61b77e3e Ecore net dialer Windows example: fix undeclared symbols
Summary:
missing symbols :

efl_net_dialer_address_dial_get
efl_net_socket_address_remote_get
efl_net_socket_address_local_get
EFL_NET_DIALER_EVENT_DIALER_CONNECTED
EFL_NET_DIALER_EVENT_DIALER_RESOLVED
EFL_NET_DIALER_EVENT_DIALER_ERROR
EFL_NET_DIALER_WINDOWS_CLASS

Test Plan: compilation

Reviewers: zmike, raster, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9106
2019-06-18 13:07:26 +01:00
Carsten Haitzler d16809d648 ecore_x - restore move event skipper that was removed long ago
so i've been wondering what is going on for a few days... and i've
figured it out finally... my mouse seems ot like to generate 1000
events per second. not your usual 100 or 200. it only happened on this
one machine so i was wondering what on earth was up. this machine was
different in other ways like an arm cpu, differing gpu (rx550),
different distro and so on. this is creating a storm of motion events..
and this is causing all sorts of overhead in just trying to deal with
them all like generate more internal events, emit signals for every
one of them and so on. there is no attempt to play catch-up or
anything - just build up a bigger and bigger queue of them to deal
with. this is NOT GOOD. this restores our old commented out event
skipper that got commented out during some xcb work actually -
not on its own. it was a huge xcb patch that commented it out.

this restores it and makes it a little cleaner with a bool and now the
perf issues i was seeing are gone. this is such a major performance
fix that this deserves a backport.

@fix @optimize
2019-06-18 11:26:52 +01:00
Marcel Hollerbach 639869703f autotools: REMOVAL!
Get your seatbelt fastend! It is happening! AUTOTOOLS IS GONE NOW!
All praise to meson!

This time the final version, ci has been adjusted, and now does not try
anymore to build a removed buildsystem. However, the scripts in there
need cleaning up.

Differential Revision: https://phab.enlightenment.org/D9027
2019-06-18 08:56:34 +02:00
Marcel Hollerbach 4f8e15c16c Revert "autotools: REMOVAL!"
This reverts commit e8c69667b0.

git push on a wrong branch, sorry. This will land today, but not now.
2019-06-18 08:12:53 +02:00
Marcel Hollerbach e8c69667b0 autotools: REMOVAL!
Get your seatbelt fastend! It is happening! AUTOTOOLS IS GONE NOW!
All praise to meson!

Differential Revision: https://phab.enlightenment.org/D9027
2019-06-18 08:11:55 +02:00
Carsten Haitzler e6bf359990 example - use LC_ALL not LC_MESSAGES for windows examples to build
so they don't need evil anymore. should help vtorri + windows
port/support.
2019-06-17 09:09:06 +01:00
Carsten Haitzler 26ee423f28 example - use putenev, not sentenv to be more portable
yes - it's much more code too. that's life with putenv().
2019-06-17 09:08:24 +01:00
Carsten Haitzler 4c6f875c35 evas optimization - fix the "start in list middle" case
i missed 1 rare case where we start in the middle of the list and have
to walk to the end. testing didnt show it up. fix. this fixes up that
case in b5ed76ba9f
2019-06-15 09:38:06 +01:00
Carsten Haitzler 297fa2bca0 optimize - avoid eina_inlist_last where not needed
really minor places.
2019-06-15 09:31:51 +01:00
Carsten Haitzler b5ed76ba9f evas - pointer in get - dont On walk inlist but O1 jump to last
to walk inreverse we need to jump to last first then walk backwards...
what we were doing is calling eina_inlist_last() which  is defined to
walk rather than that using list->last ... this totally got rid of
_evas_event_object_list_raw_in_get() from my perf list ... and i was
wondering how it got there to start with.

this is such an obvious optimization...
2019-06-15 09:19:20 +01:00
Carsten Haitzler 7c081c691b edje messages - use trash to keep message structs around for a short time
more optimizations for edje messages to avoid excess alloc and frees
if we have some trash around... since messages already have list
nodes, re-use the main list node for storing trash and not eina trash
as this avoids extra allocs for trash nodes.
2019-06-15 08:43:51 +01:00
Carsten Haitzler c2d1aaaed6 edje messages - on del use the per edje message list not global
this massively cuts the walk to remove messages to only what's needed
on teardown ... so yay! speedup.
2019-06-15 08:43:51 +01:00
Carsten Haitzler 613e1715be edje messages - avoid nasty On2 walk of message lists with skipping
so to process a single obj we added a lot of mesgs to the message
queueue only then to wak most and SKIP most msgs again and again -
when this adds up to 1000's of messages and 10k+ then literally moving
a window in e hangs for multiple seconds and we walk such lists in On2
like complexity. this gets it down to O(1) along with some other minor
optimizations of not adding to tmp list only then to add them to the
nex queue/list.

there is more i can optimize here as well now we track messages for an
edje in th edje. that's next.
2019-06-15 08:43:44 +01:00
Carsten Haitzler bda708d38f edje messages - track all messages for an edge obj in the edje
this is the basis for some future speedups to avoid full message queue
walks - get this right first.
2019-06-15 08:43:33 +01:00
Carsten Haitzler e667dd8b2c edje messages - make it use inlist to fragment ram less
using regular lists means we double our indirect ptr jumps and
fragment ram more - this is step one in improving performance of
message handling in some nasty corner cases i have found. first this
so it can be identified as an issue on its own if it is one. i've
tested it and it seems ok. so this si stage 1.
2019-06-15 08:43:18 +01:00
Xavi Artigas bc98c94dc9 Efl.Ui.Slider: Rename event delay,changed to steady
Summary:
And update the docs to explain its purpose.

Related to T7893

Test Plan: Everything builds and tests pass

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9090
2019-06-14 12:03:32 -04:00
Marcel Hollerbach 3a5f506b0e efl_ui_check: make it undependend of nstate
Summary:
check can only display 2 states, and is only designed to do so.
Additionally, nstate inherits from button, which
brings in autorepeat, which is hileriously broken on check and cannot
really work.

Right now there is not even support in the theme for clickable. So its a
good idea to get rid of this for now IMO.

ref T7865

Reviewers: stefan_schmidt, zmike, segfaultxavi, akanad, YOhoho

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7865, T7867

Differential Revision: https://phab.enlightenment.org/D9018
2019-06-13 09:21:38 -04:00
junsu choi d7fb6f62b4 efl_canvas_vg_container: Initialize alpha color
Summary:
The vg object (container, shape, ...) follows color of VG node data.
The color of node data is not initialized. it can set the required color for each object.
vg container should be layer with an alpha value of 255.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, kimcinoo, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9083
2019-06-13 13:55:29 +09:00
Stefan Schmidt 8a10b62fc2 ci: travis: switch to newer distro releases
Summary:
We follow Debian 9.9, Ubuntu 19.04 and Fedora 30 releases.
Also adding a build for Ubuntu 18.04 LTS to the cron job.

Not all jobs are updated yet as some experience failures
(old or new versions) which need to be understand and fixed
before we move on.

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9088
2019-06-12 11:44:11 -04:00