summaryrefslogtreecommitdiff
path: root/src/lib/ecore (follow)
AgeCommit message (Collapse)Author
2018-12-07meson: add inital support for windows compilationMarcel Hollerbach
Differential Revision: https://phab.enlightenment.org/D7416
2018-12-07ecore: use efl_future_then to simplify the code logic and reduce potential bugs.Cedric BAIL
Summary: Depends on D7380 Reviewers: segfaultxavi, felipealmeida, SanghyeonLee, vitor.sousa, bu5hm4n Reviewed By: bu5hm4n Subscribers: barbieri, #reviewers, #committers Tags: #efl Maniphest Tasks: T7472 Differential Revision: https://phab.enlightenment.org/D7381
2018-12-07ecore: remove unecessary intermediate variable.Cedric BAIL
Summary: Depends on D7379 Reviewers: felipealmeida, segfaultxavi, vitor.sousa, SanghyeonLee, bu5hm4n Reviewed By: segfaultxavi, vitor.sousa Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7472 Differential Revision: https://phab.enlightenment.org/D7380
2018-12-07eo: make efl_future_then have a data pointer in addition of the object pointer.Cedric BAIL
Summary: In the case when you have multiple future in flight related to one object, you couldn't use the previous version of efl_future_then. Now all function calls take a void* pointer that allow multiple future to have their private data request data accessible in all the callback. This should not break released API as Eo.h is not released yet and so was efl_future_Eina_FutureXXX_then. Depends on D7332 Reviewers: felipealmeida, segfaultxavi, vitor.sousa, SanghyeonLee, bu5hm4n Reviewed By: segfaultxavi Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7472 Differential Revision: https://phab.enlightenment.org/D7379
2018-12-06doc: remove since_tizen.Hermet Park
This tag must be valid for only tizen world.
2018-12-04efl model loop - fix unused param (add EINA_UNUSED) - warnCarsten Haitzler (Rasterman)
2018-12-03meson: use eolian_gen with -SMarcel Hollerbach
this ensures that eolian does not parse installed .eo files Differential Revision: https://phab.enlightenment.org/D7405
2018-11-30ecore: simplify code by using helper that build future directly.Cedric BAIL
The new helper help replace call to eina_future_resolved and eina_future_rejected with a scheduler lookup to just one function call. Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7341
2018-11-30ecore: add an helper on Efl.Loop_Consumer to build resolved and rejected ↵Cedric BAIL
future more easily. This make all object that inherit from Efl.Loop_Consumer have an easy ability to create a future from their link to a loop provider. This way there is no need to further lookup for a scheduler. This can by applied after the patch series from T7471. Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D7337
2018-11-30Efl.Ui.List.View: fixed MVVM life-cycleLarry Lira
Fix bugs on Views and Model related with null items and proper ownership and life-cycle of components. Configure default theme for default factory on finalize.
2018-11-29ecore: fix bugs from composite modelsVitor Sousa
Fix type error while getting boolean property from Efl.Model_Composite_Boolean. Fix properties_get methods for all composite models. Now properly call property.changed events when it is needed. Use EINA_VALUE_TYPE_BOOL instead of EINA_VALUE_TYPE_UCHAR. Remove some memory leaks.
2018-11-29ecore: forward internal Efl.Model events to Efl.Model.CompositeVitor Sousa
2018-11-29ecore: fix efl_model_container_private.h include guardsVitor Sousa
2018-11-28eo-docs: Remove Doxygen tags from efl*.eo filesXavi Artigas
Summary: - Replace '\@ref name' with '@name' - Remove unused \@internal tag This tag affects text AFTER it, and there is no text after it. - Remove \@note tag Replaced with a simple NOTE: text, since eolian does not have an equivalent tag. - Remove spurious \@Efl... tags They should really be @Efl... - Remove \@p tags There is no eolian equivalent, and a simpler $ suffices in this case. Fixes T7482 Reviewers: q66 Reviewed By: q66 Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7482 Differential Revision: https://phab.enlightenment.org/D7372
2018-11-23eo: rename efl_future_Eina_FutureXXX_then in efl_future_then as this has ↵Cedric BAIL
been available for some time. Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7327
2018-11-23ecore: switch all Efl.Model to inherit first from Efl.Model_Loop.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7324
2018-11-23ecore,efl: add Efl.Model.property_get helper which will suceed once when a ↵Cedric BAIL
property finally has a value. Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7323
2018-11-23efl: make Efl.Model.properties_get return an Iterator<string>.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7289
2018-11-23eolian: implement new syntax for inheritanceDaniel Kolesa
This new syntax separates the parent class from extensions, in a familiar way to similar to e.g. Java. Since changing everything at once is a lot of effort, implement it alongside for the time being.
2018-11-23efl_interpolator: rename subclasses of Efl.InterpolatorJaehyun Cho
Subclasses of Efl.Interpolator are renamed intuitively from backward order to forward order.
2018-11-23efl_interpolator: change Efl.Interpolator class to interfaceJaehyun Cho
Since Efl.Interpolator's subclasses are used as interpolator class, Efl.Interpolator class is changed to be an interface. This change allows Efl.Canvas.Animation to have Efl.Interpolator as its property in efl_canvas_animation.eo.
2018-11-13eo: Avoid namespace clashes.Lauro Moura
Summary: This commit removes some clashes (i.e. names as classes and namespaces at the same time). It'll avoid nested items that are either forbidden (C#) or problematic (Python) in some languages. Reviewers: segfaultxavi, bu5hm4n, felipealmeida Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7260
2018-11-09xxx - fix eina_future_then calls to pass sotrage val - fix warnsCarsten Haitzler (Rasterman)
2018-11-09ecore thread - fix warn - callback prototypes to match correct typeCarsten Haitzler (Rasterman)
we pass void *'s to these cb's not int's or thread handled (whatever typt they may be). so cast inside func not use wrong type.
2018-10-26ecore: remove duplicated conditionsYeongjong Lee
Summary: The macro already checks eina_main_loop_is() when DEBUG_THREADS is enabled. Test Plan: make Reviewers: segfaultxavi, ManMower, Hermet, bu5hm4n Reviewed By: bu5hm4n Subscribers: bu5hm4n, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7183
2018-10-24meson: add eolian custom dependencies supportDaniel Kolesa
This uses the meson/ninja depfile functionality + eolian to make sure proper dependencies between generated files and .eo files are managed, to ensure consistent re-generation of all generated files that are affected upon .eo file modification. For custom rules with multiple outputs, Ninja currently does not support depfiles. Therefore, split those into two custom rules so that the depfiles functionality can be enabled. While this is ugly and slows down the process a little by having to invoke Eolian twice instead of once, it has to be done and it's still better than what we had in Autotools anyway. Differential revision: D7187 Fixes T6700.
2018-10-05meson: unify system propertiesMarcel Hollerbach
this unifies the system types into 4 boolean flags This fixes the fact that meson changed the system string accross versions. Differential Revision: https://phab.enlightenment.org/D7144
2018-10-02here comes mesonMarcel Hollerbach
a new shiny buildtool that currently completes in the total of ~ 4 min.. 1 min. conf time 2:30 min. build time Where autotools takes: 1:50 min. conf time 3:40 min. build time. meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read. Further informations can be gathered from the README.meson Right now, bindings & windows support are missing. It is highly recommented to use meson 0.48 due to optimizations in meson that reduced the time the meson call would need. Co-authored-by: Mike Blumenkrantz <zmike@samsung.com> Differential Revision: https://phab.enlightenment.org/D7012 Depends on D7011
2018-09-27ecore_timer: Add docs for ecore_timer legacy functionsJunsuChoi
Summary: Find docs of missing legacy functions from 47cdbe3 and add them. Test Plan: make doc Reviewers: cedric, Hermet, segfaultxavi Reviewed By: segfaultxavi Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7118
2018-09-27efl_exe: check fcntl returnYeongjong Lee
Summary: Found by coverity Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7110
2018-09-21ecore_main: fix the invalid return valueTaehyub Kim
Summary: fix the invalid return value @fix Reviewers: Jaehyun_Cho, raster, Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7080
2018-09-18ecore: Add new way to register animatorsDerek Foreman
Summary: We have back-ends that can generate their own tick sources, but ecore_animator_add()/ecore_animator_timeline_add() gives no indication which backend the animator is running on. This means that all animators have to cause all currently in use backends to tick. For example, if under wayland 4 application windows are open, all 4 windows will create ticks when any animator is present. These new animator APIs that take an evas object allow us to figure out out the backend and only cause the appropriate one to tick. Depends on D7040 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: devilhorns, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7041
2018-09-18ecore_anim: Move struct Ecore_Animator to private headerDerek Foreman
Summary: We're going to use this in ecore_evas shortly. Depends on D7039 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7040
2018-09-04ecore_event: initialize uninitialized variableShinwoo Kim
Summary: The following commit (1) made an abort (2) (1) commit d1e4c6bab84e55837a70b8883a28e7eb6d49db09 Author: Jean Guyomarc'h <jean@guyomarch.bzh> Date: Mon Aug 27 12:04:35 2018 +0900 ecore: fix built-in event types generation (2) abort /lib/x86_64-linux-gnu/libc.so.6(+0x777e5) /lib/x86_64-linux-gnu/libc.so.6(+0x8037a) /lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c) /home/kimcinoo/install/lib/libecore.so.1(+0x237d7) /home/kimcinoo/install/lib/libeo.so.1(efl_destructor+0x64) /home/kimcinoo/install/lib/libeo.so.1(+0x18029) /home/kimcinoo/install/lib/libeo.so.1(efl_unref+0x44c) /home/kimcinoo/install/lib/libecore.so.1(+0x201f2) /home/kimcinoo/install/lib/libecore.so.1(ecore_shutdown+0x145) /home/kimcinoo/Upstream/efl/src/tests/ecore/.libs/lt-efl_app_suite(+0xb85d) /home/kimcinoo/install/lib/libcheck.so.0(srunner_run_tagged+0xa13) /home/kimcinoo/Upstream/efl/src/tests/ecore/.libs/lt-efl_app_suite(+0xead9) /home/kimcinoo/Upstream/efl/src/tests/ecore/.libs/lt-efl_app_suite(+0x4ade) /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) /home/kimcinoo/Upstream/efl/src/tests/ecore/.libs/lt-efl_app_suite And following commit (3) fixed the abort. (3) commit 3f306491a32a1880bccfe64861b5fec2ba09049b Author: Yeongjong Lee <cleanlyj@naver.com> Date: Mon Sep 3 15:55:13 2018 +0000 ecore_event: fix ecore event handler iterator range The above commit fixed the abort though, we could access uninitialized memory and make another abort again. This would prevent such unwanted case. Reviewers: Hermet, YOhoho, bu5hm4n, netstar Reviewed By: netstar Subscribers: netstar, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D6970
2018-09-03ecore_event: fix ecore event handler iterator rangeYeongjong Lee
event handler start at 1 (see _ecore_event_message_handler_type_new and _ecore_event_message_handler_efl_object_constructor) so that handlers[0] is not allocated. this patch avoid invalid memory access. this fixes T7349 Differential Revision: https://phab.enlightenment.org/D6966
2018-08-31docs: Fix typos in API reference doc and comments.Yeongjong Lee
Reviewers: Hermet, segfaultxavi Reviewed By: Hermet, segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D6948
2018-08-30docs: Fix typos and some wrong expressions in API reference doc.Myoungwoon Roy, Kim
Summary: I had fixed some typos and some wrong expressions in API reference doc Test Plan: N/A Reviewers: raster, zmike, Hermet, segfaultxavi Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D6943
2018-08-27efl/timer: correctly handle timer freeze during constructionMike Blumenkrantz
Summary: it is not correct to throw an error when methods are called during construction Reviewers: Hermet Reviewed By: Hermet Subscribers: Hermet, cedric, #reviewers, #committers Tags: #efl_main_loop Differential Revision: https://phab.enlightenment.org/D6787
2018-08-27ecore: fix built-in event types generationJean Guyomarc'h
Summary: Ecore internally uses 10 events, from ECORE_EVENT_SIGNAL_USER=1 to ECORE_EVENT_SYSTEM_TIMEDATE_CHANGED=10. The Ecore.Event.Message_Handler singleton that holds the counter of events is initialized with -1. This is followed in _ecore_event_init() by ten calls to ecore_event_message_handler_type_new(), which increase the counter of event by one each. This results in an event counter to be 9 (-1 + 10) at the end of the initialization of ecore_events. This means that the next event to be created will have a value of 10, which will overlap with ECORE_EVENT_SYSTEM_TIMEDATE_CHANGED. As such, these two distinct events will be aliased and their associated handlers will be called at unexpected times, with unexpected data. By changing the constructor value from -1 to 0, we prevent this event aliasing. Fixes T6605 Reviewers: zmike, Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers, zmike Tags: #efl Maniphest Tasks: T6605 Differential Revision: https://phab.enlightenment.org/D6894
2018-08-17ecore_pipe: remove null check condition and fix segfualt on WindowsYeongjong Lee
Summary: This reverts commit 4917910b4911905236fa099bbc16b833b056ca07. 4917910b break backward compatibility. Reproduction: void pipe_handler(...); pipe = ecore_pipe_add(pipe_handler, NULL); ecore_pipe_write(pipe, NULL, 0); Because of the null check condition, pipe_handler isn't called after 4917910b. Some apps behavior which is written to expected to call pipe_handler was broken. also, this patch fixed segfault during build on Windows Test Plan: make on Windows Reviewers: raster, zmike, vtorri Reviewed By: zmike, vtorri Subscribers: woohyun, cedric, #reviewers, #committers, zmike, vtorri Tags: #efl Differential Revision: https://phab.enlightenment.org/D6824
2018-08-14ecore/main: only update loop_time during loop iteration if the change is ↵Mike Blumenkrantz
monotonic Summary: in the case where the user has called loop_time_set with a value in the future, avoid setting the loop time to something that would potentially cause a callback to occur with a loop_time value before a previous occurrence of that callback @fix Reviewers: ManMower Reviewed By: ManMower Subscribers: ManMower, #reviewers, cedric, #committers Tags: #efl_main_loop Differential Revision: https://phab.enlightenment.org/D6764
2018-08-02ecore: fix that timers are not called in the order they were registered.Hosang Kim
Summary: Timers are not called in the order they were registered. Because when current timer is deleted, getting next timer is called twice. Test Plan: <error> Timer1 expired after 0.001 seconds. Timer3 expired after 0.001 seconds. Timer5 expired after 0.001 seconds. Timer7 expired after 0.001 seconds. Timer2 expired after 0.001 seconds. Timer6 expired after 0.001 seconds. Timer4 expired after 0.001 seconds. Timer8 expired after 0.001 seconds. <correct> Timer1 expired after 0.001 seconds. Timer2 expired after 0.001 seconds. Timer3 expired after 0.001 seconds. Timer4 expired after 0.001 seconds. Timer5 expired after 0.001 seconds. Timer6 expired after 0.001 seconds. Timer7 expired after 0.001 seconds. Timer8 expired after 0.001 seconds.| {F3268233} Reviewers: Hermet, Jaehyun_Cho, zmike, SanghyeonLee Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl_tests Differential Revision: https://phab.enlightenment.org/D6700
2018-07-23ecore/signal: use a volatile int to prevent further SIGPIPE during shutdownMike Blumenkrantz
Summary: attempt to prevent any access of the signal pipe once signal handlers are removed in order to avoid triggering a SIGPIPE which would kill the app Depends on D6670 Reviewers: ManMower Reviewed By: ManMower Subscribers: cedric, #committers Tags: #efl_main_loop Differential Revision: https://phab.enlightenment.org/D6672
2018-07-23ecore/signal: delete signal pipe after unsetting signal handlersMike Blumenkrantz
Summary: if a signal is already in the signal pipe when close() is called, this will trigger a SIGPIPE. if the signal handler exists, this will cause the signal handler to infinitely recurse when trying to print the error messages from write()ing the signal data to the close()d pipe fix T7158 Reviewers: ManMower Reviewed By: ManMower Subscribers: cedric, #committers Tags: #efl_main_loop Maniphest Tasks: T7158 Differential Revision: https://phab.enlightenment.org/D6670
2018-07-20ecore: remove exit_signal_received conditional from windows buildMike Blumenkrantz
Summary: windows does not include ecore_signal.c, so this is not a defined symbol lib/ecore/.libs/lib_ecore_libecore_la-ecore_anim.o: In function `timer_tick_notify':D:\Documents\MSYS2\home\vtorri\gitroot\efl3\src/lib/ecore/ecore_anim.c:372: undefined reference to `exit_signal_received'lib/ecore/.libs/lib_ecore_libecore_la-ecore_anim.o: In function `ecore_animator_custom_tick':D:\Documents\MSYS2\home\vtorri\gitroot\efl3\src/lib/ ecore/ecore_anim.c:940: undefined reference to `exit_signal_received' ref 6405a5a68c0ad618e8b8ab169a0ac85bf43c65c1 Reviewers: vtorri, devilhorns Reviewed By: vtorri Subscribers: cedric, #committers Tags: #efl_build Differential Revision: https://phab.enlightenment.org/D6648
2018-07-19ecore_main: silence warning when compiling.Alastair Poole
Summary: Silence compilation warning. There is an ifdef'd block of code which accesses obj but I don't think it's in use in production? Test Plan: Build EFL and watch for warning. Reviewers: #committers, zmike, Hermet Reviewed By: #committers, Hermet Subscribers: cedric Tags: #efl Differential Revision: https://phab.enlightenment.org/D6628
2018-07-13ecore: immediately block animator ticking upon receiving an exit signalMike Blumenkrantz
Summary: when an exit (SIGINT, SIGQUIT, SIGTERM) signal is received, the ui should immediately stop updating in order to present the user with an instant response this uses a simple volatile int to block any ticks which begin after the signal is received; if a signal is received during a tick then it will complete normally fix T7000 Depends on D6589 Reviewers: ManMower Reviewed By: ManMower Subscribers: cedric, #committers Tags: #efl_main_loop Maniphest Tasks: T7000 Differential Revision: https://phab.enlightenment.org/D6590
2018-07-13ecore/animator: break out _ecore_animator_flush() from tick functionMike Blumenkrantz
Summary: no functional changes Reviewers: ManMower Reviewed By: ManMower Subscribers: cedric, #committers Tags: #efl_main_loop Differential Revision: https://phab.enlightenment.org/D6589
2018-07-12ecore: fix order of signal fd shutdownXavi Artigas
Summary: When closing the fd handler, it checks if the fd is already closed and prints an annoying warning: "fd %d closed, can't remove from epoll - reinit!" We need to close the handler first and then the actual fd. I am not familiar with this part of the code, but this fix removes the warnings and does not seems to have adverse effects. Test Plan: It had warnings before and now it doesn't, haven't observed any other adverse effect. Reviewers: raster, zmike, devilhorns Reviewed By: zmike Subscribers: cedric, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D6561
2018-06-28ecore_anim: Simplify timeline terminal conditionDerek Foreman
Summary: We should only ever have a pos of 1.0 once, the current terminal condition gives the impression that it might be possible to have more than one 1.0 firing. This would break a lot of code. No functional change intended. Depends on D6464 Reviewers: devilhorns, zmike Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6465