Commit Graph

1378 Commits

Author SHA1 Message Date
Marcel Hollerbach 11da918983 Replace strncmp code
the structure "!strcmp(X, "foo", strlen("foo"))" is equal to
"eina_has_prefix(X, "foo")", and the later is nicer to read, hence this
replaces it.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11620
2020-04-03 14:51:11 +02:00
Xavi Artigas 3a480503f9 doxygen docs: Add _Eina_Version struct docs 2020-04-02 17:48:39 +02:00
Xavi Artigas 80acb33898 Eina: Remove eina_prime_table
This has been present since ancient times and no current uses have been detected.
It's an array containing SOME prime numbers without a terminator, so the caller
needs to know the array length in advance.
This does not look very useful (or usable) and therefore it has been decided in
public IRC session to send this thing to hell.
Witnesses: raster stefan_schmidt bu5hm4n
2020-03-27 13:33:04 +01:00
Xavi Artigas 0fa18c0866 doxygen docs: Add missing docs for core Eina types
Things like EINA_LIKELY or EAPI were undocumented...
2020-03-27 13:33:04 +01:00
Myoungwoon Roy, Kim 3feacb2b66 docs: Fix Eina Core Group
Summary: I had fixed unlinked Eina API group(eina_main, eina_types, hamster) from Eina nodes. Those APIs included into Core group before.

Test Plan: API reference documentation modification only

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11605
2020-03-27 10:19:54 +01:00
Xavi Artigas 50f83d5d3a doxygen docs: Fix several warnings in Eina files 2020-03-26 14:27:51 +01:00
Xavi Artigas c4fad77ae3 doxygen docs: Fix Eina Promises doc structure and links
Man, this was a tough one!
The content still needs work, but the structure makes a bit more sense now,
and there are no broken links, typos or doxygen warnings anymore.
2020-03-17 19:23:56 +01:00
Xavi Artigas d1c74afc40 doxygen docs: Create Eina Vector2 group in the right place
A couple members were outside the group and appeared in the
Eina Data Types page instead.
2020-03-17 19:23:56 +01:00
Xavi Artigas eb2971fd4c doxygen docs: Put quadtrees in their own group
To clean up the Eina Data Types page
2020-03-17 19:23:56 +01:00
Wonki Kim 770e3cae4a eina_file: fix a typo error
'sefl' is definitely a typo
this patch fixes it

Reviewed-by: Shinwoo Kim <cinoo.kim@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11510
2020-03-17 10:29:45 +01:00
Marcel Hollerbach c19498fffc eina: do not free NULL ptr
this is definitly NULL here, but usefull for later usage.
2020-03-12 18:11:36 +01:00
Xavi Artigas a004befea5 doxygen docs: Fix illegal references
Mostly typos and unescaped # signs
2020-03-12 17:24:07 +01:00
Carsten Haitzler 5c8942bf39 eina log bt - on by default always if unwind found
i'm tried of telling people how to turn this on. enough. on by
default. if you dont want bt's and its just some helpful log output
then just printf it or use WRN, INF and set log levels...
2020-03-12 14:40:14 +00:00
Xavi Artigas 5b2d2a85b2 doxygen docs: Fix tons of invalid Doxygen commands
Mostly typos
2020-03-10 21:36:34 +01:00
Christopher Michael 54a841eb89 eina_abstract_content: Fix resource leak
If we error out in this function, then we should be freeing 'content'
also as it was previously calloc'd above

Fixes CID1420317
2020-03-10 10:34:07 -04:00
Christopher Michael e34837f28d eina_abstract_content: Fix dereference before null check
Fixes Coverity CID1420337
2020-03-10 10:25:10 -04:00
Marcel Hollerbach c4feaf10ad eina_content: free memory in error paths 2020-03-09 13:13:00 +01:00
Marcel Hollerbach b2ab297def eina: fix define of Eina_Content
there is no need to declare that const.
2020-03-09 13:13:00 +01:00
Xavi Artigas dc58262158 doxygen docs: remove @ender_group and organize eina vectors
Mysterious @ender_group is an invalid doxygen command and I could not find
it defined anywhere. I could not infer its purpose either so... removed.
Put the Eina Vector 2D and 3D groups in their proper place so they appear
with the rest of the Eina basic types.
2020-03-09 13:03:54 +01:00
Xavi Artigas 0f03165fec eina: Docs/Comments: eina_safety_checks: Correct grammar, spelling mistakes and be more clearer
Summary: This just corrects the comments grammar, spelling mistakes and is a little bit clearer.

