Commit Graph

21691 Commits

Author SHA1 Message Date
Carsten Haitzler cf6b3667c3 evas - gl add export for getting dmabuf formats and modifiers
we need this to do formats and modifiers properly... and this is what
broke on the rpi4 - it started using  interesting formats etc. ... new
feature to support a bug fix in e

@feat
2021-03-26 20:31:27 +00:00
Carsten Haitzler 49ac4121cf elm - efl ui tab - raise the selected tab item obj so we can do tabs
need stacking to relfect tabs if the theme wants to look like tabs...
which is what i am doing with flat.
2021-03-23 21:09:47 +00:00
Carsten Haitzler 5f4524295a efl ui scroller - support signals for up/down/elft/right show/hide 2021-03-21 01:37:20 +00:00
junsu choi 3666574f88 ector image: Prevents drawing images outside buffer
Summary:
A crash may occur when image size is set larger than buffer.
So, modify boundary of the image drawing the image
so that it does not go out of the buffer.

Test Plan: N/A

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers, kimcinoo

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12251
2021-03-18 17:10:05 +09:00
Hermet Park b9b2b72205 ecore_con: add null check for safety. 2021-03-16 10:28:27 +09:00
Marcel Hollerbach 046c5cd58e eeze_scanner: do not crash
the free logic here was wrong. The udev_device_get_parent results get
automatically unrefed when the original device is deleted.

This caused random segfaults when starting e.
2021-03-15 14:16:34 +01:00
Marcel Hollerbach 5215421570 efl_ui_collection: disable desktop_entry behaviour when in api call
otherwise only the last item would have been selected.
2021-03-14 14:34:14 +01:00
Carsten Haitzler ec52433f3a elm - fix emitting of signals to theme for label existence
@fix
2021-03-12 10:51:14 +00:00
Carsten Haitzler aa7be1a96d evas gl - remove freed gl image from context image list
fix asan memory mis-access

@fix
2021-03-09 16:04:45 +00:00
Shinwoo Kim 9da41a50cb evas_object_smart: enhance logic checking clipper visibility
Summary:
If current clipper object is equal to previous clipper object,
then the value of visible (or alpha) is same, because it is same object.

But there is a case that current visible value is different with
previous visible, when clipper object is same.

I added this patch to cover above case to draw childern of map.
See following flow.

  evas_render_mapped
    > if (_evas_render_has_map(obj) && !_evas_render_can_map(obj))
      > if (!changed) changed = evas_object_smart_changed_get(obj);

The evas_object_smart_changed_get returned FALSE, even though
current visible value is different with previous one in the same
clipper object.

Reviewers: raster, Hermet, herb, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12250
2021-03-03 16:44:28 +09:00
Carsten Haitzler 91f07de890 efl ui format - now dont leak and dont double free 2021-03-02 13:20:00 +00:00
Carsten Haitzler 81f962da75 efl ui format - only sety format fun to null if format func free exists 2021-03-02 13:11:35 +00:00
Carsten Haitzler 67acb15a1f elm slider - don't double-free output format. 2021-03-02 12:52:53 +00:00
Christopher Michael 914a85159b ecore_wl2: Remove legacy teamwork stuff
This patch removes the remainder of the Teamwork protocol &
implementation. The module has been removed from Enlightenment for
some time now so there is no need to generate a protocol or have any
legacy code remaining..
2021-03-01 11:22:58 -05:00
Christopher Michael 350b65fc21 ecore_wl2: Remove wayland wobbly windows stuffs
This cleans up the www mess that never worked properly and is
unsupported with no plans to ever be used
2021-03-01 10:32:08 -05:00
Christopher Michael 95a88f5a6c eeze_disk: fix potential memory leak
If allocation for disk fails, then we leak memory from previously
called _new_device function.

This patch based on D12223 from akanad (Wonki Kim)

ref D12223
2021-02-25 10:05:26 -05:00
Christopher Michael 691621336a eeze_disk: Remove extra blank lines
NB: No functional changes
2021-02-25 09:57:47 -05:00
Christopher Michael 369f2b3d87 efl_loop: Fix unchecked return value
Small patch to check return value of eina_value_get reported by Coverity

Fixes CID1400919
2021-02-25 09:40:29 -05:00
Christopher Michael 359435bed9 eina_promise: Fix unchecked return value
Small patch to check return value of eina_value_get reported by Coverity

