Commit Graph

1194 Commits

Author SHA1 Message Date
Carsten Haitzler b27a0f2b2d ecore - call freeq reduce again on idle enter...
this led to a nasty leak unless you had ilders runnig every now and
again. freeq would just epxand and expand...

@fix
2021-01-03 19:36:50 +00:00
João Antônio Cardoso 2b08306875 evil: Define environ macro when using VS based on UCRT definition
Summary:
Microsoft Visual Studio defines _environ, but not environ. Create
a macro #define environ _environ like other analogous solutions

Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, woohyun, joaoantoniocardoso, lucas, jptiz

Reviewed By: jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12209
2020-12-09 16:53:30 -03:00
Carsten Haitzler 52b02055f4 ecore - efl thread - dont close invalid < 0 fd's
fix CID 1396951
2020-09-20 00:20:42 +01:00
Carsten Haitzler ca4b939364 ecore - efl exe - check returns of open and dup2 for stdin etc. fds
check returns - fix CID 1397002
2020-09-20 00:20:42 +01:00
Vincent Torri 33304d656c Ecore: more precise implementation of ecore_time_get on Windows
Implement directly monotonic clock on Windows, to have more accurate results

Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12112
2020-08-31 14:24:05 +02:00
Carsten Haitzler 07138e1e1d ecore exe - fig signal block to unblock again - some sys dont on exec
it seems some libc's or systes dont reset signal mask blocks on
exec(). this unblocks manuaklly jus befor eexec, moves blocking to
before fork and adds a "nuke all signal handlers" in the child process.

fixes T8797
2020-08-28 13:50:49 +01:00
Carsten Haitzler 31c343b77c efl/ecore exe - more paranoia - block sig handlers between fork + exec
in theory signal handlers could kick in after fork and before exec...
so block them until we're exec'd or exited so they don't change any
program state.
2020-08-21 09:18:23 +01:00
Carsten Haitzler 4b4c208d99 ecore - don't do anything with heap between fork and exec
this avoids a possibgle deadlock if a malloc impl is holding a lock
and has not released it at the time we fork.

@fix
2020-08-20 08:52:32 +01:00
Marcel Hollerbach a931e41823 efl: make all _class_get() functions const
please note, not the return type, but the function.
When appending __attribute__((const)) to a function, the compiler is
told that its enough to call this function once in a function.

This is quite often happening when we are efl_data_scope_get and
efl_super in a function that is different from a implemented function.

The compiler now starts to remove the calls that aggressivly that we
need to ensure that these calls are not removed, which means, the static
function calls, and the eo init are now checking the return value of
these functions, to ensure that they are called.

Please note that you now have to be carefull when your app calls
eo_shutdown, if it does so, you *must* call it at the end of a function,
or never call class_get after that anymore.

Overall this improves elm test runs 0.1s which is fair i guess, the main
thing that is faster is textrendering, where is also the point where
this is the most beneficial.

Please note, this replaces 42 occurences of double _class_get() ... THAT
is a sign!

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D12057
2020-07-20 11:27:53 +02:00
Elyes HAOUAS 1fd0435f21 Get rid of trailing whitespaces (4 / 14)
Remove trailing whitespaces
Differential Revision: https://phab.enlightenment.org/D12002
2020-06-23 10:29:14 +02:00
Vincent Torri f04316e3f0 meson: add Solaris support
Summary: Add Solaris support for meson

Test Plan: test on OpenIndiana

Reviewers: raster, bu5hm4n, stefan_schmidt

Reviewed By: raster, stefan_schmidt

Subscribers: alarcher, stefan_schmidt, bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11973
2020-06-18 14:36:48 +01:00
Vincent Torri cfbdcdc9c8 Use extern after EAPI
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11961
2020-06-10 10:07:57 +02:00
Marcel Hollerbach dade4fc2f7 eo-files: convert all Eina.Strbuf & Eina.Binbuf
these structs should not be used, but rather the builtin types that
exist for it.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11742
2020-06-09 10:29:29 +02:00
Myoungwoon Roy, Kim 3c32ec527b doxygen docs: Fix API reference group to Ecore_Eo
This patch fixs a wrong group name in Ecore_Eo API reference

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11952
2020-06-09 09:52:46 +02:00
Subhransu Mohanty e94b5d014f ecore: Fix Asan stack overflow warning
Summary:
As argument can be passed by register (depending on the compiler optimization)
when we take the adress of the nbytes and pass it to send() function which reades
4 bytes from it ASAN flags it as a stack overflow . So just assign the value to a
local variable to avoid the warning.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11914
2020-06-03 11:17:18 +09:00
Marcel Hollerbach 8e3606698e refactor build
libraries are split into deps, external deps, and pub deps.
Evas engines are refactored to use the predefined engine deps.