Reviewers: segfaultxavi, barbieri

Reviewed By: segfaultxavi

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11472
2020-03-09 09:58:41 +01:00
Xavi Artigas c6e40641aa doxygen docs: Miscellaneous typos 2020-03-09 09:35:40 +01:00
Xavi Artigas 645c3d41eb docs: Strengthen docs for Copy&Paste and Drag&Drop
Including Eina.Content

And a typo/bugfix in ecore_evas_x.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11204
2020-03-08 11:01:18 +01:00
Marcel Hollerbach 40a62ddf94 eina: introduce Eina_Abstract_Content
A little abstraction to have abstract data content bound to a type.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11018
2020-03-08 10:59:22 +01:00
Xavi Artigas 43f98b2d46 doxygen docs: Fix several group problems
@ingroup before @addgroup, circular group dependencies...
2020-03-03 18:49:20 +01:00
Marcel Hollerbach 76cc9488dd efl_ui_spotlight_scroll: improve scroll behaviour
when the mouse motion was used, we need to mark this event as processed.
Otherwise a click event will be emitted which is wrong.

Additionally, we should only scroll when we are definitly not clicking.
Right now, the scrolling animation would dance arround on a real TS.

Additionally², this commit introduces a little macro which calculates
the distance of a position.
2020-03-02 17:24:33 +01: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
Christopher Michael 104e98d2ee eina: Fix warnings about unused variables on Windows
NB: Patch from vtorri
2020-02-23 07:38:05 -05:00
Xavi Artigas c2738b4ed9 docs: A bit more info and formatting for Eina_Process_Cb
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11063
2020-02-19 16:34:08 +01:00
Marcel Hollerbach 74491e8781 eina: introduce eina_iterator_process
this brings a functional-map function to the iterator implementations.
https://en.wikipedia.org/wiki/Map_(higher-order_function)

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D11062
2020-02-19 16:34:05 +01:00
Marcel Hollerbach 6c251b2d01 eina_array: interpret the count of a NULL array as 0
this makes the usage way more convinient.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11373
2020-02-19 16:28:08 +01:00
Felipe Magno de Almeida df0715a9aa C#: Add error checking for Eina.Success_Flag return type
When a get and/or set from property is defined to return, explicitly,
a Eina.Success_Flag, the mono generator will check the return value
and generate an exception if the call fails.
Resolves T8383.

Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11281
2020-02-18 17:53:19 -03:00
Carsten Haitzler bddb538563 eina file - close on exec - doesnt exist on windows - vtorri 2020-02-15 11:20:38 +00:00
Yeongjong Lee fff6ce7f2e eina_rbtree: avoid defererencing null pointer
Summary: Pointer 'it->stack' is dereferenced at `_eina_rbtree_iterator_free`.

Reviewers: Hermet, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11346
2020-02-14 18:18:20 +09:00
Carsten Haitzler 6981d09f9b eina - promise - be safe if no scheduled_entry is there
something is causing a scheduled entry to be called with no scheduled
entry: https://phab.enlightenment.org/T8490 - valgrind trace
aattached. i can't see it so i don't know what. the only protection i
can put in is this.
2020-02-12 09:53:22 +00:00
Lucas Cavalcante de Sousa fdbc2a5b32 efl: `eina_value_list_vinsert` assumes that the position is always valid
Summary:
The eina_value_list_vinsert at src/lib/eina_inline_value.x was not checking if the desired position was valid:
When inserting in an empty list in any out of bounds position it actually createded a list with the head being the desired value.
When inserting in a non-empty list in an out of bounds position caused a c error.
Now both cases return EINA_FALSE

Ref T8611

Test Plan:
Meson configured with -Dbindings=mono,cxx -Dmono-beta=true, and tests runned
with ninja test all.

