Commit Graph

21802 Commits

Author SHA1 Message Date
Carsten Haitzler 4ba44bd865 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-03-26 23:07:38 +00:00
Carsten Haitzler da0a6f9ed0 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-03-26 23:07:38 +00:00
Carsten Haitzler 41dd584789 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-03-25 10:45:37 +00:00
Carsten Haitzler 0f6e1c03f0 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-03-25 10:45:37 +00:00
Carsten Haitzler 107b19d427 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-03-08 11:58:00 +00:00
Jaehyun Cho 3756b88cde 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-02-24 17:26:36 +09:00
Carsten Haitzler d3a1b077fb edje - improve number of signlas/messages we can do per second
use a 0 timer delay not 0.001s before processing messages thus being
able to handle more especially when they self-feed a bit.

@opt
2022-02-20 11:20:43 +00:00
Carsten Haitzler 5e1023f64b 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-01-20 12:14:57 +00: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
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
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
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 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
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
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
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
Shinwoo Kim 2bf995efa1 evas_map: use source size for uv instead of proxy size
Summary:
Usually application sets uv point value using proxy object size.
if source object is bigger than proxy object, then only part of
source image is used for map, and it leads to unexpected result.

This patch is solving this problem make map use source object size
instead of proxy object size by comparing both size.

Test Plan:
[Samle Code]
{F4606414}

[Sample Image]
{F4606413}

[Before apply map]
{F4606418}

[After apply map WITHOUT patch]
{F4606416}

[After apply map WITH patch]
{F4606417}

Reviewers: raster, Hermet

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12292
2021-09-20 10:11:11 +01:00
Carsten Haitzler 11e82fd7f4 eo - make no_anon EO_API for test suite 2021-09-06 12:09:05 +01:00
Carsten Haitzler 14946e9cf4 efl mem - every mmap anon - allow envv ar to turn it off to be malloc
helps with memory debug to use libc mallocs/callocs etc.
set EFL_NO_MMAP_ANON env var to anything to stop anon mmaps
2021-09-06 10:05:15 +01:00
Alastair Poole ab02b4fa46 code: add simple shell syntax highlighting. 2021-09-06 09:39:01 +01:00
Carsten Haitzler aa96bf5987 elm - map widget - empty out and clean out code and tests - broken
elm map has been broken for a long time now sue to upstream web api
changes/breaks made by openstreetmaps. this isn't sustainable to have
code do this. since it's broken there is little point keeping code for
something that is totally non-functional, so reduce code, document it
as broken and remove tests. at least symbols remain so no missing
symbols and code using it will end up with an empty non-functional
widget (much like they would without these changes anyway).

@feat
2021-09-05 11:47:22 +01:00
Vincent Torri 03dae0a900 Elm Config: adapt elm_config scale on HiDPI devices on Windows
Summary: with HiDPI monitor (like 4k ones), the size of the windows are upsized with the Windows algo. The result leads to blocky font rendering for exemple. Set the scale in elm_config according to the values of the scale.

Test Plan: elm test with a text

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12290
2021-09-05 09:11:59 +01:00
Vincent Torri 71f7d01b6c Evil: improve timer resolution of timers and waiters
Test Plan: running the efl since several months without problem

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12289
2021-09-03 09:10:07 +01:00
Carsten Haitzler f8b262037f ecore-x - add force refresh call to randr api 2021-09-03 09:09:53 +01:00
Ali Alzyod 3a5d04b125 Content Fit Enhancment
Summary:
Allow user to get currently used font size when Text Fitting is enabled.

previously, the user can not know what is current font size, he only specifies font size ranges, and the algorithm internally decides suitable font size.
with this change, the user has the ability to know the font size, that the fitting algorithm has picked

Reviewers: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12288
2021-08-30 21:13:38 +03:00
Carsten Haitzler 5a12ceaa7d edje cc lookup - fix to proper path fallback - mis-lookups fixed 2021-08-16 11:48:41 +01:00
Carsten Haitzler a931374ca5 efl ui focus - unbork focus from noise fix previous commit 2021-08-13 17:31:52 +01:00
Carsten Haitzler 324e74427c elm focus stuff - just handle corner cases during tree deletes quietly
like if parent is null in the process of a tree deletion etc....
2021-08-11 15:35:44 +01:00
Carsten Haitzler 4596fdd375 elm - config - support coarse palette entires with colon 2021-08-09 19:04:53 +01:00
Carsten Haitzler 276513f58b edje - fix up colorclass lookups to always be recrusvie now 2021-08-09 19:04:53 +01:00
Carsten Haitzler a5c7c65658 edje - we can't rely on string ptr coming from eet file anymore... 2021-08-09 18:22:06 +01:00
Hermet Park afba465735 ecore_wl2: prevent invalid timer if the input is invalid.
Summary:
It is non-sense that running timer even if the input/timer is invalid.
Stop the timer to prevent invalid key down repeating.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12285
2021-07-05 18:10:02 +09:00