Commit Graph

31277 Commits

Author SHA1 Message Date
junsu choi 92f77c5123 evas_vg_load_svg: Add check that stroke-dasharray is "none"
Summary:
"none" is the default value of dasharray and can actually be used.
Currently using "none" causes a segfault. This patch prevents it.

Test Plan:
SVG image
```
<svg viewBox="0 0 30 10" xmlns="http://www.w3.org/2000/svg">
  <line x1="0" y1="3" x2="30" y2="3" stroke="black" stroke-dasharray="none" />
</svg>
```

Reviewers: Hermet, raster, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12317
2022-01-12 11:33:44 +09:00
junsu choi 5ebebe4698 Efl.Gfx.Path: Remove unnecessary optimization code for small arc
Summary:
This condition(optimization) is not a step suggested by arc implementation.
https://www.w3.org/TR/SVG11/implnote.html#ArcCorrectionOutOfRangeRadii (Step2)
This code is useful if the arc is too small to represent.
However, scaling often occurs in vectors, which can create unnecessary problems.

Test Plan:
SVG Image
```
<svg viewBox="0 0 50 50" height="50" width="50">
<path d="M32.41,20.49a.41.41,0,1,1-.41-.42A.41.41,0,0,1,32.41,20.49Z" transform="translate(-70, -50) scale(3.3)" fill="#020202"/>
</svg>
```
image file
{F4792225}
result
{F4792221}

Reviewers: Hermet, raster, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12316
2022-01-12 11:32:42 +09:00
junsu choi 3411c604f2 evas_vg_load_svg: Fix negative attrs length
Summary:
After finding no attributes but spaces, attrsLength could be negative.
This will cause a segfault in parser functions.
So, change the position of attrs_length to prevent this.

Test Plan:
Example SVG
```
<?xml version="1.0" encoding="UTF-8"?>
<svg><g  ></g></svg>
```

Reviewers: Hermet, raster, kimcinoo

Reviewed By: Hermet

Subscribers: #reviewers, cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12314
2022-01-12 11:19:24 +09:00
Carsten Haitzler 7a674c6a29 ecore input - fix - hopefully - build on freebsd with joystick support
no eeze there to move the include there and on linux only

@fix
2022-01-11 11:16:35 +00:00
junsu choi a32373195b evas_vg_load_svg: Prevent array overflow
Summary: sz must be less than 20 to append 'carriage return'

Test Plan:
Example SVG
```
<?xml version="1.0" encoding="UTF-8"?>
<svg><aaaaaaaaaaaaaaaaaaaa > </aaaaaaaaaaaaaaaaaaaa></svg>
```

@fix

Reviewers: Hermet, raster, kimcinoo

Reviewed By: raster

Subscribers: cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12313
2022-01-11 00:41:41 +00:00
Carsten Haitzler ec80ef2ce4 efreetd - use putenv for better porting to weird os's 2022-01-09 21:14:23 +00:00
Carsten Haitzler 6c9784b918 elm - test - disable 2 negative tests that are failing to fail
efl ui suite passes now
@fix
2022-01-04 14:13:32 +00:00
Carsten Haitzler ebd8632dba elm test - disabble elm mpa focus tes - map widget is disabled
,map is broken - it has been for ages so its been disabled, disable in
test.
2022-01-04 14:06:49 +00:00
Carsten Haitzler f817041d69 elm test - disable excess video tests - gst freezes internally
gst seems to multi-init even tho we avoid it or something... when you
don't fork check. disable all but 1 video test then.

@fix
2022-01-04 14:06:06 +00:00
Carsten Haitzler 4ccbe49b92 elm tests - disable toggle test - changed theme
fix tests to pass

@fix
2022-01-04 13:34:28 +00:00
Carsten Haitzler 34a36b49e1 eet - fix seg when doing unusual things with eet write then read
if you write and read0-back before writign out (non-sensical to do as
you would write out in full and close and then open file and read
separately) the dictionary will be empty. fill it in these paths.
fixes needed resulting from optimizations in 1.26.0

@fix
2022-01-04 09:44:20 +00:00
Carsten Haitzler b1ddbd8408 edje entry - complete key handling for cut (shft+del)
fixes T8975

@fix
2021-12-30 19:38:48 +00:00
Carsten Haitzler 0fe3c751d1 edje entry - fix past to use shft+ins for paste and no ctl
fix key handling for paste (insert key one)

