Commit Graph

7058 Commits

Author SHA1 Message Date
Jean-Philippe Andre 8937fd4fc9 Evas render: Fix rendering of snapshot objects
I added a quick check that the clip was not 0x0 but forgot
to check that we actually use the clip info.

Fixes T2792
2015-10-23 16:30:37 +09:00
Cedric BAIL 7f28b3c263 efl: fix path parsing to actually check the value returned by strtol.
CID1328665
2015-10-22 16:57:24 -07:00
Cedric BAIL 573438d081 emile: fix typos catched by coverity.
CID1328666
2015-10-22 16:56:39 -07:00
Shinwoo Kim 7a046b0c36 ecore: use recursive lock for _ecore_glib_select
Summary: Fix a deadlock caused by recursive call of _ecore_glib_select.

Test Plan:
Delete elm_image on the glib callback(ref: g_source_set_callback).
The _elm_image_evas_object_smart_del calls ecore_thread_wait.

Reviewers: raster, jpeg, woohyun, jaehwan, Hermet, seoz, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-22 12:28:53 -07:00
Srivardhan Hebbar 71e68dcca6 eet: handling memory leak on realloc fail.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-22 12:25:39 -07:00
Srivardhan Hebbar 444a0b11bc emile: handling memory leak on realloc.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-22 12:20:55 -07:00
Vivek Ellur 00e96a730b evil: fix memory leak issue in evil module
Summary:
@Fix

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-22 12:15:34 -07:00
Cedric BAIL 508143efba emile: prevent segv when rotation is asked and there is no opts provided.
Thanks Vivek for pointing the problem.

@fix
2015-10-22 11:31:06 -07:00
Jihoon Kim b40f170b24 Ecore evas: Correct function name in magic failure of ecore_evas_rotation_with_resize_set () 2015-10-22 14:23:43 +09:00
Jaehwan Kim 21dc4443a5 Revert "edje: add edje signal emit about swallow, text"
This reverts commit b1fa1c5aad.
This feature will be commited to the next version.
2015-10-22 09:40:19 +09:00
Carsten Haitzler 29884844d4 efl eo - pass test suite function overrides again after adding cache
removing the klass member meant removing hooks and keeping cache small
but that meant not using it. this meand if the object is not an obj...
i removed the:

call->obj = _eo_class_id_get(call->klass);

line - seemed harmless/pointless. apparently not. so put it back but
use the klass there in local vars and not in call as it's not there
(and not needed).

fix.
2015-10-22 09:35:11 +09:00
Srivardhan Hebbar 30ad41cf99 ecore_x: remove useless assignment.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-21 14:01:41 -07:00
Srivardhan Hebbar 80ccf755a6 eet: handling memory leak on realloc fail.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-21 13:51:34 -07:00
Srivardhan Hebbar be464e5843 evas: handling memory leak on realloc failure.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-21 13:40:01 -07:00
Cedric BAIL c6c84ffa6f efl: fix copy & paste typo while parsing SVG elliptical arc command.
@fix

CID 1328426
2015-10-21 11:33:40 -07:00
Carsten Haitzler 8b48906401 eo - oops remove warning cpp i accidentally put in! 2015-10-21 22:27:06 +09:00
Carsten Haitzler 9ef9f2deb8 eo resolv cache - remove params passed to resolv func for efficiency
we pass both the callcache and the op id - both are static and filled
in at runtime, so merge them into the same struct. this should lead to
better alignment/padding with the offset array and the next slot and
op fields, probably saving about 4-8 bytes of rame per method with no
downsides. also pass in only cache ptr, not both cache ptr and opid -
less passing of stuff around and should be better.
2015-10-21 22:23:18 +09:00
Jaehwan Kim b1fa1c5aad edje: add edje signal emit about swallow, text
Add the edje signal "swallow", "unswallow", "text,set", "text,unset".
In edc file, the part name take a role of source.
If the layout should be changed when any object is swallowed or any
text is set, use this signal.

