Commit Graph

21823 Commits

Author SHA1 Message Date
Carsten Haitzler eae18be54a evas vg - don't make bounds 0 sized ... which leads to no rendering
@fix
2021-05-10 12:22:26 +01:00
Carsten Haitzler 4e70c3f358 elm config - replace old colorclass systme with newer pallete one
the old one was a bit... rough. the new one relies on the new fallback
to parent classes in edje to simplify colorclasses and can now apply
immediately. i've started on a palette editor gui - and it works
relatively well and applies live as you slide colors around. it looks
vaguely good too. i don't thnk we should hsave a widget to do this as
it's probably too much in elementary (the lib) that is far too niche
in use.
2021-05-07 14:25:12 +01:00
Carsten Haitzler 2b91c4d9b8 edje - add new color class apply func to force cc to apply now 2021-05-07 00:02:05 +01:00
Carsten Haitzler 9fab234064 evas - fix seg on setting immage src if invalid obj
@fix
2021-05-05 19:44:34 +01:00
Vincent Torri 032e86f4aa Elementary: include fnmatch.h only on non Windows OS
Summary: Windows has no fnmatch.h, so usage of Elementary on that OS will fail

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12268
2021-05-05 10:22:25 +01:00
Carsten Haitzler 6297159c5d elm - fnmatch - fix typo 2021-05-03 20:54:23 +01:00
Carsten Haitzler d7f9735a90 eina + elm - add fnmatch.h back for compat 2021-05-03 20:52:37 +01:00
Vincent Torri de296b13c8 Eina: use eina_fnmatch() instead of fnmatch()
Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12262
2021-05-03 18:48:24 +01:00
Vincent Torri 3d374692f7 Eina: API addition: interface musl's fnmatch() implementation
Summary: addd musl's fnmatch() implementation to Eina

Test Plan: compilation and simple test case

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12261
2021-05-03 16:26:38 +01:00
Carsten Haitzler 9d457fcc3f edje - color classes totally did nothing in textblock styles
this never worked... the code just was not there to look uop color
classes in text styles and change/replace them. this fixes that. it
implements them. it implements color_class to replace color=xxx but
also supports color=cc:colorclassname (so backing_color=cc:xxx works
too to specify a colorclass for a backing color, and underline and so
on). so now it's implemented and actually works... it can be used.
this SHOULD have alwasy worked... but hey. apoparently not.

@fix
2021-04-28 13:14:34 +01:00
Woochanlee 74832777f4 efl_net_dialer_http: Do curl shutdown in destructor
Summary:
curl_global_init() in efl_net_dialer_http constructor.
curl_global_cleanup() need to call when it destructor.

Without this, module and libcurl internal data are leaking.

Reviewers: Hermet, raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12259
2021-04-28 10:45:26 +01:00
Carsten Haitzler 215e9ca9b3 edje - add color-class fallback for lookups in prep for proper theme cc 2021-04-27 15:25:46 +01:00
Carsten Haitzler 39b2486418 elm - win - dont report override windows that are shown as withdrawn 2021-04-21 03:37:26 +01:00
Carsten Haitzler 42f3b49d05 elm win - fix eval to not be delayed after shows and state changes
this allows insgtant response to being de-iconified which mean instant
beginniung of rendering. we should enable this by default too so
modify config to do just that.

this basically means if a window is iconified, efl will not render to
it to save power/effort. it'll start again when it de-iconifies
2021-04-20 18:55:17 +01:00
Carsten Haitzler 0f6ff82d2a elm - frame - add new styles to docs 2021-04-18 20:42:12 +01:00
Carsten Haitzler 7c16765e1b elm frame - add more styles (icon, border and overlay variants)
this shoulpd have been day 0, but now add new styles that add an
elm.swallow.icon spot for an icon in the frame and a style that looks
like a border (also with icon as borders have them) and a close button
too. overlay variants are for overlaying so might be semi-transparent
2021-04-18 00:59:09 +01:00
Felipe Magno de Almeida a331384eed modules: Rename EAPI macro to MODAPI for modules
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, jptiz, woohyun, lucas, SPAM-smith78899

