Commit Graph

62107 Commits

Author SHA1 Message Date
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
Carsten Haitzler c4cec763a7 edje messages - make it use inlist to fragment ram less
using regular lists means we double our indirect ptr jumps and
fragment ram more - this is step one in improving performance of
message handling in some nasty corner cases i have found. first this
so it can be identified as an issue on its own if it is one. i've
tested it and it seems ok. so this si stage 1.
2019-06-15 08:46:34 +01:00
Carsten Haitzler f3606bdafc efl sel manager - flush wl conenction in cnp to avoid hangs...
we don't force buffers to flush in wl... this will fix that and force
them removing an ugly hang for possibly seconds in cnp from client to
client or even within a client.

remember:

flush your mush.

@fix
2019-06-11 18:40:47 +01:00
Marcel Hollerbach 59384283bb edje_cc: protect array lookup
it seems with those two actions here in the commit, do use id in a
different way the other actions do. This is commit protects against
this.

Differential Revision: https://phab.enlightenment.org/D9078
2019-06-09 20:30:29 +02:00
Alastair Poole 6818565e9b edje_cc_out: Exit instead of segfault on OpenBSD.
Until the cause of these issues can be found exit and
print error messages to console. edje_cc is currently
not reliable on OpenBSD. Until then anyone wanting to
use EFL on this platform will need pre-compiled .edj
files.
Differential Revision: https://phab.enlightenment.org/D9077
2019-06-09 20:30:29 +02:00
Godly T.Alias ad78f2ccf4 Genlist: Fix for genlist item field update
Summary: Avoid unnecessary operations on unrealized item when item field update is called

Test Plan: Call item_field_update on an unrealized item

Reviewers: cedric, raster, SanghyeonLee

Reviewed By: SanghyeonLee

Subscribers: #reviewers, rajeev.jnnce, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9019
2019-05-30 10:26:18 -04:00
Mike Blumenkrantz 57dc7cec55 tests/elm_focus: explicitly set widgets to expand+fill in test
Summary:
some widgets do not create a minimum size for themselves, resulting in
a 0x0 layout which can affect tests that rely on object visibility to
succeed without errors
Depends on D9007

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9008
2019-05-30 10:25:31 -04:00
Mike Blumenkrantz 45ce932593 tests/genlist: fix some shadowed variable warnings
Summary: Depends on D9006

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9007
2019-05-30 10:25:27 -04:00
Mike Blumenkrantz 79cad62203 tests/elm: explicitly denote cases where error messages are intentional
Summary:
we want to make it clear in our tests where it is intended that warnings
and errors may occur
Depends on D9005

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9006
2019-05-30 10:25:23 -04:00
Mike Blumenkrantz 35f3983677 ecore-imf/xim: only call ecore_x_shutdown if init was previously called
Summary:
this isn't a perfect fix, but it's probably the best that can be done
given the current ecore-imf module api which calls the exit() module
function unconditionally during module cleanup even if the module was
never initialized

@fix
Depends on D9003

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9005
2019-05-30 10:25:14 -04:00
Mike Blumenkrantz d8debc88f5 emotion: don't update crop clipper geometry if crop clipper doesn't exist
Summary:
this object does not exist if no image border is set

@fix
Depends on D9002

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9003
2019-05-30 10:25:12 -04:00
Mike Blumenkrantz 625c2a0227 elm_widget_item_static_focus: check for adapter existence in unrealize cb
Summary:
adapter can be null if it was previously destroyed

@fix

Depends on D9001

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9002
2019-05-30 10:25:09 -04:00
Mike Blumenkrantz 835058e688 elm/scroller: return immediately from updating focused scroll region without content
Summary:
there is nothing to update here if the scroller has no content to update

@fix
Depends on D9000

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9001
2019-05-30 10:25:06 -04:00
Mike Blumenkrantz bde555d622 elm/map: move setting initial zoom to later in construction
Summary:
this ensures that all necessary objects exist in order to successfully
perform the zoom

@fix
Depends on D8999

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9000
2019-05-30 10:25:01 -04:00
Mike Blumenkrantz cd06f3d7c2 elm/list: return early from min_limit_cb if list object is dead
Summary:
no further recalculating should be done on dead objects

@fix
Depends on D8998

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8999
2019-05-30 10:24:57 -04:00
Mike Blumenkrantz d9f7972035 elm/interface_scrollable: return immediately from setting region if no content
Summary:
this is a valid case and should be handled without erroring

@fix
Depends on D8997

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8998
2019-05-30 10:24:55 -04:00
Mike Blumenkrantz 965256ef04 elm/index: create event_rect[0] earlier in construction
Summary:
this ensures that the object exists during init functions which make calls
on it

@fix
Depends on D8996

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8997
2019-05-30 10:24:53 -04:00
Mike Blumenkrantz e45b172beb elm/genlist: handle genlist finding of nearest visible item when not realized
Summary:
FIXME--

@fix
Depends on D8995

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8996
2019-05-30 10:24:50 -04:00
Mike Blumenkrantz e0001422f2 elm/genlist: handle cache item deletion without errors
Summary:
@fix
Depends on D8994

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8995
2019-05-30 10:24:45 -04:00
Mike Blumenkrantz 0646b9eaf7 elm/genlist: trigger unrealize event after unsetting unrealized flag
Summary:
this flag is accessed by other components (e.g., focus) during the event
and so it must reflect the emitted event

@fix
Depends on D8993

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8994
2019-05-30 10:24:43 -04:00
Mike Blumenkrantz 4661224554 elm/genlist: unify all creation of calc jobs, skip if genlist is dead
Summary:
there is no need to recalculate any genlist attributes if the genlist is
dead

@fix

Depends on D8992

Reviewers: cedric, bu5hm4n

Reviewed By: cedric, bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8993
2019-05-30 10:24:41 -04:00
Mike Blumenkrantz 188e2a141f elm/gen*: only call focus_object_setup_order_non_recursive if realized
Summary:
this function cannot process unrealized items

@fix
Depends on D8990

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8992
2019-05-30 10:24:37 -04:00
Mike Blumenkrantz 8849a0daee elm/gengrid: trigger unrealize event after unsetting unrealized flag
Summary:
this flag is accessed by other components (e.g., focus) during the event
and so it must reflect the emitted event

@fix
Depends on D8989

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8990
2019-05-30 10:24:34 -04:00