@feature
2015-10-21 21:57:04 +09:00
Stefan Schmidt ec4dbd88a6 ephysics: add missing break in switch to avoid override variable with other cases
Due to the missing break we would fall into the next case here which might lead
to variables overridden with wrong values.

CID: 1261441, 1261440, 1261438
2015-10-21 14:37:18 +02:00
Stefan Schmidt 10c8650b1e emile: remove dead code
This seems to come from some intention to fetch dh from openssl somewhow but
it was never implemented. fh always stays 0 since its init and thus we can
remove the code it guards.

CID: 1288930
2015-10-21 14:37:18 +02:00
Carsten Haitzler bfb2759891 eo - shut clang up because otherwise i have to argue with peolpe
so. clang is wrong. end of story. it complains that i should add
braces to:

static Eo_Call_Cache ___callcache = { 0 };

WRONG. that is correct c99. 100%. you can add more {}'s and init every
field separately like {{0},{0},{0}} etc. or make it 1 or any value -
it doesn't matter... clang complains. clang is wrong. plain and
simple. this warning should just never exist. it is pointless.

but... peolpe won't shut up about clang warnings until i "fool" clang
into being silent by assuming the default 0 value of static storage.

this silences clang
2015-10-21 21:01:59 +09:00
Carsten Haitzler 7cc41473a3 efl - eo - massively improve eo cal resolv and data scope get with cache
BEWARE! this breaks eo ABI. _eo_call_resolve and _eo_data_scope_get
are 2 of the biggest cpu users in eo. they easily consume like 10-15%
cpu between them on tests that drive a lot of api - like simply
scrolling a genlist around. this is a lot of overhead for efl. this
fixes that to make them far leaner. In fact this got an overall 10%
cpu usage drop and that includes all of the actual rendering, and code
work, so this would drop the eo overhead of these functions incredibly
low. using this much cpu just on doing call marshalling is a bug and
thus - this is a fix, but ... with an abi break to boot. more abi
breaks may happen before release to try and get them all in this
release so we don't have to do them again later.

note i actually tested 4, 3, 2, and 1 cache slots, and 1 was the
fastest. 2 was very close behind and then it got worse. all were
better than with no cache though.

benchmark test method:

export ELM_ENGINE=gl
export ELM_TEST_AUTOBOUNCE=1

while [ 1 ]; do sync; sync; sync; time elementary_test -to genlist;
sleep 1; done

take the 2nd to the 8th results (7 runs) and total up system and user
time. copmpare this to the same without the cache. with the cache cpu
time used is 90.3% of the cpu time used without - thus a win. at least
in my tests.

@fix
2015-10-21 20:16:06 +09:00
Carsten Haitzler b7d2f4f814 efl - edje - fix edje calc to avoid eo calls when object doesnt change
in many cases edje dumbly calls eo_do() or evas_object_xxxx on objects
to set up their porperties when the part never uses that thing at al -
eg filters. the obnject never had filters and will not have them n3ext
- why always set filter to null every time? skip when not needed for
speedups.

so this fixes over-zealous calling whihc adds overhead that is not
needed causing battery drain and cpu usage, heat creation etc. etc.