this is preparation work for efl-one.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11806
2020-05-27 11:06:46 +02:00
Marcel Hollerbach a7a020dff5 ecore_main_timechanges: fix include
we should not prefix this with the full path.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11881
2020-05-26 14:22:30 +02:00
Carsten Haitzler 9acfa1988b ecore - another systemd header - go away. don't need it now. 2020-05-23 09:41:38 +01:00
Carsten Haitzler a555fbf769 ecore thread - feedback threads should not be background threads...
if try_no_queue is used - its a thread that clearly wantt to be out of
the queue to run on its own so probably wants to wake up accurately
and thus not be a backgroun rpriority task but and urgent one. ensure
we set up priority accordingly as we didn't before. this should fix
scheduling when under load for vsync

@fix
2020-05-23 09:34:57 +01:00
Carsten Haitzler 6096779ede ecore - expose "hidden" internal api for debugging to get wakeup time
get the real time at which main loop woke up for purposes of debugging
and finding jank/scheduling jitter.
2020-05-23 09:34:57 +01:00
Wonki Kim 633202a0f9 ecore_anim: rework bezier curve function
Summary:
current cubic bezier function isn't accurate at sometime.
to make it more accurate, this patch rework bezier curve
by using a cardano's algorithm.
(refer to https://pomax.github.io/bezierinfo/)

Reviewers: Hermet, bu5hm4n

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11819
2020-05-19 13:05:11 +09:00
Carsten Haitzler 63b5d81983 Revert "Fix EAPI definition by defining EFL_BUILD for each built DLL"
This reverts commit 3ade45cbc8.
2020-05-18 11:13:59 +01:00
Carsten Haitzler 43f5b271e4 ecore - systemd - missed an ifdef for sytemd disable 2020-05-18 10:27:55 +01:00
Vincent Torri 3ade45cbc8 Fix EAPI definition by defining EFL_BUILD for each built DLL
Summary: EAPI must be defined to dllexport when building DLL, and to dllimport when using these DLL. To achieve this, define EFL_BUILD for each library and module, and set DLL_EXPORT unconditionally. Static library are and will be not supported

Test Plan: compilation

Reviewers: zmike, raster, jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11834
2020-05-18 09:51:48 +01:00
Carsten Haitzler fe56edae3f systemd - make libsystemd use/supprot entirely runtime "dlopened"
so i've moved all systemd and elogind support to be runtime only with
dlopen (eina_module) of libsystemd.so.0 (or libelogind.so.0 for elput)
and finding of symbols manually at runtime (if the right code paths or
env vars are set), thus remvoing the need to decide at compile time if
efl needs systemd support or not as it no longer needs systemd
headers/libs at compile time and just at runtime. this simplifies
building a bit and makes efl more adaptive to the final target system
at runtime.
2020-05-18 09:36:55 +01:00
Vincent Torri d135957ffa Use __func__ C99 identifier instead of __FUNCTION__ compiler extension
Summary: see http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1124.pdf section 6.4.2.2 page 52

Test Plan: compilation

Reviewers: raster, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11785
2020-05-07 09:27:07 -04:00
Xavi Artigas e7f4bc4c2a doxygen docs: Fix all invalid @param names
There were quite a few of these...
2020-04-20 12:24:41 +02:00
Daniel Kolesa 7791d9fac6 remove unused imports in eo/eot files 2020-04-19 01:44:50 +02:00
Carsten Haitzler 5f93f16b61 ecore - proc env - fix values return NULL case - coverity
this fixes CID 1419857
2020-04-17 12:14:19 +01:00
Xavi Artigas f528001f0d doxygen docs: Proper usage of @ingroup and @addtogroup
This patch brings in a lot of docs which were missing before.
Unfortunately, this brings along their warnings so this ends up adding
more warnings than it fixes. Still, a step in the right direction.

@ingroup puts the current block into the specified group, but IT DOES NOT
allow opening groups with @{.
This was used in lots of places, resulting in misplaced or ignored documentation.
@ingroup should be used only in individual docs. For groups we use @defgroup and
@addtogroup.

Also,this patch adds some small missing docs.
2020-04-14 18:48:30 +02:00
Xavi Artigas 4204396176 doxygen docs: Fix warnings in Ecore_Common.h 2020-03-26 14:27:51 +01:00
Xavi Artigas 065d429a67 doxygen docs: Fix warnings in Ecore_Evas.h
And a couple associated places.
2020-03-24 13:43:37 +01:00
Mike Blumenkrantz 65b081394d efl/exe: don't err on del if exe has been killed
Summary:
the point of this err is to inform the user that their exe is (possibly) dangling,
but if the user just wants to ignore the exit callback this isn't a problem
Depends on D11496

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11497
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 043a2c90ff efl/exe: add term_with_parent flag
Summary:
same as ecore_exe

Depends on D11451

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11465
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 798fdfbc70 efl/exe: add 'pid' property
Reviewers: bu5hm4n, segfaultxavi

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11451
2020-03-12 12:17:07 -04:00
Carsten Haitzler 559bbd8ce3 freeq - up numbers for fq blocks and other limits to defer big batches
this should improve some perf by upping the max a free queu can baloon
up to 256k items and 32m of data (whichever is hit first).
2020-02-28 20:03:05 +00:00
Xavi Artigas 9f4b5458ea doxygen: fix duplicated toc sections 2020-02-28 11:44:19 +01:00
Wonki Kim c3a616cdb2 ecore: fix a memory leak
this patch fixes a memory leaking

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11369
2020-02-19 15:20:29 +01:00
Xavi Artigas f546a57003 docs: ecore_animator's default framerate is 60 not 30
This was changed in 81242af6f9 without updating the docs.
2020-02-11 11:03:49 +01:00
Cedric BAIL 2e41a13166 efl: add Efl.Model.Children_Index_Get.
This allow for fetching random children in a model. A simple fallback is
provided by Efl.Loop_Model that will allow all model to provide this
feature in a non optimized way. Later on this can be speeded up.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11185
2020-01-31 10:11:39 -08:00
Cedric BAIL eaeb96cc3d ecore: refactor unpacking/packing code used in conjonction with eina_future_all*.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11184
2020-01-31 10:11:35 -08:00
Carsten Haitzler 72a8a2ce40 ecore_exe/efl_exe - implement exit with parent on bsds with procctl 2020-01-15 12:14:31 +00:00
Xavi Artigas 142cdd6ece Remove @beta from Efl.Interpolator classes
All of them, except the divisor interpolator, because I still don't
know what it does.
Ref T8445

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10893
2019-12-19 16:45:13 -08:00
Cedric BAIL 52aa2f629f efl: make sure all index for Efl_Model are unsigned int.
T8469

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10869
2019-12-18 10:33:09 -08:00
Carsten Haitzler cf9b1fda05 ecore exe - remove useless fd closing before _exit()
we call _exit() right after closing some fd's - don't bother. they
might already be closed anyway and they will all be closed at exit
either way...
2019-12-11 15:28:12 +00:00
Stefan Schmidt d0f69cf2e2 exotic: remove left-overs from Exotic support
This seems to have been gone a long time ago and only references left
that have not been disturbing the build. Time to clean up!

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10793
2019-12-04 12:21:28 -08:00
Stefan Schmidt f3d9b8ee70 esacpe: remove library from tree
This has not been used for a while and is not even buildable after our
switch to meson. It was a niche to start with given that it needed the
PS3 OS to run on. I asked for any remaining users at EDD and on the list
but heard nothing. Time to remove.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10778
2019-12-04 12:21:24 -08:00
Xavi Artigas e242a05d73 docs: slight improvement for Efl.Decelerate_Interpolator 2019-12-04 15:58:04 +01:00
Lauro Moura f203c164d8 eo files: Avoid container<ptr(value_type)> usage.
Summary:
Value types are already assumed to be stored by pointer (e.g.
`int val = *(node->data);`)

This commit just changes the current usage of the `ptr` modifier in the
ptr, not affecting the parser.

Reviewers: q66, segfaultxavi, bu5hm4n, felipealmeida

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers, brunobelo

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10769
2019-11-29 17:22:07 -03:00
Carsten Haitzler 0ecbb416ad build - handle g-main-loop enabled when glib not as an error in meson
also enable glib now in ci
2019-11-27 17:51:54 +00:00