Fixes CID1400993
2021-02-25 09:27:15 -05:00
Christopher Michael 0df61dc4fd elm_glview: Fix unchecked return value
Small patch to check return value of evas_gl_make_current reported by
Coverity.

Fixes CID1401018
2021-02-25 09:25:25 -05:00
Christopher Michael 732e622a82 eina_value: Fix unchecked return value
Small patch to check return value of eina_value_type_setup reported by
Coverity

Fixes CID1401023
2021-02-25 09:23:23 -05:00
Christopher Michael 598b7a1be6 elm_slider: Fix unchecked return value
Small patch to check the return value of eina_value_get reported by
Coverity

Fixes CID1401061
2021-02-25 09:11:17 -05:00
Christopher Michael d70f9484c6 ecore: Update to not use deprecated mallinfo
mallinfo (the structure) and mallinfo (the function) have both been
deprecated in favor of mallinfo2 which has been updated to
handle allocations > 4GB.

This patch updates ecore usage of deprecated mallinfo to use
mallinfo2. If the system does NOT have mallinfo2, then this code will
fallback to using mallinfo.
2021-02-25 08:25:29 -05:00
Carsten Haitzler 9f142be03c elm - efl ui format - remove leak on format info 2021-02-25 11:18:51 +00:00
Christopher Michael 1842d3997a Revert "ecore: Update to not use deprecated mallinfo"
Reverting this, for now, because some distro's are still not
updated... This should probably use a malloc version check, but I
don't have time this week for a proper fix...

This reverts commit 17137316ee.
2021-02-17 10:53:15 -05:00
Shinwoo Kim ccf77acc22 eeze: fix a potention memory leak
Summary:
if udev device get parents fails, memory leaks.
this patch fixes the problem.

Reviewers: raster, Hermet, jsuya, herb, ali.alzyod, devilhorns

Reviewed By: ali.alzyod, devilhorns

Subscribers: ali.alzyod, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12249
2021-02-17 10:18:43 +09:00
Christopher Michael 17137316ee ecore: Update to not use deprecated mallinfo
mallinfo (the structure) and mallinfo (the function) have both been
deprecated in favor of mallinfo2 which has been updated to handle
allocations > 4GB.

This patch updates ecore usage of deprecated mallinfo to use mallinfo2
2021-02-16 12:41:56 -05:00
thierry1970 97f95e7362 Added the heif loader
Summary: that supports images : *.heif, *hiec and *.avif I have disabled *.avif images, there is already a loader.

Reviewers: stefan_schmidt, raster

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12135
2021-02-06 18:58:04 +00:00
Vincent Torri ec4ef69115 Efreet: fix file:// scheme on Windows
Summary: On Windows, file:///c:/path/to/file is correct and not managed. Use a Win API for manage it correctly

Test Plan: test case

Reviewers: raster, cedric

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12244
2021-02-06 14:49:54 +00:00
Vincent Torri d8d52861a6 Efreet: do not translate standard directories on Windows
Summary: The directories on hard disk are not translated on Windows

Test Plan: test case

Reviewers: raster, cedric

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12246
2021-02-06 14:38:55 +00:00
Jaehyun Cho d3d3af369b edje_entry: fix a potential error of null deref
Summary:
This is a patch to fix a potential error of null dereferencing.
This patch is based on D12087.

Reviewers: Hermet, jsuya

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12241
2021-02-04 11:00:14 +09:00
Shinwoo Kim ab969c5915 eet, emile: safety++
Summary:
(1) EVP_MD_CTX_new could return NULL
(2) EVP_DigestUpdate returns 0 for failure.
  https://www.openssl.org/docs/man1.0.2/man3/EVP_DigestUpdate.html

Reviewers: raster, Hermet, cedric, devilhorns

Reviewed By: devilhorns

Subscribers: SPAM-roll99, devilhorns, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12237
2021-02-04 10:11:33 +09:00
Carsten Haitzler 90e5fd831d ecore-x - vsync - also log the direct device timestamp if it goes back 2021-02-03 02:26:54 +00:00
Carsten Haitzler 4013c98af1 ecore_x - vsync ... this handles time going backwards
yes - time went backwards. we get time from the device driver and
vsync events... this is so incredibly wrong ... it should not have
ever happened... but it did and that caused all sorts of bad things to
happen to animators. this guards against that and tries to get the
system clock time and if that doesnt work it just takes last time +
0.901.

