Commit Graph

31288 Commits

Author SHA1 Message Date
Carsten Haitzler 4693321144 eina bt - it seems tab plus space doesnt produce always a space fix
as this is machine-read ... a single space will do and will produce
the right format.

@fix
2022-09-16 14:09:45 +01:00
Carsten Haitzler 685bf2b0c1 efreet - fix missing use of eina prefix for finding path to efreetd
fixes relocation with eina prefix by using it to launch efreetd

@fix
2022-09-16 14:09:38 +01:00
Carsten Haitzler 3282c7181f ecore evas - x - dont dfisable dnd if we are listening for drop events
on mouse release/up dont disable xdnd awareness if we're listening for
dnd events still

@fix
2022-09-16 14:09:20 +01:00
Carsten Haitzler 9d558d1597 elm - dnd - fix missing out callback when mouse leaves window
@fix
2022-09-16 14:08:15 +01:00
Carsten Haitzler e3db794922 evas - handle odd case where smat child is not removed to avoid inf loop
with som refcount fun some o9bjects may not get removed until later
thus causing infinite loops trying to remove comtained objects so
remove anyway in this case to avoid looping forever

@fix
2022-09-16 14:08:09 +01:00
Carsten Haitzler 43c6562a4d elm - be more robust in the face of null cnp obj and bad app code
someone decided passing a null obj to elm_cnp_selection_set from an app
is a good idea. it's not... but let's not crash 9nside efl if someone
does and instead survive and complain

@fix
2022-09-16 14:08:03 +01:00
Carsten Haitzler 7696136b98 evas - smart obj - set smart data to null after del func to avoid bugs
so smart data get cleanly returns null ... set it to nukll after del
func called as now the smart data shiuld be gone and not usable
anymore. this means we dont return junk smart data if called after this.

@fix
2022-09-16 14:07:59 +01:00
Carsten Haitzler 2cb411c4c8 ecore-x - in order to only handle "new kbds" instead of maps add ev info
als flag in the xkb event to look at in this case. this allows for
fixes in e to not redo kbd layout when xmodmap changes modmap

@feat
2022-09-16 14:07:52 +01:00
Carsten Haitzler 3f000b6903 ecore-x - fix xkb emitted hash handling to del just that serial
don't delete any item with a data of 1 which could be multiple
items.... delete by the serial instead.

also - don't leak the event... this leaks the event as the free func
never freed the event...

@fix
2022-09-16 14:07:47 +01:00
Carsten Haitzler d337647082 ecore-x - fix netwm moveresize request to send to the right window
e handles this but other wm's don't ... fic to send to root

@fix
2022-09-16 14:07:40 +01:00
Jaehyun Cho 076ab65180 edje_calc: fix check return of _edje_fetch
Summary: checks if _edje_fetch returns null before calling _edje_recalc_do.

Reviewers: Hermet, raster, kimcinoo, jsuya

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12322
2022-09-16 14:04:45 +01:00
Carsten Haitzler 0eda6e589d ecore x - ensure pointer is not outside barriers when settingh for screens
it might be possible the pointer is outside the screen areas and
perhaps gets caught there, so move the pointer in first before setting
up new barriers

@fix
2022-02-07 18:59:18 +00:00
junsu choi a9dbba3f63 vg_common_svg: Fix when the number of polygon points is odd
Summary: If the number of points is odd, an overflow occurs in array[i+1].

Test Plan:
Test Svg image
```
<svg xmlns="http://www.w3.org/2000/svg" id="svg1" viewBox="0 0 200 200">
    <title>Not enough points</title>
    <desc>Must contain at least 4 points</desc>

    <polygon id="polygon1" points="20 40 160 40 10" fill="none" stroke="red"/>

    <!-- image frame -->
    <rect id="frame" x="1" y="1" width="198" height="198" fill="none" stroke="black"/>
</svg>
```

Reviewers: Hermet, raster, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12319
2022-02-07 18:59:18 +00:00
junsu choi 9dae699424 evas_vg_load_svg: Fix colorstop offset parser
Summary:
Values different from numbers and percentages should be ignored
and the default values should be applied (zeros).
And set the min and max of the offset value to be 0, 1.
Also, this patch make that the offset is not input in the reverse order.

Test Plan:
Test SVG Image
```
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
    <linearGradient id="grad" x1="0" y1="0" x2="1" y2="1">
        <stop offset="10%" stop-color="white"/>
        <stop offset="0.2" stop-color="red"/>
        <stop offset="30% k" stop-color="blue"/>
        <stop offset="40%" stop-color="yellow"/>
        <stop offset="0.5m" stop-color="red"/>
        <stop offset="0.6 " stop-color="green"/>
        <stop offset="70%m" stop-color="black"/>
        <stop offset="80%" stop-color="white"/>
    </linearGradient>
    <rect x="20" y="20" width="160" height="160" fill="url(#grad)"/>
</svg>

```

Result
{F4792365}

Reviewers: Hermet, raster, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12318
2022-02-07 18:59:18 +00:00
junsu choi 2c9f08f8cb 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-02-07 18:59:18 +00:00
junsu choi 76f698faf0 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-02-07 18:59:18 +00:00
Carsten Haitzler c3a5aa2f2c ecore input - fix - hopefully - build on freebsd with joystick support
no eeze there to move the include there and on linux only

@fix
2022-02-07 18:59:18 +00:00
junsu choi 1b64de1cca 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-02-07 18:59:18 +00:00
Carsten Haitzler 071fc06ec5 efreetd - use putenv for better porting to weird os's 2022-02-07 18:59:18 +00:00
Carsten Haitzler 0647b7e576 elm - test - disable 2 negative tests that are failing to fail
efl ui suite passes now
@fix
2022-02-07 18:59:18 +00:00
Carsten Haitzler 553c418b10 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-02-07 18:59:18 +00:00
Carsten Haitzler 202a58b7ab 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-02-07 18:59:18 +00:00
Carsten Haitzler 7b75d399e2 elm tests - disable toggle test - changed theme
fix tests to pass

@fix
2022-02-07 18:59:18 +00:00
Carsten Haitzler f39af23cee 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-02-07 18:59:18 +00:00
Carsten Haitzler 7f2d54ab7f edje entry - complete key handling for cut (shft+del)
fixes T8975

@fix
2022-01-03 00:39:06 +00:00
Carsten Haitzler 5c19727c91 edje entry - fix past to use shft+ins for paste and no ctl
fix key handling for paste (insert key one)

@fix
2022-01-03 00:38:57 +00: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