Reviewed By: vtorri, SPAM-smith78899

Subscribers: SPAM-smith78899, raster, SPAM-cabanacatalogs, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12228
2021-04-17 16:07:56 -03:00
Wander Lairson Costa 65d528a379 Implement eina_thread for native windows
Summary:
eina: Implement Eina_Thread for native windows

The implementation design respects the fact that Eina_Thread is an
uintptr_t. Thus we allocate the thread struct in the heap and return a
pointer to it.

As such, we store the created thread structure in the target thread
TLS slot. For threads that were not created through eina API, in
eina_thread_self we allocate a new structure, push it to the TLS slot
and mark it to be freed on thread exit.

Reviewers: jptiz, vtorri, cedric, walac

Reviewed By: jptiz, cedric

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12037
2021-04-17 16:00:32 -03:00
Vincent Torri 287834b0da Fix TIFF file signature in big endian
Summary: see https://www.adobe.io/content/dam/udp/en/open/standards/tiff/TIFF6.pdf page 13

Reviewers: raster, bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12258
2021-04-17 10:59:14 +01:00
Marcel Hollerbach be9e83e0db eina_promise: do not self feedback when canceling
when canceling a all_promise it will cancel all futures. When that
happens, and one future is containing a promise, the value is unrolled,
and delivered as "Operation canceled" if this is happening to the last
future in all or any in race, the promise will then free its base ctx
which is already happening due to canceling.

With this this is not happening anymore.
2021-04-10 13:11:07 +02:00
Marcel Hollerbach 65dd51b1a4 efl_io_model: initialize memory
or this is causing trouble
2021-04-10 13:11:07 +02:00
Marcel Hollerbach 1ef48e2f44 efl_io_model: do not self reference, this is dangerous
what happened here is that people passed private data with a reference
to the object. Which is kind of a bad idea, as in some unthought of
conditions, events are forgot, which results in freeed memory beeing
accessed. This way its at least a error.
2021-04-10 13:11:07 +02:00
Marcel Hollerbach 0dc949709f elm_genlist: ensure item is not deleted while beeing processed
the downside of doing things like genlist is doing, is that a object can
be deleted, due to the fact that the processing call does not have a eo
call in its stack trace, the object is not reffed at all. Hence it
simply gets deleted in the middle of beeing proceded.
With this, this is at least here not happening.
2021-04-10 13:11:07 +02:00
Alastair Poole b02cef69d1 freebsd: eeze support if enabled.
ifr_netmask is not available on FreeBSD. On Linux ifr_addr is
same union.

Peter2121 did this work.
2021-04-10 08:58:38 +01:00
Carsten Haitzler f63f270a85 elm entry - tune appending to be faster
this is not perfect, but it tuned things to take less time overall but
can be a bit more jerky given massive amounts of text like
warandpeace, but it takes less time to finish an append cycle in the
background for sure. (loading up war and peace goes from 42sec in the
background spinning appending to 3sec in an entry on my overpowered box).
on my oldest x86 box i have sitting here it goes from 95sec to 10sec.
2021-04-09 12:26:46 +01:00
Ali Alzyod b2f61deb37 evas_textblock: update color text parsingUpdate text color parsing for rgba(r, g, b, a) for alpha to be value between 0.0 - 1.0 same as CSS.
Summary: ... spam removed ...