Reviewers: felipealmeida, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8611

Differential Revision: https://phab.enlightenment.org/D11301
2020-02-07 13:52:15 -05:00
Cedric BAIL 5d20a3bc6d eina: do not warn when calling eina_inarray_pop on empty inarray to match eina_array_pop.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11253
2020-01-31 10:11:33 -08:00
Cedric BAIL 373f2ad797 eina: add eina_future_all_iterator and eina_promise_all_iterator.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11180
2020-01-31 10:11:31 -08:00
junsu choi d1660bdfe5 eina_matrix: Add eina_matrix4 operator(translate, rotate, scale)
Summary:
Add an operator related to the 3D transform in eina_matrix.

enum eina_matrix_axis
  EINA_MATRIX_AXIS_X
  EINA_MATRIX_AXIS_Y
  EINA_MATRIX_AXIS_Z
eina_matrix4_translate
eina_matrix4_scale
eina_matrix4_rotate
eina_matrix4_transpose

Test Plan: src/tests/eina/eina_test_matrix.c

Reviewers: Hermet, bu5hm4n, kimcinoo, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11159
2020-01-29 15:31:07 +09:00
Ali Alzyod 5137f6d143 eina: add new range Data type
Summary:
Introduce new data type (Eina.Range)  which represent range (part of series)

**eina_range_max_get**
**eina_range_intersect**
**eina_range_union**
**eina_range_contains**
**eina_range_equal**

Reviewers: cedric, woohyun, bu5hm4n, segfaultxavi, zmike

Reviewed By: woohyun

Subscribers: vtorri, cedric, #committers, #reviewers

Tags: #efl

Maniphest Tasks: T8570

Differential Revision: https://phab.enlightenment.org/D11133
2020-01-23 06:54:44 +09:00
Carsten Haitzler ee6cc91a03 eina - fix eina_strndup test passing 2020-01-15 19:23:44 +00:00
Carsten Haitzler eb72593bbc eina - rmeove dup EINA_PRINTF
sorry for the noise...
2020-01-15 18:10:24 +00:00
Carsten Haitzler ffb6085816 eina - eina_strndup - use universal impl because strndup is an issue
freebsd/clang report strndup is not defined and string.h doesnt seem
to help if its included so move to the universal re-implementation
that was there for win32 anyway
2020-01-15 19:06:07 +01:00
Carsten Haitzler d990ab7dba eina - enable EINA_PRINTF for clang as well as gcc 2020-01-15 19:06:07 +01:00
Woochanlee a2084ba22e eina_hash: Move hash_free_cb to avoid memory leak.
Call hash_free_cb after finish deletion.

ref T8530

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10918
2019-12-19 15:48:17 -08:00
Marcel Hollerbach 9ccc66b900 eina_accessor: make carray accessor work properly
a accessor is not really helpfull if it operates like the carray
accessor before this commit. What it was doing is to fill the content of
the "current line" into the data pointer. In a carray the
"current line" is the content of its carray-member.

However, accessors like for inarray array list or inlist do work
completly differently. They are returning the pointer to the "current
line" not the value of the current line.

The only case where this worked is efl_ui_format.c which was only tested
with this accessor, and this accessor also only worked with this
accessor.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10908
2019-12-18 21:45:42 +01:00
Woochanlee 0902bb4e01 eina_rbtree: Clean array intead of flush.
It doesn't have to flush all of the time when it iterating.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10858
2019-12-11 09:59:59 -08:00
Cedric BAIL e4765e3806 eina: introduce an explicit eina_cow_done with no call to GC.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10817
2019-12-11 10:36:14 +01:00
junsu choi ab67611c65 eina_inline: Fixed a potential dangling pointer
Summary: fixed by null handling

Test Plan: N/A

Reviewers: Hermet, YOhoho, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10850
2019-12-11 09:27:10 +09:00
Wonki Kim a8d7816782 docs: fix to make docs contain proper images
Summary:
links to images that this patch is modifying would be included in doxy docs
without pre or post process something in meson definition, if we applied this patch.

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10821
2019-12-10 12:53:39 +01:00