@fix
2015-10-21 20:16:06 +09:00
Subhransu Mohanty 84b6b4c040 efl/gfx: fix svg path parsing logic.
1. according to svg path specification, path string may or may not contain ',' as the separator
with current parsing logic we were expecting a ',' after each segment.
2. relative cubic bezier parsing was wrong as we were not adding the current value to all 4 points.
3. refactored the parse_pair, parse_six and parse_quad to use same helper function
path1: "M7.279,2h35.442C45.637,2,48,4.359,48,7.271v35.455C48,45.639,45.637,48,42.723,48H7.279C4.362,47.997,2,45.639,2,42.727V7.271C2,4.359,4.362,2,7.279,2z"
path2: "M-2.073-7h36.147C36.796-7,39-4.793,39-2.073v36.146C39,36.796,36.796,39,34.074,39H-2.073C-4.793,39-7,36.796-7,34.072V-2.073C-7-4.793-4.793-7-2.073-7z"

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-20 15:22:31 -07:00
Mike Blumenkrantz fe10889ec7 ecore-wayland: plug some trivial leaks 2015-10-20 17:51:44 -04:00
Srivardhan Hebbar f4bd830e22 ector: handling memory leak on error.
Summary:
Memory leak was caused by using the USE macro. So move the macro before
doing any allocation.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-20 14:01:15 -07:00
Srivardhan Hebbar a3ff6aff61 ecore_x: removing useless assignment variable.
Summary:
Assigning to NULL has no effect in the function calling this. So changed it to void.
Some compiler complain about this kind of construct. It is better to use the (void)
construct for silencing unused parameter with different kind of configure option.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-20 14:01:15 -07:00
Subodh Kumar 6bd863cf4f evas: fix memory leak.
Summary:
Fix memory leak

Delimiter string is being saved using
eina_stringshare_replace without any del or free
when object is deleted.

@fix

Test Plan: NA

Reviewers: cedric, tasn, herdsman

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-20 14:01:15 -07:00
Chidambar Zinnoury 9d3bc82d08 ecore fb: Unbreak ecore_evas_fb.
The ecore_evas_fb module uses ecore_fb_ts_* functions which are only available to EFL internals and not for the general API.

 However, EAPI not being defined in ecore_fb_private.h made the symbols not being exported at all, which in return made execution-time linking not finding them and thus failing.
2015-10-20 18:58:18 +02:00
Chidambar Zinnoury 90aa3b13ed ecore fb: We shall look for the Ecore_Fb.h header only where needed. 2015-10-20 18:56:47 +02:00
Carsten Haitzler e5e6c6b8eb edje - fix some horrible misleading indenting in edje calc.
just whitespace fixups
2015-10-20 18:07:21 +09:00
Vincent Torri 5a3fb40b4c ecore_exe: terminate threads also in destructor
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 14:48:49 -07:00
Mike Blumenkrantz 89245476c0 ecore-wayland: only do deferred shell surface creation when a surface exists 2015-10-19 16:20:45 -04:00
Mike Blumenkrantz 265ad8b5d0 ecore-wayland: defer shell surface creation for windows if shell is not bound
in the case where a surface is created before the compositor binds its shell(s),
a shell surface would never be created

fixes case where internal windows would not create frames in enlightenment

@fix
2015-10-19 16:15:46 -04:00
Subodh Kumar 69c2b13474 evas textblock: fix memory leak
Summary:
Fix memory leak

Delimiter string is being saved using
eina_stringshare_replace without any del or free
when object is deleted.

@fix

Test Plan: N/A

Reviewers: tasn, herdsman

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:34:41 -07:00
Srivardhan Hebbar e2167fe2a0 ecore_x: removing useless assignment.
Summary:
The assigned value has no effect outside the function. So removing it.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:24:52 -07:00
Srivardhan Hebbar c406cf79e1 ecore_x: handling realloc failure.
Summary:
If realloc fails, lst would be NULL. So handling it.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:23:33 -07:00
Srivardhan Hebbar d541d9281e ector: removing useless assignement.
Summary:
Null assignment has no effect in the caller function. So removed it.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:17:25 -07:00
Shilpa Singh 924953591d edje: comparision with non-scaled min values issue fix.
Summary:
In a different scaling environment, wrong comparison of min values causes resize issue as original size is compared instead of scaled size.

Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>
Signed-off-by: Subodh Kumar <s7158.kumar@samsung.com>

@fix

Test Plan:
Create a layout with some min size and swallow a resizable layout inside the layout.
the parent layout will not expand even when the height has crossed its min size.

Reviewers: cedric, tasn, raster

Subscribers: subodh6129

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:12:26 -07:00
Srivardhan Hebbar 0054ea9514 edje: fix memory leak on realloc.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:10:15 -07:00
Jee-Yong Um 49028c599a evas table: fix miscalcuation in cells with span and padding
Summary:
In evas table that homogeneous mode is turned off,
the size of items in cells, whose rowspan or colspan is larger than 1
and horizontal or vertical padding exists, are miscalculatd.

T2655

@fix

Test Plan: elementary_test "Table Padding"

Reviewers: Hermet, cedric

Subscribers: cedric, DaveMDS, Hermet

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:01:23 -07:00
perepelits.m 2d52eedf06 evas: fix memory leak
Summary:
Fix of memory leak in evas_3d_utils.c

@fix

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 11:00:25 -07:00
Daniel Kolesa a3cec656c8 elua: remove non-portable lconv fields (breaks windows) 2015-10-19 11:52:03 +01:00
Carsten Haitzler 94ebd96df5 eo - another 1.5 percent speedup in eo_bench eo_do by removing err handl
so we do a bit of error handling like does a stack fail to allocate,
does setting the tls var fail, have the stack frames been nulled or
not allocated, etc. - these acutally cost every call because they mean
some extra compare and branches, but ore because they cause a lot fo
extra code to be generated, thus polluting instruction cache with code
and cacheline fetches of code that we rarely take - if ever.

every if () and DBG, ERR etc. does cost something. in really hotpath
code like this, i think it's best we realize that these checks will
basically never be triggered, because if a stack fails to grow... we
likely alreayd blew our REAL stack for the C/C++ side and that can't
allocate anymore and has already just crashed (no magic message there -
just segv). so in this case i think this checking is pointless and
just costs us rather than gets us anything.
2015-10-17 11:42:46 +09:00
Carsten Haitzler 1a135fdfb1 evas - clean if check to be a single return point for clarity
if (a) return;
if (b) return;

->

if ((a) || (b)) return;
2015-10-17 11:19:06 +09:00
Mike Blumenkrantz 5ad3c6358f Revert "ecore-wayland: Redo window animators to not use Custom source animators"
This reverts commit bd83d4c03a.

adding an animator (and then not managing its ticks) causes the animator
to fire constantly. in this case, it was causing 100% cpu usage and forcing a
compositor re-render for every frame regardless of damages
2015-10-16 15:55:40 -04:00
Tom Hacohen 07ea62419a Eo do: Reuse stack fetching across eo functions.
This causes a significant speed up (around 10% here) and is definitely
worth it. The way it's done lets the compiler cache the value across
different eo_do calls, and across the parts of eo_do. Start and end.

This breaks ABI.
2015-10-16 16:38:46 +01:00
Tom Hacohen 3ee44dcef0 Eo do: optimise getting the thread call stack for the main loop thread.
This may look like an insignificant change, but it doubles the speed of
this function, and since this function is called so often, it actually
improves my benchmarks by around 8%.
2015-10-16 16:38:44 +01:00
Tom Hacohen b61556aa87 Eo: Move mainloop checks inside Eo.
This breaks ABI in a harmless way, and it will give us the ability to
drastically improve Eo in the future without breaking ABI again, thus
allowing us to declare Eo stable for this release if we choose to.
2015-10-16 14:53:22 +01:00
Tom Hacohen 8e2e7bd61e Eo events: Add a struct member marking if it's a legacy event or not.
My previous patch to this piece of code
(37f84b7e96), caused a significant
performance regression. This is such a hot path, that even accessing the
strings when we don't have to slows things down drastically. It makes
more sense to just store it in the structure.

This commit breaks ABI (though most people probably won't even need to
recompile anything else because of the memory layout).
It was discussed on IRC and was decided this is a big enough issue to
warrant a fix during the freeze.

@fix
2015-10-16 11:55:07 +01:00