AgeCommit message (Collapse)Author
2019-08-09efreet - be more patient for efreet to start - up to 2 sec nowCarsten Haitzler (Rasterman)
seems people have issues with efreetd starting in 0.5 sec on some systems... even rpi's manage that, but lets be more patient and wait up to 2 sec
2019-08-09elm_test: fix crashing in efl.ui.popup when closing windowsMike Blumenkrantz
avoid double free on pointer in callback Reviewed-by: Cedric BAIL <> Differential Revision:
2019-08-09tests/popup: add (extremely) comprehensive test for anchor popupsMike Blumenkrantz
this verifies all align settings, different anchor points, changing anchors and aligns on-the-fly, unsetting anchors, and changing popup sizes Reviewed-by: Cedric BAIL <> Differential Revision:
2019-08-09tests/popup: add test units for all the text_alert popups in elm_testMike Blumenkrantz
this is mostly to verify that the internal label is sizing as expected Reviewed-by: Cedric BAIL <> Differential Revision:
2019-08-09tests/popup: add unit tests for scroll_alert expandable sizingMike Blumenkrantz
these correspond to the cases in elm_test Reviewed-by: Cedric BAIL <> Differential Revision:
2019-08-09efl_ui/popup: apply user min size hints during group_calcMike Blumenkrantz
if these hints are set, they should be used Reviewed-by: Cedric BAIL <> Differential Revision:
2019-08-09efl_ui/popup: optimize popup sizing calcs slightlyMike Blumenkrantz
ensure that scroll-based popups don't accidentally trigger a full recalc and (wrong) size change during group_calc by hitting the base popup size_set() implementation and setting the needs_calc flag or by using the base popup calc code when it should not be used this resolves a corner case sizing issue in the text_alert 2 popup case in elm_test which seems to have been present for a long time Reviewed-by: Cedric BAIL <> Differential Revision:
2019-08-09elm/config: clear env var hash on shutdownMike Blumenkrantz
env vars should not be retained when this subsystem is not "active" fixes unit test running ref 9149767184bfa9b64102eaea89f6733351de71e9 Reviewed-by: Cedric BAIL <> Differential Revision:
2019-08-09eolian: add an envvar to warn about unimplemented beta funcsDaniel Kolesa
This changes the behavior of the existing env var to only check unimplemented functions in stable APIs by default. Beta checks can be enabled with an additional environment var, so use EOLIAN_CLASS_UNIMPLEMENTED_WARN for stable and EOLIAN_CLASS_UNIMPLEMENTED_BETA_WARN for extra beta checks.
2019-08-09edje: fix warning for returning wrong type.Cedric BAIL
Reviewers: zmike Reviewed By: zmike Subscribers: segfaultxavi, #reviewers, #committers Tags: #efl Differential Revision:
2019-08-09evas/textblock: optmize textblock format parsing.subhransu mohanty
Summary: textblock format parsing creates/delets eina_TempStr for each token. Eina_TempStr is even worse than malloc/free because it also takes a lock/unlock along with malloc/free each time we create it. Just use a stack bufefr and create string in it if the string is too big then it will fall back to heap which is anyway we are doing right now. Tested this in Tizen List view the number of allocation reduced by 16000. Reviewers: Hermet, ali.alzyod, woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-08-09edje: optimize color_class_recursive_find_helper() functionsubhransu mohanty
Summary: If the color_class is not overridden by the object level the hash will be empty but still we do the expensive call to _edje_hash_find_helper() find the color_class in an empty hash. by checking if the hash is empty and returning early we save lot of unnecessary hash computaion and lookup. Reviewers: Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-08-09eina/hash: optimize eina_hash_find() when hash is empty.subhransu mohanty
Summary: Check if hash is empty before computing the hash key and look inside the hash to find data. Note: could have called the eina_hash_population() api but didn't because of extra function call. Reviewers: Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-08-09efl_ui_textpath: clear up path data when it's destructed.Hermet Park
This fixes path data memory leak. @fix
2019-08-08evas/render: size and draw proxy render surface based on proxy clipperMike Blumenkrantz
if a proxy is not being proxied, it's optimal to create a surface for only the necessary dimensions and then only draw within those dimensions. when a proxy is clipped to a size smaller than the proxy object, the required size for the proxy render becomes smaller as the proxy has less visible area. this enables us to draw only the clipped region and thus gives a performance boost this can only be enabled if the clipper is marked as static Reviewed-by: Hermet Park <> Differential Revision:
2019-08-08evas/render: clamp mask surface size to clipper sizeMike Blumenkrantz
there's no point in allocating a massive mask surface if it's going to be clipped to a smaller size, so instead just allocate the smaller size and position it where the clipped size would be this can only be enabled if the clipper is known to not be changing size, as performance would be impacted if the clipper was forcing a full mask redraw due to regular resizing Reviewed-by: Hermet Park <> Differential Revision:
2019-08-08evas: add 'has_fixed_size' property for canvas objectsMike Blumenkrantz
this provides a hint for rendering that the object is not going to resize for as long as the flag is set and allows for some optimizations to be made during rendering based on this knowledge @feature Reviewed-by: Cedric BAIL <> Differential Revision:
2019-08-08getenv - reduce continually calling getenv for the same vars do onceCarsten Haitzler (Rasterman)
do it once and remember the result from the first one. drops overhead for sure by a chunk i actually could see in perf reports like about 1-2% of cpu...
2019-08-08get rid of shadow variablesBoris Faure
Summary: gl: add some EINA_FALLTHROUGH Reviewers: #reviewers, zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-08-08ector: ++safety.Hermet Park
null handling just in corner case.
2019-08-08evas vg: ++safety.Hermet Park
Realloc internal composite buffer if its size is invalid.
2019-08-08efl_ui_selectable: add spec test suite for thisMarcel Hollerbach
Summary: this brings a spec test suite for Efl.Ui.Selectable Depends on D9517 Reviewers: zmike, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-08-07eina log - we exceet 24 domains alrready out of the box, so increaseCarsten Haitzler (Rasterman)
this avoids more reallocs since we already use more than 24 domains... go up to 64.
2019-08-07cxx: Fix funcptr c_args declaration.Lauro Moura
Summary: The internal wrapper was generating the argument types directly instead of passing through the translation generator `grammar::c_type`. This caused the type in the `caller` callback to be different from the actual C type of the declared function pointer, like in `@out` parameters. Reviewers: tasn, felipealmeida Reviewed By: felipealmeida Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-08-07ecore evas drm - fix code that forgets to del an fd handlerCarsten Haitzler (Rasterman)
also.. note the badness of the code design mixing a global singleton with a "per struct" set of data like fd handlers for the same devices initted only once but... anyway. it's messy.
2019-08-07evas egl - esnure we always destroy surfaces because creating new onesCarsten Haitzler (Rasterman)
be sure we dont leak them.
2019-08-07evas - gl_drm - delete old surfaces before creating new onesCarsten Haitzler (Rasterman)
we shouldnt go have multiple drm window surfaces per drm surface... this is bad. @fix
2019-08-07efl_ui_focus_layer: we should cleanup on invalidateMarcel Hollerbach
Summary: otherwise there will be errors. Lets pray this did not break anything else. Depends on D9518 Reviewers: zmike Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-08-07Evas: migrate Evas_BiDi_Direction -> Efl_Text_Bidirectional_Type.Tom Hacohen
2019-08-07efl_ui_item: fix event emissionMarcel Hollerbach
with this commit events are emitted correctly, even if the container is already on the way to deletion. Additionally, the codepath that is triggered when the item is selected via clickable is now also going through the selected property. ref 7905 Reviewed-by: SangHyeon Jade Lee <> Differential Revision:
2019-08-07introduce efl_ui_multi_selectable and efl_ui_single_selectableMarcel Hollerbach
right now they are just thin wrappers from what have been in efl_ui_collection. This is just a first effort, the interfaces have to be equipped with more and better API, more events, and tests. ref T8057 Reviewed-by: SangHyeon Jade Lee <> Differential Revision:
2019-08-07efl_ui: use unified size hints api and be explicit about which hint is changedMike Blumenkrantz
unified widgets should use unified api internally and also be more explicit about which min size hint (restricted or user) is being set in order to improve readability of code when unified widgets also implement legacy wrappers, legacy api should be used for the legacy objects no functional changes Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-08-07tests/popup: add sizing test for scroll_alert popupMike Blumenkrantz
Differential Revision:
2019-08-07evas_text: backward compatibility for setting text sizeAli Alzyod
Summary: This is for backward compatibility for TIZEN Test cases for legacy Reviewers: woohyun Reviewed By: woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-08-07emile - use newer lz4 api instead of deprecated oneCarsten Haitzler (Rasterman)
2019-08-07lz4 - update to 1.9.1 for static lib in src treeCarsten Haitzler (Rasterman)
this updates our static zlib to 1.9.1 releases april 23, 2019. fixes T7983
2019-08-07efl_ui_selectable: this should be betaMarcel Hollerbach
sorry, i forgot that ... :(
2019-08-06remove outdated readmeMarcel Hollerbach
the docs hsould be covered in INSTALL. (Fast! merge this before the docs guy comes back from vacation)
2019-08-06tests/popup: add unit tests for alert_popupMike Blumenkrantz
this covers all cases from the elm_test example Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-08-06efl_ui_check: migrate from own property to Efl.Ui.SelectableMarcel Hollerbach
this is the basic work for getting radio group as a single_selection interface, which can be a part of mutli_selection. Which will come both later on. ref T8057 Differential Revision:
2019-08-06ci: disable rsvg loader on windowsMarcel Hollerbach
Summary: deps are missing for that one Reviewers: stefan_schmidt, zmike, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-08-06efl_input_clickable: int -> uintMarcel Hollerbach
Summary: the ids of the structs here are never negative ref T7976 Reviewers: zmike, segfaultxavi, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7976 Differential Revision:
2019-08-06efl_ui_focus_manager_root_focus: perform focus switch delayedMarcel Hollerbach
Summary: Delaying the unregistering here ensures that there is not focus set call while a object is beeing registered in the focus manager. ref T8081 Reviewers: zmike, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T8081 Differential Revision:
2019-08-06efl_ui_collection: implement initial focus behaviourMarcel Hollerbach
Summary: the behaviour here is that the next item according to the direction is getting focused. This sounds easy but is quite complex given the fact that the items might be hidden. This is the first draft for this, to see how good it performes. Reviewers: zmike, stefan_schmidt, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-08-06ecore_wl2: Move ecore_wl2_buffer_fit function to be internalChristopher Michael
The ecore_wl2_buffer_fit function is only used internally in EFL so move it out of the public API header. ref T8013
2019-08-06ecore_wl2: Move ecore_wl2_window_false_commit to be internalChristopher Michael
The ecore_wl2_window_false_commit function is only used internally inside efl so there is no need for it to be a public API. ref T8013
2019-08-06ecore_wl2: Move ecore_wl2_window_rotation_change functions to beChristopher Michael
internal These functions are not used in efl wayland clients nor are they used in Enlightenment. As such, there is no reason that they need to be public API so this commit moves them to be Internal and updates Ecore_Evas engine code to include the internal header. ref T8013
2019-08-06build: Seprate same svg extension loaders between image and vector.Hermet Park
Currently, vector and image support svg format via different rountine. Our vector loader implemenst on its own drawing mechanism for svg, but in case of image loader, it depends on rsvg library. By Comparing both, our vector svg is winner at performance wise. we can remove rsvg routine later. For now, these two loader names are conflicted, we should separate their names with svg and rsvg.
2019-08-06efl_input_hold: replace hold property name with input_holdYeongjong Lee
Sorry to touch stable eo classes. there is name conflict issue between class and property when binding language is generated from eo. for example in C#, compiler error occurs. ``` src/bindings/mono/efl_input_hold.eo.cs(166,17): error CS0542: `Efl.Input.Hold.Hold': member names cannot be the same as their enclosing type ``` This patch changes Efl.Input.Hold.GetHold/SetHold to Efl.Input.Hold.GetInputHold/SetInputHold and generates Efl.Input.Hold.InputHold property. Note that CAPI is not changed. ref T8093 Reviewed-by: Xavi Artigas <> Reviewed-by: Mike Blumenkrantz <> Reviewed-by: Lauro Neto <lauromauro_> Differential Revision:
2019-08-06docs: Improve Efl.Input.Key docsLauro Moura
People without X11 background would have a hard time understanding the difference between key, key_name, key_code, etc. Reviewed-by: Xavi Artigas <> Reviewed-by: YeongJong Lee <> Differential Revision: