AgeCommit message (Collapse)Author
2019-03-11efl-mono: More modeldevs/felipealmeida/mono_modelFelipe Magno de Almeida
2019-03-10efl-mono: Add object type support for Eina.ValueFelipe Magno de Almeida
2019-02-28efl-mono: Add Model manual implementation to C# and MVVM factoriesFelipe Magno de Almeida
Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-02-20efl-mono: Add support for dotnet coreFelipe Magno de Almeida
This commits adds dotnet as a supported C# platform for EFL# bindings. Due to differences between Mono and Dotnet regarding DllImport, the bindings now are using an imperative approach to load the function pointers through the FunctionWrapper and NativeModule classes. Also, the previous caching of non-owned strings returned to native code was removed until further memory checks. We also had to create workaround for bool and chars in Structs for C# marshaling. Going through System.Byte instead and Marshaling manually to their respective types. Fixes T7394
2019-02-20efl-mono: Add test for returning NULL for objectsFelipe Magno de Almeida
2019-02-20eo: eo_base_class.c assumes stringshares in comment and name methodsFelipe Magno de Almeida
2019-02-20efl-mono: Add support for dotnet coreFelipe Magno de Almeida
2019-02-17eolian: disallow freefuncs on typedefsDaniel Kolesa
Now the only kind of typedecl that is allowed a freefunc is a struct. This simplifies the overall logic and makes freefuncs a bit more predictable.
2019-02-17eolian: restrict usage of ptr() to directly used typesDaniel Kolesa
That means, it can only now be used on parameters and struct fields, never aliased within typedefs. This simplifies the logic so that we don't have ptr metadata buried several layers deep.
2019-02-16examples - add examples for efl exe/threadCarsten Haitzler (Rasterman)
2019-02-15efl cmdline use simpler stringshare type to not be redundantCarsten Haitzler (Rasterman)
2019-02-15eolian gen: initial support for reflection apiDaniel Kolesa
This adds support for generating reflection functions for properties. This support is basic for now, supporting only primitive types and string(shares), it will be expanded later as required. @feature
2019-02-15efl.canvas.scene: improve class docsMike Blumenkrantz
Summary: these were some pretty efl docs, and I've tried to make them more accessible ref T7584 Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7584 Differential Revision:
2019-02-15efl commandline - make strings also owned as well as arrayCarsten Haitzler (Rasterman)
this seems like it should be the right one. i don't have sample tests etc. to run - the mono suite succeeds... so...
2019-02-15ecore audio - mark it all as betaCarsten Haitzler (Rasterman)
this api needs a re-think in terms of being portablke/back-enmd agnostic. it shouldnt expose windows vs pulse etc. and shouldnt be ecore_XXX for sure.
2019-02-15fix efl exe/thread/appthread to work again after seemingly bitrottingCarsten Haitzler (Rasterman)
2019-02-15fix args handling in cmdline class to not be brokenCarsten Haitzler (Rasterman)
first use consistent ownership (stringshare the strings) and then also properly dup and pass them and not free null arrays and so on where they are used
2019-02-15cmdline iface - fix to consume input array AND strings totallyCarsten Haitzler (Rasterman)
strings often enough are generated e.g. via "%s/%s" or "%i" or similar etc. ... i have poitned to examples, so move to make all strings consistently stringshared, fix a bug added to the efl thread code where it accessed and freed array even tho array was consumed (but not strings) in the set, and the code used free to consume not stringshare_del. fix other code and tests to match EXCTLY the kind of bugs and mistakes with this kind of design that i said would happen more often just happened...
2019-02-15env obj - fixx implementation to use a shared objectCarsten Haitzler (Rasterman)
so this chnage totally threww away all the thread safety and locking without doing the simple thing of using a shared obcj for the global env obj to ensure brute force safety at least. fix.
2019-02-14Move Efl.Observable_Tuple into efl_observable.eoXavi Artigas
Summary: And out of efl_types.eot Makes sense, right? Test Plan: Everything builds Reviewers: cedric, zmike, bu5hm4n Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-02-14Remove warnings when building without EFL_BETA_API_SUPPORTXavi Artigas
Summary: efl_alive_get should be a method defined in efl_object.eo, protected by EFL_BETA_API_SUPPORT while that class is still @beta. Instead, it is defined in Eo.h, so the BETA guard has to be defined manually. This was causing some unsighly warnings during "make" and "make check" (implicit declaration of function ‘efl_invalidating_get’) Test Plan: make && make check do not throw that warning anymore Reviewers: zmike, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-02-14efl_core_command_line: a +1 was forgotten in order to account \0Marcel Hollerbach
this forgotten and the allocated string buffer was too small. This fixes a valgrind warnings
2019-02-14Stop defining EFL_BETA_API_SUPPORT in Efl_Core.h and Efl_Ui.hXavi Artigas
Summary: Including these headers does no longer mean that you want to use BETA API. More and more methods in these libs will come out of BETA and they will be usable without requiring EFL_BETA_API_SUPPORT to be defined by the app. This concludes this patchset. Now apps can chose to define EFL_BETA_API_SUPPORT or not, and they will have access to the requested API subset, but both options are available. Depends on D7951 Fixes T7692 Reviewers: zmike, bu5hm4n, cedric Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7692 Differential Revision:
2019-02-14Mark BETA classes individuallyXavi Artigas
Summary: Instead of surrounding all the #include "*.eo.h" lines in Efl.h with #ifdef EFL_BETA_API_SUPPORT, include these files unconditionally, but mark all classes as @beta in the eo files. This will allow taking them out of beta one by one as we deem them stable enough. Otherwise, the current procedure involves moving the #include line out of the ifdef block, which is cumbersome and messes include order. Depends on D7950 Fixes T7692 Test Plan: Nothing changes Reviewers: zmike, bu5hm4n, cedric Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7692 Differential Revision:
2019-02-14Mark EFL_MAIN and EFL_MAIN_EX macros as stableXavi Artigas
They no longer require EFL_BETA_API_SUPPORT to be defined.
2019-02-14Mark efl_types.eot as stableXavi Artigas
Summary: This allows using Efl_Version without EFL_BETA_API_SUPPORT, which in turn allows failing when trying to use restricted BETA API with a more meaningful error message. The error will now tell you which restricted API you are trying to use, instead of Efl_Version symbol not found. Fixes T7696 Depends on D7932 Test Plan: make && make check && make examples continue working. Building a BETA example while removing the EFL_BETA_API_SUPPORT define should tell you which BETA API you tried to use. Reviewers: zmike, bu5hm4n, cedric Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7696 Differential Revision:
2019-02-14eo: declare Eo stableMarcel Hollerbach
Summary: This declares the main part of Eo.h as stable, except the domain api for now. We don't have a user of that API for now, nor do we have bindings supporting threads, lets wait with this bit until we have bindings for this, so we can test it. Further more, this does not stabilize the composition API of efl_object.eo.h, reason for this is, that we might want to overthink the solution we have with events, as we might want to forward events per default. Depends on D7931 Reviewers: stefan_schmidt, cedric, zmike, segfaultxavi Reviewed By: cedric Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-02-14docs: TypoXavi Artigas
2019-02-14Efl.Gfx.Stack: Rename raise and lowerXavi Artigas
Summary: to move_to_top and move_to_bottom since the previous names seemed to indicate that the object only moved one step instead of all the way through the top or the bottom of the stack. Ref T7560 Test Plan: make && make check && make examples work as before Reviewers: cedric, zmike Reviewed By: zmike Subscribers: kimcinoo, #reviewers, #committers Tags: #efl Maniphest Tasks: T7560 Differential Revision:
2019-02-14efl_ui : fix infinite loop in efl_ui_exact modelSangHyeon Jade Lee
Summary: the loop in infinite because of wrong condition. need to loop while the count of list_index. Reviewers: cedric, zmike Subscribers: zmike, #reviewers, #committers Tags: #efl Differential Revision:
2019-02-14docs: Clarify docs for Efl.Screen.Xavi Artigas
2019-02-14build: enable eolian_gen bootstrapping for cross compileMarcel Hollerbach
this enables travis to build eolian_gen before cross compiling in mingw. This is done in order to make eolian_gen patches easier on CI. Reviewed-by: Stefan Schmidt <> Differential Revision:
2019-02-14build: add a option to bootstrap eolianMarcel Hollerbach
this is here in order to make cross compiling easier, and we can just provide the *all the time changing* eolian_gen binary. Reviewed-by: Stefan Schmidt <> Differential Revision:
2019-02-14build: fix autotools release tarbal generationMarcel Hollerbach
this file was forgotten when initially writing this patch. Reviewed-by: Stefan Schmidt <> Differential Revision:
2019-02-14tests: guard eina bool variable to avoid compilation failure on windowsStefan Schmidt
The timeout_reached bool is only used in this function when HAVE_FORK is available. This is not the case on windows. Eina.h would only be included with fork available so the Eina_Bool type causes a compilation fail on windows. Guarding them as the other parts of the function using it solves the problem. Reviewed-by: Vincent Torri <> Differential Revision:
2019-02-14ecore wl2 - remove pointless sntrcpys causing warningsCarsten Haitzler (Rasterman)
again pointless: strcpy(dest, x); -> len - strlen(x); strncpy(dest, x, len); code put in causing new warnings. this kind of "get rid of strcpy" is actua;;y dangerous as it's more likely a mistake is made along the way and bugs are added. strcpy's should be reviewed and if ok - left as-is. doing otherwise makes the code worse, not better and raises risk. it now also produces warnings at compile time which creates noise we just shouldnt' have.
2019-02-14test/efl_ui_pager: add NULL checking after calloc() functionJaeun Choi
2019-02-14efl_page_transition_scroll: avoid explicit null dereferenceJaeun Choi
2019-02-14efl_pack: move layout,updated event to Efl.Pack_LayoutYeongjong Lee
Summary: 'layout,updated' event is more suitable for Efl.Pack_Layout which have layout_update method. Test Plan: make Reviewers: segfaultxavi, cedric, Jaehyun_Cho Reviewed By: segfaultxavi, Jaehyun_Cho Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-02-13eet_dictionary: remove dead codeJaehyun Cho
If index value is not -1, then eet_dictionary_string_add() returns. Therefore, it does not need to check the index value after that. Reviewed-by: Cedric BAIL <> Differential Revision:
2019-02-13ecore_con: Fix potentional problems around ecore_conWonki Kim
non-thread safe functions are used like rand(), strerror(). this patch replace them with thread safe one. and also this patch contains a change to fix a memory leak problem. Reviewed-by: Cedric BAIL <> Differential Revision:
2019-02-13eolian: allow tagging complete classes as BETAXavi Artigas
Summary: This allows using the @beta tag in classes, like this: class @beta Efl.Foo extends Efl.Bar { ... } This will surround the class definition in the .eo.h file with an EFL_BETA_API_SUPPORT #define, equivalent to tag every method and event with @beta. Test Plan: Nothing changes since no class uses this tag yet Reviewers: q66, bu5hm4n, zmike Reviewed By: q66 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-02-13Remove individual class BETA guardsXavi Artigas
Summary: Eolian adds a per-class BETA guard (like EFL_UI_WIN_BETA) to any method tagged as @beta. This means that any app (and the EFL code) wanting to use BETA features has to enable them class by class, which is cumbersome. This commit replaces the individual guards with the global EFL_BETA_API_SUPPORT guard, so apps only need to define one symbol to access BETA features. Any usage of the per-class guards has been removed from the EFL code and examples. When building EFL the global guard is defined by configure, so all EFL methods already have access to BETA API. Efl_Core.h and Efl_Ui.h no longer define EFL_BETA_API_SUPPORT. Apps wanting to use BETA API have to define this symbol before including any EFL header (It has been added to the examples requiring it). Test Plan: make && make check && make examples still work, but there's a lot less #defines in the code Reviewers: zmike, bu5hm4n, q66 Reviewed By: q66 Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T6788 Differential Revision:
2019-02-13ecore-x: only modify _ecore_key_grabs when key is toggledThierry
A New entry is added to _ecore_key_grabs even when no key was grabbed. Summary: The key grab and ungrab functions should return which keycode was used. Proposed by Reviewers: zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-02-13ecore_wl2: Make our wayland socket handling thread safeDerek Foreman
By using the prepare read code properly we can do wayland dispatch of multiple queues in multiple threads. I'm not advocating we ever do so, but if a library (perhaps a gl implementation) wants to dispatch its own queue, and that happens in a separate thread from our event loop, we probably don't want the world to explode. Reviewed-by: Chris Michael <> Differential Revision:
2019-02-13ecore_main: Add ECORE_FD_ALWAYS flagDerek Foreman
This allows an fd handler to be called after select exits unconditionally. Our wayland client code needs this to be thread safe, as it needs to call prepare_read before entering select, and then either read or cancel_read after select. Signed-off-by: Derek Foreman <> Reviewed-by: Chris Michael <> Reviewed-by: Cedric BAIL <> Differential Revision:
2019-02-13eo: remove class functions from eoMarcel Hollerbach
As in the previous commit explained, we want to get rid of class functions in eo, and make them just c functions right away. This commit removes the class parameter from the eo_class_function_set call, and adjusts the tests to not depend on class functions anymore. Class functions are now not tested anymore, tests that used them as a way to test *things* are adjusted to test them now with object functions, tests that just tested the working of class functions are dropped. This fixes T7675. Reviewed-by: Cedric BAIL <> Differential Revision:
2019-02-13eolian: drop class function overridingMarcel Hollerbach
Until this commit eo did class functions as part of the vtable, which enabled those functions to be overwritten in classes inheriting another class. However in task T7675 we decided that this is not really good for bindings, as most OOP languages do not support this sort of feature. After this commit eolian realizes class function completly outside of the vtable, the c-symbol that is the class funciton is now just directly redirecting to a implementation, without the involvement of the vtable. This also means a change to the syntax created by eo: Calling before: class_function(CLASS_A); Calling after: class_function(); Implementation before: class_function(const Eo *obj, void *pd) { ... } Implementation after: class_function(void) { ... } This fixes T7675. Co-authored-by: lauromauro <> Reviewed-by: Daniel Kolesa <> Differential Revision:
2019-02-13efl_input: remove the API of efl_input_instance_getMarcel Hollerbach
there is basically no reason for this API. You can only use the API when you know the class, when you know the class you can also just know the function to call to get this API. The reason this API needs to go is that we don't want to use polymorphism on class-functions. ref T7675 Reviewed-by: Xavi Artigas <> Differential Revision:
2019-02-13ecore_wl2: replace strcpy with strncpyWonki Kim
Summary: this patch replaces a volnerable function with a safer one. Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: