Commit Graph

62079 Commits

Author SHA1 Message Date
Xavi Artigas aa6e188f10 docfx: Only add media files in use to the final docs
The setup script copied ALL media files, but only the C# tutorials and guides.
A lot of space can be saved in the generated _site folder if only the media
files relevant to C# are copied.
2019-09-04 10:04:10 -04:00
Christopher Michael c26e10a035 ecore-wl2: Add doxygen for ecore_wl2_input_seat_get
ref T8014
2019-09-04 10:03:42 -04:00
Christopher Michael 8d36558e0c ecore-wl2: Add missing doxygen for ecore_wl2_window_display_get
ref T8014
2019-09-04 10:03:40 -04:00
Jongmin Lee a0b0c6c2b3 elm/interface_scrollable: check parameters before using them
Summary: it crashes when calling elm_interface_scrollable_loop_get() function with NULL parameters.

Test Plan: call elm_interface_scrollable_loop_get() function with NULL parameters.

Reviewers: Hermet, woohyun, kimcinoo, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9082
2019-09-04 10:03:33 -04:00
Mike Blumenkrantz c4dd3ec04d efl-wl: add missing docs for efl_wl_global_add()
Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8900
2019-09-04 10:02:59 -04:00
Mike Blumenkrantz d069a41434 theme: fix fileselector search button layout
Summary:
to correctly (and quickly) calculate part geometry when setting a part relative
to another part, align must be set on the axis that is relative to another part.
also since the height on this part should not be changing, set fixed on the
vertical axis to optimize geometry calcs

@fix

Depends on D9009

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9010
2019-09-04 10:02:48 -04:00
Carsten Haitzler 3539dc6540 elm sel mgr - remove event handlers when no drop targets are left
case left over that this didnt handle right and this breaks e's dnd
once a file preview popup appears.

@fix
2019-08-30 18:19:02 +01:00
Carsten Haitzler 0badbe5eac eio - don't call cb's after a cancel
i saw a segv in e/efm .. an eio call was called after it had been
canceled. this should never happen. ever. so ensure it does not once
an eio file has been canceled.

@fix
2019-08-30 12:45:11 +01:00
Carsten Haitzler 998e644977 evas -gl engines - buffer age - bring back fix for changing buffer age
so we USED to... if buffer age changed between frames, force a full
redraw and add that to the pipeline... somehow someone removed that.
this brings that back as it's really needed to deal with updating
correctly.

@fix
2019-08-27 23:06:47 +01:00
Carsten Haitzler 542b17f958 meson build - bump to 1.22.3 to match autofoo just for sanity 2019-08-26 20:57:59 +01:00
Carsten Haitzler d866945a34 stable - fix meson build to have svg loader work
just for some sanity of testing stable branch and backports... have
meson work better. installs svg loader so it works.
2019-08-26 20:57:22 +01:00
Carsten Haitzler 52fb1c8d43 edje - backport fix to opt that actually was a fix to existing bug
so it turns out a fix to an optimization i did was ALSO a fix to an
existing bug that just didn't turn up as much until i added an
optimization. this is that fix backported manually

@fix
2019-08-26 20:55:07 +01:00
Carsten Haitzler de3f8f330f edje signal matches - try number 3 to try plug all the holes
i found some more cases where the hash may change, so del and add from
the hash when this happens...

and... i found a nasty. _edje_signal_match_key_cmp compared pointers
like:

int return = ptr_a - ptr_b;

what happens if .... ptr_a and ptr_b are more than 2^31 (2gb) apart?
overflow (or underflow) and we return the wrong thing. i suspect this
is part of the problem and why my has remove/adds have not been
working because ... i suspect that maybe the hash dels have not been
finding things. i can't be sure right now, but it is an obvious
problem that i fixed by just doing if's and returning -1 or 1. also i
found a double-add or overwrite int he hash - when we shuffled with
_edje_signal_callback_move_last the matches CAN match exactly
something already in the hash thus adding it in will conflict with
what is already there as keys match. handle this cvase now and i have
seen segv's go away for now.

@fix
2019-08-23 19:37:42 +01:00
Carsten Haitzler d4a24546b0 edje signal - let's not crash if something odd happens
better we dont just crash but err log it which can be set to abort
anyway.

@fix
2019-08-23 19:37:42 +01:00
Mike Blumenkrantz 99effcc554 release: Update NEWS and bump version for 1.22.3 release 2019-08-23 11:49:16 -04:00
Cedric BAIL 6ef3e8ed00 ecore: do not rely on implicit rules for memory lifecycle during test.
Summary:
alloca force the memory to be accessible for the entire duration of the
scope of the function it is called from. This will garantee that the
memory pointer are not recycled under our feet before we check them.

T8020

Reviewers: zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8020

Differential Revision: https://phab.enlightenment.org/D9127
2019-08-23 11:48:27 -04:00
Carsten Haitzler c57b5e2d7b emotion - webcam fix deletion of webcam still left in webcam list
we may destroy webcams but leave them in the list. this fixes that by
removing them from our global list when we do unref to 0.

@fix
2019-08-22 19:56:33 +01:00
Carsten Haitzler c348e7779c edje - signal callback matches/patterns try fix number 2
so i think there was also another bug as i saw this again now. this
should hopefully plug the signal/mtach memory bugs now by removing
and adding back to hash as the hash key relies on the memory addresses
of signal/src in the matches array which change on realloc. a bit
brute-forceey but... better than crashes.

@fix
2019-08-22 19:56:16 +01:00
Carsten Haitzler 0d27de4022 edje signal matches/patterns - handle re/alloc errors and missing ptrs
also a general cleanup of the code to make it easier to follow/read as
this seems to have problems but i cant reproduce them enough to find
them. i noted a realloc would have invalidated pre-stored pattern
ptrs that would cause segv's for sure. also code paths where reallocs may
fail and not handling those cases at all etc.

@fix
2019-08-22 19:56:00 +01:00
Carsten Haitzler 7ea776af20 eina file refs in edje/evas - audit them and plug holes where refs stay
in 1 situation at least we delete the eina file (close it) but keep
the ptr around (during destruction) which could cause issues with
callbaks and events on del and so on.... which may lead to multiple
closes where only one should happen ... which would explain my invalid
eina file ref problems i'm seeing. i carefully matched eina file
handle stores/opens/dups to closes in edje/evas and they seemed to all
match up so this audit with comments and fixes seems to have plugged
that now.

@fix
2019-08-21 19:57:43 +01:00
Carsten Haitzler 4b6fe57ade evas - font rendering - dont crash if we have color fonts and gl and sw
so if you use sw and gl enignes in a process and have color font
glyphs.. *BOOM* because the color glyph code used ext dat that was
intended for engines to extend with a gotcha of "only 1 engine can
extend this"... commented already.

so this unfortunately adds an extra ptr per glyph to store color data
explicitly. but now it both renders right and doesn't crash. we still
have a limit of 1 engine alone can extend glyphs with ext_dat though.

@fix
2019-08-21 19:51:10 +01:00
Carsten Haitzler fa40e25a02 elm theme - handle error cases and eina file handles properly
@fix
2019-08-21 19:51:02 +01:00
Carsten Haitzler bc90cbfdff edje - handle errors and eina file handles and vpath properly
@fix
2019-08-21 19:50:55 +01:00
Carsten Haitzler 92dbf3dc83 elm slider - delete timers on destruction that should be deleted
also use safe free to set to null
2019-08-21 19:49:56 +01:00
Carsten Haitzler 19e971d9c8 evas - loader - rsvg generic - install svg symlink
svg loading broke as we didnt have the right symlink installed after a
binary file name change. this fixes that.
2019-08-21 19:47:30 +01:00
Carsten Haitzler 06c070102e elm hoversel - avoid crash when items modified while popping down
this fixes a crash i saw with asan on pop down if items change at that
time. @fix
2019-08-21 19:47:18 +01:00
Carsten Haitzler e8abe97161 ethumb - fix short alloc on stack not including nul char space
fix space for nul byte with alloca.
2019-08-21 19:47:00 +01:00
Carsten Haitzler eace1d1d5f elm - dnd - fix drop target del to not nuke handler all the time
this broke dnd if u have multiple drop targets in a window... keep the
functions there if we still have drop targets... especially in x11.

@fix
2019-08-21 19:46:47 +01:00
Carsten Haitzler 3716cfe1a2 elm entry - respect plain text newlines on paste again...
make this work like it used to... fixes T8135
2019-08-21 19:46:37 +01:00
Carsten Haitzler 8066c82b65 eina file - don't double unlock a lock
thanks to coverity - found this double unlock path in case of error.

fix CID 1403899
2019-08-21 19:45:07 +01:00
Carsten Haitzler 64b18d5152 efl thread - use pipe array names consistently to avoid err handling bug
in the case pipes fail to create we'll close the wrong ones... this
fixes that. it also happens because i didn't use names consistently.
now it does so it's easier to keep right.

thanks coverity.

fix CID 1396994
2019-08-21 19:44:44 +01:00
Carsten Haitzler d0d883b1c9 efl thread - fic pipe close to not close invalid pipe fds
if we only have stdout and no stdin we'd accidentally close junk int's
on the stack. fix this fix CID 1396963
2019-08-21 19:44:27 +01:00
Carsten Haitzler 4fb161ee1a eldbus - fix leak of message in error path case
fix CID 1402657
2019-08-21 19:44:04 +01:00
Carsten Haitzler d60dc2de5b elm toolbar - fix backport to use older apis 2019-08-10 20:19:19 +01:00
Carsten Haitzler bbca7d549b ecore evas drm - fix code that forgets to del an fd handler
also.. note the badness of the code design mixing a global singleton
with a "per struct" set of data like fd handlers for the same devices
initted only once but... anyway. it's messy.
2019-08-07 18:15:44 +01:00
Carsten Haitzler c7c7ab66bc evas - gl_drm - delete old surfaces before creating new ones
we shouldnt go have multiple drm window surfaces per drm surface...
this is bad.

@fix
2019-08-07 16:18:46 +01:00
Carsten Haitzler 0e7a833fc3 elm toolbar - fix toolbar item separators and refactor aling/fill of item
only set this is one place and thus get it consistent/right for
separators vs other items.

@fix
2019-08-02 17:21:36 +01:00
Carsten Haitzler cebc81b5c9 elm toolbar - fix packing options at start to avoid visual layout bugs
i spoetted open moving around and shrinking when it shouldnt -
packging options (fill/align) not always set right. this fixes that.

@fix
2019-08-02 15:52:07 +01:00
Carsten Haitzler 0af9c345cc evas events - fix segv if pointer data is freed by cb
callback can free what is in context. avoid that problem

@fix
2019-07-31 14:06:32 +01:00
Carsten Haitzler 8dba566c4b ecore wl2 - fall back to shm if dmabuf fails in buf init
so even if shm was an allowed mode/flag, we never fell back to shm if
dmabufs were not possible (/dev/dri/renderD128  didn't exist or wansn't
open-able). that's decidedly a bad thing to do.

@fix
2019-07-22 00:38:30 +01:00
Carsten Haitzler 454b1f4dd6 edje - double make sure edje messages are zero'd due to a segv i saw
i saw a segv on freeing em->msg as it was a junk ptr... i dont know
for sure it msg was properly initted but as em is recycled from trash
be sure and zero it when digging out of trash because em->msg was not
a valid ptr (and i wasnt using valgrind at the time to know for sure
and cant find this with valgrind now).

@fix
2019-07-09 16:05:02 +01:00
Carsten Haitzler fdf8744f46 elm - cursor - clear cursor job late to avoid crash
during cursor free a move cb seems to add another job again after it
wss already deleted during the free process, so just clear the job
really late instead. valgrind found this one

@fix
2019-07-09 13:05:31 +01:00
Alastair Poole 3eae49cde2 build: Fix build on OpenBSD.
These fixes are already in master. Backporting.
2019-06-23 11:48:26 +01:00
Carsten Haitzler 384ee8d2b6 ecore_x - restore move event skipper that was removed long ago
so i've been wondering what is going on for a few days... and i've
figured it out finally... my mouse seems ot like to generate 1000
events per second. not your usual 100 or 200. it only happened on this
one machine so i was wondering what on earth was up. this machine was
different in other ways like an arm cpu, differing gpu (rx550),
different distro and so on. this is creating a storm of motion events..
and this is causing all sorts of overhead in just trying to deal with
them all like generate more internal events, emit signals for every
one of them and so on. there is no attempt to play catch-up or
anything - just build up a bigger and bigger queue of them to deal
with. this is NOT GOOD. this restores our old commented out event
skipper that got commented out during some xcb work actually -
not on its own. it was a huge xcb patch that commented it out.

this restores it and makes it a little cleaner with a bool and now the
perf issues i was seeing are gone. this is such a major performance
fix that this deserves a backport.

@fix @optimize
2019-06-18 11:27:27 +01:00
Carsten Haitzler 85491a6847 evas optimization - fix the "start in list middle" case
i missed 1 rare case where we start in the middle of the list and have
to walk to the end. testing didnt show it up. fix. this fixes up that
case in b5ed76ba9f
2019-06-15 09:39:49 +01:00
Carsten Haitzler 6c1f97169f evas - pointer in get - dont On walk inlist but O1 jump to last
to walk inreverse we need to jump to last first then walk backwards...
what we were doing is calling eina_inlist_last() which  is defined to
walk rather than that using list->last ... this totally got rid of
_evas_event_object_list_raw_in_get() from my perf list ... and i was
wondering how it got there to start with.

this is such an obvious optimization...
2019-06-15 09:21:36 +01:00
Carsten Haitzler e7153940f4 edje messages - use trash to keep message structs around for a short time
more optimizations for edje messages to avoid excess alloc and frees
if we have some trash around... since messages already have list
nodes, re-use the main list node for storing trash and not eina trash
as this avoids extra allocs for trash nodes.
2019-06-15 08:47:34 +01:00
Carsten Haitzler fde832343d edje messages - on del use the per edje message list not global
this massively cuts the walk to remove messages to only what's needed
on teardown ... so yay! speedup.
2019-06-15 08:47:28 +01:00
Carsten Haitzler c922cdc145 edje messages - avoid nasty On2 walk of message lists with skipping
so to process a single obj we added a lot of mesgs to the message
queueue only then to wak most and SKIP most msgs again and again -
when this adds up to 1000's of messages and 10k+ then literally moving
a window in e hangs for multiple seconds and we walk such lists in On2
like complexity. this gets it down to O(1) along with some other minor
optimizations of not adding to tmp list only then to add them to the
nex queue/list.

there is more i can optimize here as well now we track messages for an
edje in th edje. that's next.
2019-06-15 08:47:20 +01:00
Carsten Haitzler 4aed68ee3f edje messages - track all messages for an edge obj in the edje
this is the basis for some future speedups to avoid full message queue
walks - get this right first.
2019-06-15 08:47:11 +01:00