@fix
2021-12-30 19:32:42 +00:00
Vincent Torri 8189c1a529 Eio: fix functions name
Summary: 2 functions has wrong names, hence link error

Test Plan: compilation

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12312

@fix
2021-12-29 16:57:00 +00:00
Ali Alzyod 57b2bedac3 remove space 2021-12-24 09:34:46 +02:00
Vincent Torri 4f15af95e6 avif saver: fix test on the returned type of fwrite()
Test Plan: save as avif file

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12310
2021-12-16 20:40:27 +00:00
Maximilian Lika 7802e92849 Make passing data pointer to format_cb possible
Summary:
Hello,
For my perl binding it is important that one can pass a data pointer to all callbacks, especially to "Format_Cbs" as in elm_slider_units_format_function_set(), elm_slider_indicator_format_function_set() of elm_progressbar_unit_format_function_set(). Another "problematic" function would be elm_calendar_format_function_set().

Enclosed you find a approach to solve this problem.

It would be wonderful, if the Efl-libraries could make data pointers also in format cbs possible...

Thanks in advance,
Max

Reviewers: bowonryu, eagleeye, zmike, cedric, raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12298
2021-12-14 08:53:15 +00:00
Carsten Haitzler f6c99bd806 ecore evas - wl - detect timestamsp too far in the past and complain
this has all sorts of nasty side effects by rewinding time far too
much and thus causing timers to expire early and so on - these
timestamps are MEANT to be like a frame vsync time... they thus should
be like normally 0.02sec or so in the past or less... (0.008s on
average) so at 0.1 sec complain and ignore the old timestamp. weston
does this and sends us timestmaps 0.33sec in the past ... and its not
nice.

@fix
2021-12-10 10:54:32 +00:00
Carsten Haitzler 2fb5530be7 evas - loaders - avif, heif - allow threaded loading
i see no good reason to not allow these loaders to run in threads.
they are isolated and i don't see a reason for the libs called to not
be threadsafe.
2021-12-04 09:18:47 +00:00
Carsten Haitzler 1d57aa2a4c ecore - loop time - do not allow setting into the future - not intended
setting a loop time timestamp in the future will lead to all sorts of
bad things. the idea is it was meant to go back a little in time AFTER
some sync/animation etc. event to pretend to be at the time when that
event happend (it just took some time ot arrive at the process) and so
animation and other timelines all agree to be at this time a little
bit in the past. going forwards leads to bad things so disallow it and
complain. this fixes weston in a window problems when it sends
timestamps in the future from weston...

@fix
2021-12-04 09:18:47 +00:00
Vincent Torri 711638c7d2 Elm_tests: resize windows according to elm scale
Summary: On laptop with 4K display, windows are too small, so resize windows according to elm scale

Test Plan: elm_tests

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12307
2021-12-04 09:18:47 +00:00
Alastair Poole 981e85f99c ecore_thread: Add ecore_thread_name_set API.
This function can only be successfully called from the given
thread. For debugging purposes, it's useful to be able to give
a name to an Ecore_Thread.

ecore_thread_name_set(Ecore_Thread *thread, const char *name);

@feature
2021-12-04 06:36:36 +00:00
Taehyub Kim d5c8311470 edje lua2: check string ptr before dereference
Summary: fix null pointer dereference

Reviewers: Hermet, kimcinoo, jsuya, raster

Reviewed By: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12309
2021-11-30 10:49:00 +09:00
Alastair Poole 38a4c53a84 eio_mon: separate dir/file concerns.
As per ecore_file_monitor.
2021-11-26 08:32:17 +00:00
Alastair Poole 43108e772a ecore_file: Monitor file writes (kevent).
Trigger ECORE_FILE_EVENT_MODIFIED on file write.

@fix
2021-11-25 19:20:49 +00:00
Carsten Haitzler 9ba7c3667c elm - spinner - fix entry mysteriously hiding in paledit
some logic ws off in how to hide/show and handle visibility of
swallowed entry. fix it - let edje deal with show/hide and dont fight
with it and ensure we emit a signal to have entry active when it needs
to be visible

@fix
2021-11-21 12:10:49 +00:00
Carsten Haitzler dcf34cef77 efl ui text - handle edje cc classes for text 2021-11-11 19:57:13 +00:00
Vincent Torri b5b0222ae0 Eina: sanitize eina_path output on Windows
Summary:
 * remove additional \ character
 * use only / as path separator

Test Plan:
compilation and run

test program :

```
{
        elm_app_bin_dir_get();
        printf("%s\n", eina_vpath_resolve("(:tmp:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:home:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.desktop:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.documents:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.downloads:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.music:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.pictures:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.public:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.templates:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.videos:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.data:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.config:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.cache:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.run:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:usr.tmp:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.dir:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.bin:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.lib:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.data:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.locale:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.config:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.local:)/foo"));
        printf("%s\n", eina_vpath_resolve("(:app.tmp:)/foo"));
    }
```

before patch :

```
C:\Documents\msys2\tmp/foo
C:\Users\vincent.torri/foo
C:\Users\vincent.torri\Desktop/foo
C:\Users\vincent.torri\Documents/foo
C:\Users\vincent.torri\Downloads/foo
C:\Users\vincent.torri\Music/foo
C:\Users\vincent.torri\Pictures/foo
C:\Users\Public\/foo
C:\Users\vincent.torri\AppData\Roaming\Microsoft\Windows\Templates/foo
C:\Users\vincent.torri\Videos/foo
C:\Users\vincent.torri\AppData\Local\/foo
C:\Users\vincent.torri\AppData\Roaming\/foo
C:\Users\vincent.torri\AppData\Local\/foo
C:\Users\vincent.torri\AppData\Roaming/foo
C:\Users\vincent.torri\AppData\Local\Temp/foo
C:/Documents/msys2/opt/entice_64/bin/foo
C:/Documents/msys2/opt/entice_64/bin/foo
C:/Documents/msys2/opt/entice_64/lib/foo
C:/Documents/msys2/opt/entice_64/share/foo
C:/Documents/msys2/opt/entice_64/share/foo
C:\Users\vincent.torri\AppData\Roaming\/entice/foo
C:\Users\vincent.torri\AppData\Local\/entice/foo
C:\Users\vincent.torri\AppData\Local\Temp/entice/foo
```

after patch

```
C:/Documents/msys2/tmp/foo
C:/Users/vincent.torri/foo
C:/Users/vincent.torri/Desktop/foo
C:/Users/vincent.torri/Documents/foo
C:/Users/vincent.torri/Downloads/foo
C:/Users/vincent.torri/Music/foo
C:/Users/vincent.torri/Pictures/foo
C:/Users/Public/foo
C:/Users/vincent.torri/AppData/Roaming/Microsoft/Windows/Templates/foo
C:/Users/vincent.torri/Videos/foo
C:/Users/vincent.torri/AppData/Local/foo
C:/Users/vincent.torri/AppData/Roaming/foo
C:/Users/vincent.torri/AppData/Local/foo
C:/Users/vincent.torri/AppData/Roaming/foo
C:/Users/vincent.torri/AppData/Local/Temp/foo
C:/Documents/msys2/opt/entice_64/bin/foo
C:/Documents/msys2/opt/entice_64/bin/foo
C:/Documents/msys2/opt/entice_64/lib/foo
C:/Documents/msys2/opt/entice_64/share/foo
C:/Documents/msys2/opt/entice_64/share/foo
C:/Users/vincent.torri/AppData/Roaming/entice/foo
C:/Users/vincent.torri/AppData/Local/entice/foo
C:/Users/vincent.torri/AppData/Local/Temp/entice/foo
```

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12306
2021-11-10 12:51:23 +00:00
Carsten Haitzler 173c9cdbe1 eina vpath - fix trailing extra / after home
fixes T8965

@fix
2021-11-07 09:26:03 +00:00
Carsten Haitzler 992fb22ac4 eina vpath - fix public vpath location - docs say say public not pub
@fix
2021-11-07 09:09:28 +00:00
Taehyub Kim 3b1eede582 efl_canvas_image : remove the animated image limitation
Summary: remove FRAME_MAX limitation to play the huge animated image which has more than 1024 frames

Test Plan: load gif image which has more than 1024 frames

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12303
2021-11-04 16:38:48 +09:00
Carsten Haitzler 904d80e0ae elm - palette - add api to check if palette has a system version 2021-10-31 18:27:32 +00:00
Carsten Haitzler cf0df4872d edje + elm - add new explicit tracking of all cc's used in edj themes
edje_cc now lists all cc's used in an edj file. edje provides an api
to list this. elm now uses this api to expose a list of all cc's used
acorss all the theme(s) selected by the user. this will then be used
by paledit to produce a nicer gui with a list of available cc's to add
etc. and split between basic and extended.

@feat
2021-10-31 11:44:57 +00:00
Vincent Torri 7dcaab26cf Evas engines: remove last bits of evas_cserve2
Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12302
2021-10-26 14:52:53 +01:00
Carsten Haitzler 7f759bc42d evas - software x11 - remove unused xlib+egl code in sw x11
this code is unused and just wastest space, compile time etc.
2021-10-25 10:15:21 +01:00
Vincent Torri 30207a6165 Evas: remove old xcb code in software_x11 code
Summary: this backend code was for selecting XCB over Xlib. Now XCB is removed, this code is useless

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12299
2021-10-25 10:08:57 +01:00
Carsten Haitzler fdd4f923be eet - fix bug I added in optimization patch in unusual code path
fixes bug in d08bb74255 in fallback code
path.
2021-10-25 09:34:14 +01:00
Carsten Haitzler d08bb74255 eet - optimize eet dictionary building
this massively speeds up efreet's icon cache building for huge icon
themes... in my nasty test case of some insanely huge icon themes that
have like 50,000 - 100,000 files... each - and multiple where the icon
cache has to scan all of them and build the cache files... i see a
speedup of going from 80 seconds to build down to 15-16 seconds. so
over 5 times faster.

This builds the dictionary in a temporary eina superfast string hash
in ram and then just before writing flattens it out into a regular eet
dict format.

@opt
2021-10-23 12:15:17 +01:00
Carsten Haitzler 05bee4b2ab elm theme - final cc work for elm code cc's 2021-10-18 18:50:08 +01:00
Shinwoo Kim 24c4fbb99e tests: enhance evas_map test
Reviewers: raster, Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12296
2021-10-18 09:10:17 +01:00
Shinwoo Kim 2728408cd1 tests: add evas_map test
Reviewers: raster, Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12295
2021-10-12 08:36:23 +01:00
Christopher Michael 57a5655f88 exactness: Fix compiler warning of uninitialized variable
Compiler is warning us here that ex_img has not been initialized after
being malloc'd, so let's initialize it
2021-10-05 10:27:45 -04:00
Carsten Haitzler c0826212ef evas - loader - rsvg - work around rsvg now returning 0 sized dims
also work around rsvg now returning a 0 em/ex values for dimensions too.
rsvg 2.52 brought us this fun.

@fix
2021-10-05 01:00:33 +01:00
Carsten Haitzler b905a0036e ecore anim - just for paranoia also cancel the thread
we send -1 to say exit to the thread but also cancel thread too with
ecore "in case"
2021-10-03 23:48:58 +01:00
Carsten Haitzler 2ce7feb3d5 emotion - properly track subtitle mute state and init emotion obj early
fix setting things on an emotion obj early bu initting engine early
and also track spu mute flags to set on pipe later

@fix
2021-09-26 21:23:24 +01:00
Joshua Strobl ec527a9026 Ensure we check for the correct minimum rsvg version for rsvg_handle_get_intrinsic_size_in_pixels
In commit cbcf5bc64a, newer librsvg APIs were used that are not available in versions between 2.36.0 and 2.50.0, e.g. rsvg_handle_get_intrinsic_size_in_pixels which was included in 2.51.x.

This has been resolved by adding a HAVE_SVG_2_51 and using it for both rsvg_handle_get_intrinsic_size_in_pixels and rsvg_handle_render_document, though the later technically landed in 2.46.0.

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D12293
2021-09-22 15:38:37 -04:00
Christopher Michael 3f1d183c06 eina-test: Fix unchecked return value
Coverity CID1401015 complains about an unchecked return value here, so
let's check that fread actually succeeded (return > 0).

Fixes CID1401015

@fix
2021-09-21 10:35:34 -04:00
Christopher Michael 2c7b1a992c evas-pdf: Properly set return value before cleanup is called
Coverity CID1437717 tells us that this code is unreachable
(obviously), so let's set the return value Before we go to cleanup.

Fixes CID1437717

@fix
2021-09-21 10:27:47 -04:00
Christopher Michael cbcf5bc64a evas-rsvg: Update rsvg code to not use deprecated functions
A few of the functions used in this code have been deprecated in the
latest librsvg. This patch fixes the deprecated warnings by using
possible.

NB: As I am no cairo expert, someone may want to check that the proper
dimensions are used in read_svg_data function. I was not sure if this
should be using the 'scaled' dimensions or not.
2021-09-21 09:35:34 -04:00
Christopher Michael 66dcdf6b70 evas-rsvg: Minor formatting fixes 2021-09-21 08:54:17 -04:00