@fix
2021-02-03 00:43:20 +00:00
Carsten Haitzler 6f803ad233 ecore x - allow vsync animator to delay by some fraction of a frame
@feat
2021-02-01 18:06:43 +00:00
junsu choi 77c9adf1fd Efl.Canvas.Vg.Object: Skip render, if size of the drawing area is 0
Summary:
If the size of the boundary of path is 0, there is no area to draw.
Therefore, it is the same as hide().
If there is no area to draw, there is no need to create a buffer or perform rendering.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: devilhorns, cedric, #reviewers, #committers, herb

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12235
2021-02-01 09:59:33 +09:00
Alastair Poole 44425e7489 ecore_file_monitor: add kevent backend.
Summary:
This is a very simple kevent backend, very similar to the eio_monitor
implementation. On BSD systems, some core features within in E and
other applications are always using the poll engine, which is not
ideal.  This is better, and simpler.

Reviewers: devilhorns, raster, bu5hm4n, vtorri

Reviewed By: vtorri

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12239
2021-01-31 14:45:46 +00:00
Ali Alzyod 39c305cf86 efl_ui_textpath: mathmatical calculations
Summary: Reduce number of sqrt calls.

Reviewers: cedric, raster, bu5hm4n, vtorri, woohyun, Hermet

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

Tags: #efl

Maniphest Tasks: T8747

Differential Revision: https://phab.enlightenment.org/D11949
2021-01-29 11:53:16 +02:00
Ali Alzyod e138962dd7 evas_textblock: allow default font size to be set without fontname
Reviewers: woohyun, bowonryu, id213sin

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12211
2021-01-29 09:05:51 +02:00
Christopher Michael 6a3522352b ecore-evas: Formatting fix
NB: No functional changes
2021-01-27 15:11:57 -05:00
Wonki Kim 257dced038 eeze walk: fix a memory leaking
Summary:
there is a memory leak in a logic for walking along child-parent relation,
in case of device_get_sysattr_value failure.
this patch fixes the leak.

Change-Id: I95e9484b1549d1c794ec529c995af33da9b8a0ee

Reviewers: bu5hm4n, zmike

Subscribers: raster, SPAM-TeresaButler, vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12224
2021-01-25 08:55:24 +00:00
Carsten Haitzler d37958c1b0 ethumb - fix asan complaint on mis-accessing struct after free in client
@fix
2021-01-24 15:59:55 +00:00
Wonki Kim 728d4dba16 slider: fix a potentional crashing problem
null pointer dereferencing could happen once eina_value_setup fails.
this patch fixes the problem in adavnace

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D12173
2021-01-19 16:33:13 -05:00
Carsten Haitzler f6d0bc1b29 evas - missing EVAS_API - add. 2021-01-11 11:04:32 +00:00
Felipe Magno de Almeida c118886043 emotion: emotion EAPI macro to EMOTION_API in Emotion library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, woohyun, jptiz, lucas

Reviewed By: vtorri, lucas

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12227
2021-01-11 10:31:30 +00:00
Carsten Haitzler c3577929b3 elm - genlist - fix leak if someone steals objects on unrealize
elm_genlist_item_all_contents_unset() can steal away the item content.
this is how you do a cache of your own objects... BUT this meant
genlist couldnt remove its hash entires... as it lost them. this fixes
that. leak fixed. (this affected evisum)

@fix
2021-01-03 19:36:50 +00:00
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
Felipe Magno de Almeida 6f23a9daa1 ector: Rename EAPI macro to ECTOR_API in Ector library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, woohyun, jptiz, lucas

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12226
2021-01-01 17:34:01 -03:00
Felipe Magno de Almeida 86493e160a ecore_con: Rename EAPI macro to ECORE_CON_API in Ecore Con library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, woohyun, jptiz, lucas

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12225
2020-12-28 13:58:06 -03:00
Wonki Kim b1c9b8cec0 eeze_syspaty: fix a potention memory leak
Summary:
if udev device get sysname fails, memory leaks.
this patch fixes the problem.

Change-Id: I2d02a6e6eb98e9262255ab3c02cf99f347b8c5f9

Reviewers: bu5hm4n, Hermet, zmike

Reviewed By: Hermet

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12222
2020-12-24 11:48:53 +09:00