Reviewers: woohyun, bowonryu, id213sin, AbdullehGhujeh, devilhorns

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12248
2021-04-08 02:02:09 +01:00
Carsten Haitzler b6028cc708 elm - code - fix other colorclass query code path 2021-04-05 13:22:06 +01:00
Carsten Haitzler e971355d26 elm - code - fix color multiplies from querying color classes directly 2021-04-05 13:18:13 +01:00
Christopher Michael 3d9590231e elput: Fix formatting
NB: No functional changes, just fixing formatting to match the rest of
the library
2021-04-01 14:49:35 -04:00
Marcel Hollerbach 8493a38876 elput: introduce gesture passing
In order to have that working on Xorg, this requires the libinput group
hack if you are not session leader.
For now this only has swipe bindings, other gestures can follow.
2021-04-01 15:05:51 +02:00
Vincent Torri 15078f757b Evas: add raw image extensions
Summary:
See https://en.wikipedia.org/wiki/Raw_image_format
for the list of the raw extension files

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12253
2021-03-30 21:19:17 +01:00
Carsten Haitzler db081f9648 ecore evas ews - deprecate/remove
it's broken. it doesnt render anything. input is broken. it isn't in
use so it doesnt justify fixing. no one has complained it's brokne
thus proof of it not in use, so proof that it's not needed, so do the
right thing and nuke it to save work

@feat
2021-03-28 13:56:33 +01:00
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
Woochanlee 9a31278299 elm_gesture_layer: fix config value type
Summary:
The value will read as unsigned char not double.

@fix

Reviewers: Hermet, raster, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12195
2020-12-24 11:48:08 +09:00
Woochanlee ed0c46fa3b eo_base_class: Avoid useless memory alloc
Summary:
The pd->ext will be NULL when the target object on invalidate state or edje object or isolated object etc..

In above case, If data is NULL and ext is not needed, it seems there is no need to create a node.

Reviewers: raster, cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12206
2020-12-24 11:47:04 +09:00
Wonki Kim 37cecd5413 eeze_net: fix a potentional memory leak case
Summary:
if `net` equals zero and `device` has allocated properly at the same time, memory leaks.
this patch fixes it.

Reviewers: Hermet, bu5hm4n, zmike

Reviewed By: Hermet

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12221
2020-12-24 11:43:28 +09:00
Carsten Haitzler 00f5eed1d2 evas - avif - fix for 0.8.2 libavif that broke api
also require 0.8.2 ... as well - no point trying to support older
versions forever and this is still experimental.

fixes T8844
@fix
2020-12-18 11:28:10 +00:00
Vincent Torri 5f3152a30b Evas, Eolian: install missing *_api.h files
Summary: previous patches forgot to install *_api.h

Reviewers: raster, felipealmeida, lucas, jptiz

Reviewed By: lucas, jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12216
2020-12-17 15:28:26 +00:00
junsu choi 745012e6c2 edje_data: Add missing descriptor for image.max(min).limit
Summary:
Edje_Part_Description_Image uses EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB,
EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB is missing max.limit and min.limit descriptors.
Therefore, max:SOURCE and min:SOURCE did not work in EDC.
Adds a descriptor to it.

https://www.enlightenment.org/_legacy_embed/edcref.html#sec_toplevel_images
max [width] [height] or SOURCE
The maximum size of the state. A size of -1 means that it will be ignored in one direction.
When max is set to SOURCE, edje will enforce the part to be not more than the original image size.
The part must be an IMAGE part.

Test Plan:
{F4230539}
edje_cc test.edc && gcc -o test test.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
./test

Reviewers: Hermet, Jaehyun_Cho, cedric, raster

Reviewed By: Hermet

Subscribers: #reviewers, #committers, kimcinoo, herb

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12215
2020-12-17 12:50:48 +09:00
Felipe Magno de Almeida 0363fd8238 evas: Rename EAPI macro to EVAS_API in Evas library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

This patch is 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
LIBAPI is the only solution that works for MSVC.

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

Reviewers: vtorri, woohyun, jptiz, lucas

Reviewed By: vtorri, lucas

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12214
2020-12-15 23:06:12 -03:00
Felipe Magno de Almeida 75f07e41c0 ecore_audio: Rename EAPI macro to ECORE_AUDIO_API in Ecore Audio library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

This patch is 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
LIBAPI is the only solution that works for MSVC.

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

Reviewers: vtorri, woohyun, lucas, jptiz

Reviewed By: vtorri, lucas

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12212
2020-12-15 11:36:42 -03:00
junsu choi 1f9e528b50 evas: Prevent null pointer access
Summary: add null check

Test Plan: N/A

Reviewers: Hermet, cedric, kimcinoo, raster

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12213
2020-12-15 11:47:41 +00:00
Felipe Magno de Almeida 8d2c652104 evil: Fix fcntl for F_SETLK and F_SETLKW wrong length calculation
Summary:
If length and start are both 0, size is wrongfully negative. Besides,
using length as a delimitator in a range means that [0, length) is a
half-closed interval, so we don't need to subtract by 1.

Reviewers: vtorri, woohyun, lucas, jptiz

Reviewed By: vtorri, lucas

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12208
2020-12-14 11:50:48 -03:00
Felipe Magno de Almeida 4e5b01f8a0 eio: Rename EAPI macro to EIO_API in Eio library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

This patch is 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
LIBAPI is the only solution that works for MSVC.

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

Reviewers: vtorri, woohyun, lucas, jptiz

Reviewed By: vtorri, lucas

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12210
2020-12-14 11:45:35 -03:00
João Antônio Cardoso dc0173fdf6 Fixing conversion from size_t to high-low dwords for _WIN64.
Reviewers: vtorri, woohyun, lucas, jptiz

Reviewed By: vtorri, jptiz

Subscribers: joaoantoniocardoso, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12207
2020-12-09 17:12:10 -03: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
Felipe Magno de Almeida 138e9e5294 eo: Rename EAPI macro to EO_API in Eo library
Summary:
Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

=  The Rationale =

This patch is 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
LIBAPI is the only solution that works for MSVC.

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

Reviewers: jptiz, lucas, vtorri, woohyun

Reviewed By: jptiz, lucas, vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12203
2020-12-09 13:52:25 -03:00
Woochanlee cfd17f145a edje_util: Fix memory leak
Summary:
evas_object_data_set call callc for internal node.
It's not free before call evas_object_data_del or evas_object_data_set(obj, NULL)

Reviewers: raster, cedric, Hermet

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12205
2020-12-08 12:17:57 +00:00
Felipe Magno de Almeida 1aef7c697a eldbus: Add Eldbus.h include entry point header to eldbus_instrospection.h
Summary:
Add #include Eldbus.h so we can have EAPI definition for
eldbus_instrospection.h header

Reviewers: jptiz, lucas, vtorri, woohyun

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12202
2020-12-06 12:39:32 -03:00
Felipe Magno de Almeida b01cc905ea eio: Add weak symbol
Summary:
Add definition for EAPI_WEAK because this macro will be needed when we
change how Eolian generates import/export symbols for the Eio library.

=  The Rationale =

This patch is 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
LIBAPI is the only solution that works for MSVC.

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

Reviewers: jptiz, lucas, vtorri, woohyun

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12201
2020-12-06 12:32:34 -03:00
Felipe Magno de Almeida f08f0548da eolian: Rename EAPI macro to EOLIAN_API in Eolian 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/D12196
2020-11-25 11:43:53 -03:00
Felipe Magno de Almeida ccc1849263 eina: Rename EAPI macro to EINA_API in Eina 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: jptiz, lucas, woohyun, vtorri, raster

Reviewed By: jptiz, lucas, vtorri

Subscribers: ProhtMeyhet, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12188
2020-11-25 09:42:47 -03:00
Hermet Park 6b1f281f17 ui transit: improve zoom effect smoothness by subpixel rendering.
Summary:
evas image might have a better quaility if scaling/transform is not necessary,
so we have a condition to check if image is axis-aligned transformed or not.

On the other hand sub-pixel(floating point coordinates unit) rendering necessary
if image has an effect such a zooming. This would result in a smoother effect
than integer coodinate system.

We need a more precise condition to confirm this,
so we intrduce "anti-alias" option to decide the condition.
now, anti-aliased objects will have a sub-pixel rendering always.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12194
2020-11-25 10:11:59 +09:00
Carsten Haitzler 841ceced52 ecore x - dont free previous resource db 2020-11-22 21:14:56 +00:00
Carsten Haitzler 148aec9d9c ecore-x - add xresource set/get/load etc.
new ecore-x calls to support the things xrdb does

@feat
2020-11-22 20:33:07 +00:00
Ali Alzyod f56004db6e evas_textblock: reduce content fit calculations
Reviewers: woohyun, id213sin

Reviewed By: woohyun, id213sin

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12187
2020-11-19 10:29:48 +02:00
Ali Alzyod ac2987b363 elm_entry: legacy smart selection[start,cleared] callback fix
Summary:
due to changes in latest text apis in unified, legacy selection call back [start,clear] does not work anymore,
Now add the support for legacy callback [selection,start   selection,cleared]

Reviewers: woohyun, bowonryu, stefan_schmidt

Reviewed By: bowonryu

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12126
2020-11-18 15:54:57 +02:00
Felipe Magno de Almeida 8f9255e2c1 evil: Rename EAPI macro to EVIL_API in Evil 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: raster, vtorri, jptiz, lucas, woohyun

Reviewed By: vtorri, jptiz

Subscribers: ProhtMeyhet, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12182
2020-11-12 17:40:21 -03:00
Carsten Haitzler fff5b4919e evas - object - grabs - dont delete NULL event grabs
segv while shutting down and removing grabs - obj->events was null...
dont follow that poointer while deleting grabs.

@fix
2020-11-10 08:12:18 +00:00
Youngbok Shin 94c2d2295f evas/textblock: apply style paddings in fit calculation
Summary:
The style paddings should be calculated for fitting text into
the given object's size.

Test Plan:
1. Put shadow effect in your style string.
"... style=shadow,far_bottom shadow_color=#000 ..."

2. Apply fit option( and ellipsis to see how it goes wrong without this patch.)

3. See results.

Reviewers: woohyun, ali.alzyod

Reviewed By: woohyun, ali.alzyod

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12183
2020-10-28 14:50:23 +09:00
Felipe Magno de Almeida e9ee9cc3a0 evil: undef setlocale to avoid recursion
Summary:
evil_setlocale implementation must not call itself, so it must #undef
setlocale to avoid replacing with evil_setlocale.

Reviewers: vtorri, jptiz, lucas

Reviewed By: vtorri, jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12184
2020-10-27 11:05:51 -03:00
abdulleh Ghujeh d6a6dd54a1 efl.ui.text : Fixing cursor movement using keyboard arrows/mouse click
Summary:
if we have an emoji or a cluster combining multiple Unicode inside ui textbox, we can move the cursor inside the emoji/cluster using keyboard arrows/mouse click.
so we should use cluster movement instead of character movement (same as entry).

{F3868931}

this should resolve T8666

Test Plan:
  #define EFL_EO_API_SUPPORT 1
  #define EFL_BETA_API_SUPPORT 1

  #include <Efl_Ui.h>

  static void
  _gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
  {
     efl_exit(0);
  }

  static void
  _gui_setup()
  {
     Eo *win, *box;

     win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
                   efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                   efl_text_set(efl_added, "Hello World"),
                   efl_ui_win_autodel_set(efl_added, EINA_TRUE));

     // when the user clicks "close" on a window there is a request to delete
     efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, NULL);

     box = efl_add(EFL_UI_BOX_CLASS, win,
                  efl_content_set(win, efl_added),
                  efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(360, 240)));

     efl_add(EFL_UI_TEXTBOX_CLASS, box,
             efl_gfx_hint_weight_set(efl_added, 1.0, 1.0),
             efl_gfx_hint_align_set(efl_added, 1.0, 1.0),
             efl_text_markup_set(efl_added, "A&#x262a;&#xfe0f;"),
             efl_pack(box, efl_added));
  }

  EAPI_MAIN void
  efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
  {
     _gui_setup();
  }
  EFL_MAIN()

Reviewers: ali.alzyod, zmike, woohyun, bu5hm4n

Reviewed By: ali.alzyod, woohyun

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8666

Differential Revision: https://phab.enlightenment.org/D11745
2020-10-20 19:20:28 +09:00
Vincent Torri 25e64a9a4e Ecore_Win32: add the API ecore_win32_window_maximized_set()
Summary:
ecore_evas win32 engine is updated to support it. This fixes the
"maximized/unmaximized" elm "windows states" test.

Test Plan: elm_test

Reviewers: raster, jptiz, felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12177
2020-10-13 15:19:39 +01:00
Vincent Torri b9df223fa2 Ecore_Evas win32: fix activate() function
Summary: activating the function needs un-iconified first

Test Plan: elm windows status tests

Reviewers: raster, jptiz, felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12176
2020-10-13 15:19:26 +01:00
Carsten Haitzler 0c79b8f94b efl ui image - dont cancel preload on image if image is an edje object
fixes invalid request on non-image object.
@fix
2020-10-09 13:34:23 +01:00
Vincent Torri eacee53c2e Evil : move mkstemp(s) and mkdtemp in eina_file directly
Summary:
Also replace all mkstemp(s) and mkdtemp with the eina_file functions in
the source

Test Plan: run eina_file test

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12170
2020-10-08 11:58:11 +01:00
WooHyun Jung 509e3fcc7a Revert "Revert "evas_textblock: rainbow flag emoji treated as two clusters(update unibreak to version 4.2)""
This reverts commit 173b3a108e.
This was reverted because of freezing codes for release.
Now, release work was over. So, I think it's ok to restore this.
2020-10-08 12:32:53 +09:00
Vincent Torri 0a08a860a8 Ecore_file: on Windows, fix errno value when dst exists.
Summary: This also fixes the saving of elementary_config file

Test Plan: execution of elementary_config

Reviewers: jptiz, raster

Reviewed By: raster

Subscribers: johnny1337, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12165
2020-10-06 15:09:31 +01:00
Carsten Haitzler 387a720091 eina - eina eifle - rename eina_file.c to indicate its for posix 2020-10-05 16:22:24 +01:00
Hermet Park b6a98bb3be elementary image zoomable: fix non supported oversized image.
Summary:
if image size is larger than system support, photocam can not show the image.

Not like other types of image, photocam is originally designed for huge-size of image,
this result is not allowed by users, we should avoid the worst case as we can do.

This might not be the best idea, so you can improve it if you have a better solution.

Reviewers: kimcinoo

Reviewed By: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12164
2020-10-05 12:56:03 +09:00
Carsten Haitzler 42c123d1d7 singularize srand in eina_init - only once in one place
simplify down to having a single srand() in eina_init and use urandom
if it works and is there - if not, time(NULL) will do. it's the best
we can...
2020-10-03 20:46:50 +01:00
Carsten Haitzler 3d351b98c2 efreet - windows - still call stat but skip lstat/readlink
now stat is filled with data on windows

@fix
2020-09-29 10:32:02 +01:00
Youngbok Shin 85a0af8281 evas: sw font draw - protect against null pointer access
The image data of dst could be null in a rare case.
@fix

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D12163
2020-09-28 13:44:50 -04:00
Vincent Torri 994904098c Ethumb: reorder _init/shutdown functions, ecore and evas init/shutdown are useless, as ecore_evas already manages them
Test Plan: compilation

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12161
2020-09-25 10:30:04 +01:00
Shinwoo Kim 46eca1108c evas vg: check vg changed
Summary:
It is not able to render even though vg object has a chance to render,
because evas_object_smart_changed_get checks only Evas_Object_Protected_Data,
when Efl_Canvas_Vg_Object_Data.changed is TRUE.

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12152
2020-09-24 12:16:49 +09:00
Stefan Schmidt 080dbdee51 edje: efl: add new EFL_VERSION_1_26 define for new dev cycle
Thios allows to mark edje file supported for specific versions.
2020-09-22 20:27:18 +02:00
junsu choi 0b5f658510 efl_gfx_path: When path end(Z,z), Current point are returned to starting point(M,m)
Summary:
When path ends with 'z' or 'Z' command, if 'm' comes as next command,
the current point is incorrectly referenced.
Since 'Z', 'z' means to close the path,
so, Save point and reuse it when 'M' or 'm' is called.

Test Plan:
[Error Case]
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
    <path d="M 52.17,20
             H 11.92
             V 43
             H 52.17
             Z
             m -1.5,21.5
             H 13.42
             v -20
             H 50.67
             Z
" fill="#a8b7c1" stroke="#F00" stroke-width="0.5" />
</svg>

Reviewers: Hermet, smohanty

Reviewed By: Hermet

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12158
2020-09-22 14:52:42 +09:00
Vincent Torri 3aeffe0bec elm_config: don't prepend /tmp/ to file name
eina_file_mkstemp() already takes care of this.

Differential Revision: https://phab.enlightenment.org/D12155
2020-09-21 11:26:23 +02:00
Stefan Schmidt ddd0736264 Revert "elm - collection view - check return and fix coverity wanring"
This reverts commit f3fdcf5692.

This commit leads to ninja test timeout. When returning result here the
future will never fire and we will keep spinning.
2020-09-21 11:09:07 +02:00
Carsten Haitzler 1638a79bd6 elm - toiolbar - use correct theme icon for more item
there is a specific thme icon for "more" items when a toolbar
compresses. it literally was not being used. it should use it.
"go-down" that it was using isn't exactly very expressive of what this
item does...

@fix
2020-09-21 09:35:06 +01: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
Carsten Haitzler 485ecc24ed eina thread - check return of pthread_attr_init
fix CID 1401031
2020-09-19 23:37:22 +01:00
Carsten Haitzler f3fdcf5692 elm - collection view - check return and fix coverity wanring
fix CID 1405808
2020-09-19 20:38:12 +01:00
Carsten Haitzler f76d925318 ecore con url - curl is actually optional and only needs to init on use
ecore_con_utl_init is kind of pointless when we can init at the first
use of a url and just have it fail. the problem is anyone initting
ecore_con's url stuff will then pull in curl at that point and not
laer "on first use" which is kind of nw how the dlopen fun was
intended, so push it off until then.
2020-09-19 18:29:55 +01:00
Vincent Torri 364323881c elm_config: remove useless init|shutdown of ecore_win32 and eocore_cocoa (done in ecore_evas module), and useless wayland variable
ecore_win32 and ecore_cocoa was init. wayland variable was also unused

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D12149
2020-09-18 09:04:00 -04:00
nerdopolis 57354e01ec call sd_seat_can_tty to determine if ttys should be used, instead of hard-coding seat0
Summary: All TTYs are on seat0, but not all seat0s have TTYs

Reviewers: #efl, devilhorns

Reviewed By: #efl, devilhorns

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

Tags: #efl

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D12143
2020-09-18 11:48:19 +02:00
Woochanlee ca2900be8a evas_main: Fix memory leak.
Summary: If the inlist has only one item when it removed. the data is not freed in descturctor.

Reviewers: Hermet, raster, vtorri

Reviewed By: Hermet

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12147
2020-09-17 17:23:10 +09:00
Shinwoo Kim e5958965e8 evas vg: check object changed as well 2
Summary:
evas cannot render vg object if Efl_Canvas_Vg_Node_Data flag is not
EFL_GFX_CHANGE_FLAG_NONE and Evas_Object_Protected_Data.changed is FALSE,
when vg object marks its node as changed.

Above case could be possible if vg object render_pre is not called, and
only nd->vd->obj->changed is set to false by evas_object_change_reset.

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12142
2020-09-17 10:40:25 +09:00
Ali Alzyod 3bd066c7db evas_textblock: prevent textnodes with <ps>/<br> without format node
this will prevent textnodes content with <ps> or <br> without format node

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12145
2020-09-16 14:40:55 +02:00
junsu choi 53e8bf9dab Efl.Canvas.Vg: When VG container has transparency, ector buffer created synchronously
Summary:
If the container has transparency, it internally alpha blends with ector buffer.
So ector buffer must be created synchronously.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12140
2020-09-11 17:02:24 +09:00
junsu choi 0e01e9778c Efl.Canvas.Vg.Object: Fix typo
Summary:
The 3th parameter of ector_buffer_pixels_get is the width.
So chnage px to pw.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12141
2020-09-11 11:46:59 +09:00
Myoungwoon Roy, Kim f59a166063 docs: Correct the mismatched group name in Evas.
I had found mismatched group name in Evas and fixed them.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12134
2020-09-10 09:21:31 +02:00
Shinwoo Kim 7b7f69e09f evas vg: check object changed as well
Summary:
evas cannot render vg object if Efl_Canvas_Vg_Object_Data.changed is ture
and Evas_Object_Protected_Data.changed is false, when vg object marks itself
as changed.

Above case is possible depending on the draw area which is calculated by
eng_output_redraws_next_update_get. If this function returns NULL,
the vg object render function is not called, and vd->changed remains true.
Only vd->obj->changed is set to false by vas_object_change_reset.

Reviewers: Hermet, jsuya, herb, raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12136
2020-09-09 12:14:48 +01:00
Jaehyun Cho cb059ea0af elm_gesture_layer: fix crash caused by elm_gesture_layer_cb_del in cb
elm_gesture_layer_cb_del can be called in Elm_Gesture_Event_Cb cb set by
elm_gesture_layer_cb_set and cb_info of the cb is free in the cb.

This causes crash if cb_info is searched with EINA_INLIST_FOREACH.
2020-09-07 15:18:12 +09:00
Carsten Haitzler 5d058c98fd elm cnp - make matchers const and static too 2020-09-05 15:03:44 +01:00
Marcel Hollerbach f8ef50eaaa elm_cnp: adjust image type to real format
we should never say that we have image/png etc. if we do not have the
respective format. Otherwise we are just confusing the other client.

With this you can copy things from elm to thunderbird / libreoffice
writer / firefox / telegram / chromium.

Please note if you test this: Start *a new xorg session* it was
discovered that xorg clients tent to be totally confused if there was a
protocol error before, or some wrong mime type was delivered before,
thunderbird even likes to crash if this is not done.

This should at some point be extended to more image types.
2020-09-05 09:43:43 +02:00
Carsten Haitzler 8cb57ecc1b ecore x - fix typo in internal backdoor api to get vsync debug 2020-09-04 14:42:07 +01:00
Carsten Haitzler e0d21286c2 ecore drm - increase timeout for flips from 0.05 to 2.0 sec
so our timeout is far too agressive. we cant stay hung on buggy
devices/drivers though so make the timeout 2s instead of 0.05s so we
dont go retrying flips too agressively which causes stuttering

@fix
2020-09-04 13:25:52 +01:00
Myoungwoon Roy, Kim add087837c docs: Add the missing API page name to elementary and evas
I had found missing API reference page name. There should be page name to each API defgroup

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12128
2020-09-03 11:17:53 +02:00
Carsten Haitzler 9544c87428 edje - calc - handle swallow disappearing mid-calc due to callabcks
callbacks attached to move/resize etc. can change a swallow and ..
well.. i hit a crash where it happens. so handle this case.

@fix
2020-09-03 09:42:31 +01:00