AgeCommit message (Collapse)Author
2019-06-24.devs/zmike/exMike Blumenkrantz
2019-06-24WIP: execute a exactness runStefan Schmidt
2019-06-24ci:travis: add build job for exactnessStefan Schmidt
2019-06-24exactness: print out stats at the end of the runStefan Schmidt
2019-06-24Exactness: porting to MesonDaniel Zaoui
Differential Revision:
2019-06-24Exactness: code importationDaniel Zaoui
Differential Revision:
2019-06-24ci: travis: osx: switch to newer macos image and brew addon for packagesStefan Schmidt
Summary: One of the time consuming parts of the macos build we have is the installing of the efl dependencies as packages from brew. The brew update command alone is often taking 5m to run. To avoid running brew update at all we are switching to a newer osx image from Travis, which comes with a newer set of brew metadata and gets us around a brew update for now. Together with this we are also switching from our own dependency install script to the brew package addon provided by travis already. In my testing this shows we are only spending 270s in the brew package updates comapred to 635s before. So we have a 6 minutes speedup for every osx build! Depends on D9161 Reviewers: zmike, bu5hm4n Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-06-24ci: enforce ccache for macos meson runStefan Schmidt
Summary: While we set CC="ccache gcc" as an env var in Travis it gets overridden at some point before meson is run. This results in a situation where we have ccache enabled for g++, but not for gcc. Enforcing the setting directly before meson again to make sure it gets picked up correctly. I have seen build time improvements on Travis with up to 7 minutes with this in an optimal case (rebuild existing job). It should shave off at least a few minutes from every build even with bigger changes. Depends on D9160 Reviewers: zmike, bu5hm4n Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-06-24remove last bits of Evil.h in tests and use evil_private.h insteadVincent Torri
Test Plan: compilation Reviewers: zmike, raster, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-06-24efl_ui_textpath: fix a center align but that doesn't happen at text_set().Hermet Park
When textpath obj has a new text data, it must update center align position based on the new text length. Previously, it missed that logic. @fix
2019-06-24eolian_mono: support eo access modifiersYeongjong Lee
Summary: Because in C# interface members can't include access modifiers, eolian_mono ignore function scope tags in eo interfaces. ref T7494 Reviewers: q66, felipealmeida, lauromoura, segfaultxavi, Jaehyun_Cho Reviewed By: Jaehyun_Cho Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7494 Differential Revision:
2019-06-24eolian_mono: fix to call mixin's method in inherited classJaehyun Cho
Summary: Eo mixin is converted to C# interface and C# concrete class. When the mixin's method is called, the delegate function of Eo mixin's C# concrete class is called. Now, the delegate function of Eo mixin's C# concrete class calls C# method with casting to Eo mixin's C# concrete class type. e.g. ((IClickableConcrete)ws.Target).Press(button); If a user defined C# class implements Eo mixin's C# interface, the implemented method cannot be called because the user defined C# class type is not the same as Eo mixin's C# concrete class. To resolve the above issue, the type casting code is fixed. Reviewers: felipealmeida, lauromoura, vitor.sousa, YOhoho Reviewed By: YOhoho Subscribers: bu5hm4n, YOhoho, cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-06-21meson: do not error when no optimization architecture is thereMarcel Hollerbach
this should fix building on architectures that do not have native optimization support in efl. fix T8028 Reviewed-by: Dan HorĂ¡k <@sharkcz> Differential Revision:
2019-06-21efl_ui_win: fix emitting of object focus eventsMarcel Hollerbach
Summary: the event type was wrong. This is now fixed and works correctly. Reviewers: stefan_schmidt, zmike, segfaultxavi Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-06-21ci: make sure we disable the new json evas loader in our jobsStefan Schmidt
This have been just added and we need to update our disabled list for some specific jobs where we mess with the disabled loaders manually.
2019-06-21vg_common_json: Set container's alpha colorJunsuChoi
Summary: If the layer has an alpha value, we have make it available to container. Test Plan: N/A Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: cedric, #reviewers, kimcinoo, #committers Tags: #efl Differential Revision:
2019-06-21canvas vg: optmize lottie vector tree.Hermet Park
Skip invisible stroke nodes as possible.
2019-06-21evas vector: add a lottie animation example.Hermet Park
Summary: Depends on {D8941} Reviewers: #committers, jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-06-21evas vector: support lottie animation as using json loader.Hermet Park
Summary: This patch extends efl_canvas_vg_object class to implement efl_gfx_frame_controller to suppor any playable animation on it. Plus, vector object takes care of lottie animation by using json loader. it's caching mechanism is changed to cache only static frame, not all frames. vg_cache supports json loader and make it animation request properly. This feature has been stabilized enough, it's using in Samsung Galaxy Watch active product, proved its stability enough. Depends on {D8940} Co-authored-by: JunsuChoi <> Reviewers: #committers, jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-06-21evas vector: support json loader for rlottie integration.Hermet Park
Summary: Introduce a new evas json loader to support lottie animation. This json loader uses rlottie library which is a new github open project. These days most ui frameworks (windowpws, skia, qt, xamarin, react, nativescript) supports lottie, the rlottie was designed to support lottie as a standalone library and compatible with efl as well. To enable this,please install rlottie library then remove json disabler in meson_options.txt For more information, See lottie/rlottie project and its a introdcution article: Co-authored-by: JunsuChoi <> {D8941} {D8944} Reviewers: #committers, jsuya, bu5hm4n Subscribers: bu5hm4n, cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-06-21fix segv when adding optimizations to edje message handlingCarsten Haitzler (Rasterman)
613e1715be1114c2221f1a12f067e3d1e215265f (and friends) added a bit a biug where messages in the queue were not skipped as they were before causing a segv witha null lookup. this fixes that. eclipse about dialog showed this bug up. no longer happens now.
2019-06-20remove more filesMarcel Hollerbach
Summary: those files are leftover from autotools. They have been missed before Reviewers: stefan_schmidt, zmike Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-06-20efl_ui_radio: fixup wrong referenceMarcel Hollerbach
group_create is not anymore. This is now repaired.
2019-06-20build: remove no longer needed eolian-bootstrap targetStefan Schmidt
This basically reverts ac606105. It was added to help the windows cross builds on our CI. It served a purpose but with the requirements on native eet, edje_cc and up to elm_prefs_cc we end up with a full native build of EFL in most cases anyway. A full meson build of EFL with examples, bindings and tests disabled is actually quite fast and makes sure we have the latest needed on the CI for the cross build. I switched over to this a week ago, so we can get rid of this extra target to maintain. Differential Revision: Signed-off-by: Stefan Schmidt <>
2019-06-20efl_input_device: split up has_pointer_capMarcel Hollerbach
it was somehow confusing that this function was used for two different things. Now we have 2 functions for checking is it is of pointer_type or how many pointer devices are in a seat. ref T7963 Reviewed-by: Chris Michael <> Differential Revision:
2019-06-20efl_input_key: compose -> compose_stringMarcel Hollerbach
rename this property, as this name was considered better. ref T7964 Reviewed-by: Xavi Artigas <> Differential Revision:
2019-06-20efl_ui_win: repair scene event emissionMarcel Hollerbach
It appears that EVAS_CALLBACK_FOCUS_IN / OUT is wrong here, as this is for when a object gets focus but not the scene. However, the inital event emission still does not work correctly, this needs some further investigation. Reviewed-by: Mike Blumenkrantz <> Differential Revision:
2019-06-20evas: emit the corrent event here,Marcel Hollerbach
it seems we have done here something wrong, EFL_EVENT_FOCUS_IN is meant to be emitted on objects that RECEIVE focus. This function here however is called each time the window gets focus, which then might lead to a object getting focus. However, those are two different things. Reviewed-by: Mike Blumenkrantz <> Differential Revision:
2019-06-20efl_canvas_scene: we never provided a object as event type hereMarcel Hollerbach
And further more, this object here would have been wrong(as it is transporting the focused object), so we should not write here any type. Reviewed-by: Xavi Artigas <> Differential Revision:
2019-06-20efl_input_pointer: rename tool to touch_idMarcel Hollerbach
tool was not very helpfull, and additionally, the docuemtnation of it was completly wrong. After searching through the code where tool was actaully set (efl_ui_win.c) it turned out that it is actaully the "id" of the pointer when there are multiple touch events. ref T7963 Reviewed-by: Mike Blumenkrantz <> Reviewed-by: Xavi Artigas <> Differential Revision:
2019-06-20Efl.Ui.Radio: Update docsXavi Artigas
Ref T7867 Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-06-20efl_ui_radio: cleanup APIMarcel Hollerbach
This is a bit of a giant commit. However, the problem here is that cleaning up the API went hand in hand with rewriting most of the usages. In the process of renewing and removing old API the following was done: - Legacy API testcases have been ported back to smart callbacks - EO-API testcases have been ported to efl_add syntax - weird event #defines have been removed - Wrong constructor usage has been removed - Ported to the new box object introduced before - removed legacy API from efl_ui_radio -> no more ptr(int) q66 will do jumps of happiness -> no more ununderstandable group_add methods -> Seperated code in blocks only for legacy, and blocks only for non-legacy To verify this commit, you can check all the tests that have been touched here. Additionally, the cxx example has been adjusted ref T7867 Reviewed-by: Mike Blumenkrantz <> Differential Revision:
2019-06-20efl_ui_radio: refactor for usage of efl_ui_check_selectedMarcel Hollerbach
in previous versions of this widget, the calls that are available due to inheritance did not work. efl_ui_check_selected_set did not work on a radio button. However, the internal function _state_set did just exactly that. So this commit refactors the activity emitting out of the function, so the _state_set function can just be used as the efl_ui_check_selected set function. Reviewed-by: Mike Blumenkrantz <> Differential Revision:
2019-06-20Introduce Efl.Ui.Radio_Group & Efl.Ui.Radio_BoxMarcel Hollerbach
Radio_Group is a interface that manages that radio groups can be grouped inside a external object, the current API of radio was considered confusing in that regard. It is implemented in the Radio_Group_Internal class which is private to EFL, a instance of it can be found with get due to the class function in efl_ui_radio.eo. This architecture was taken like this, in order to have implementation and interface seperated. With those two seperated we can inherit from regular widgets, implement the interface, and composite attach the internal object to the regular widget. This makes a lot of things easier. Radio_Box is a class which is extending Efl.Ui.Box, which has an internal Radio_Group. This is extremly usefull for cases where you just want to have a list of radio buttons in your UI. The radio group is also exposed using composition to the internal object. Simular things can be done for the table. For now i did not add API to find the group of a radio button. However, this can be quickly added if requested. ref T7867 Reviewed-by: Mike Blumenkrantz <> Reviewed-by: Xavi Artigas <> Differential Revision:
2019-06-20ecore: do not rely on implicit rules for memory lifecycle during test.Cedric BAIL
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:
2019-06-20fix build.Marcel Hollerbach
2019-06-20evas_textblock: more descriptive parameter namesAli Alzyod
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:
2019-06-20ci: use ccache also in the mingw cross buildStefan Schmidt
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 <> Differential Revision:
2019-06-20tests: fix warnings and undef ref on Windows (using meson :-) )Vincent Torri
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:
2019-06-20evas - events - protect on object deletion while calling callbacksCarsten Haitzler (Rasterman)
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-20efl_wfl: fix warning and err prints for wl keymap tmp fileCarsten Haitzler (Rasterman)
2019-06-20ecore - efl thread - handle write call mishaps and complainCarsten Haitzler (Rasterman)
fixes warnings too.
2019-06-20meson - docs - convert - we aren't using it so don't require itCarsten Haitzler (Rasterman)
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-20elm_slider: fix to call legacy "delay,changed" callbackWooHyun Jung
Just fixed a backward compatibility issue in elm_slider. Now it calls "delay,changed" as it had done previously. Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-06-20ector: Fix precomp layer rendering issue when it has alpha valueJunsuChoi
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:
2019-06-20Revert "efl_ui_suite_spec: add a hack to have running tests again"Mike Blumenkrantz
This reverts commit 2ef8894fcd415cdc24d7bc222a9f8425fb8f9f34. this is no longer needed Differential Revision:
2019-06-20efl_ui/active_view: fix object destructionMike Blumenkrantz
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 <> Reviewed-by: Cedric BAIL <> Differential Revision:
2019-06-19efl_ui_suite_spec: add a hack to have running tests againMarcel Hollerbach
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:
2019-06-19ci: travis: no need to cache the autom4te.cache any longerStefan Schmidt
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: