Sebastian Dransfeld [Sat, 7 Dec 2013 13:07:29 +0000 (14:07 +0100)]
eldbus: create object when needed
We allocate the strbuf at the beginning of the function, but do several
return checks after this which does not free the strbuf before return,
and we don't use the strbuf.
So create the strbuf object after checks, just before we need it.
Fixes CID 1039287
Sebastian Dransfeld [Sat, 7 Dec 2013 12:59:16 +0000 (13:59 +0100)]
eina: Set it to NULL before next iteration
it might have been free'd by the user, so set it to NULL before next
iteration. This is an attempt to fix CID 1039913 and 1039914.
We don't use the pointer value, only the pointer, so the error is wrong.
Could flag the error in coverity, but if this fixes it, we wont see the
error in other situations.
ChunEon Park [Sat, 7 Dec 2013 18:14:14 +0000 (03:14 +0900)]
Revert "evas/render - make sure render pre in proxy rendering."
This reverts commit
b113f555e0ea0b0261ad870fca35d427a415c20e.
found side effect... revert this code until fix them.
ChunEon Park [Sat, 7 Dec 2013 17:40:35 +0000 (02:40 +0900)]
evas/render - make sure render pre in proxy rendering.
if the some of children are the mapped object in source object tree as well as the the mappped object is invisible,
then they wont be render_pre() called.
this make sure those render_pre() in proxy rendering.
Boris Faure [Sat, 7 Dec 2013 16:25:27 +0000 (17:25 +0100)]
update .mailmap
Boris Faure [Sat, 7 Dec 2013 16:11:30 +0000 (17:11 +0100)]
update .mailmap
Stefan Schmidt [Fri, 6 Dec 2013 15:05:45 +0000 (16:05 +0100)]
configure: Switch back to dev profile in master branch.
This also enables v_rev again. Thanks to Doug for pointing it out.
Carsten Haitzler (Rasterman) [Fri, 6 Dec 2013 00:07:44 +0000 (09:07 +0900)]
evas - silence coverty (false positive leak)
the hash can't leak where coverty thinks... because the hash find can
never work ... because the hash is empty.
Carsten Haitzler (Rasterman) [Fri, 6 Dec 2013 00:02:18 +0000 (09:02 +0900)]
doc build - finally fix images.mk to stop changing order every make
sort changes output based on locale. even between C and en_US etc.
letalone all the other interesting ones. this causes the sorted order
to keep changing of the images. this forces locale to C to make it
always the same order.
Vostokov Sergey [Thu, 5 Dec 2013 12:05:44 +0000 (21:05 +0900)]
evas - Clip mark performance improvement
stable release - cherry-pick me!
We propose a patch that reduces graph traversal work in
evas_object_child_map_across_mark(). It fixes a few particular
slowdowns around Tizen applications, including 0.6 seconds slowdown.
evas_object_child_map_across_mark() does not seem to need to
recursively call itself on the same object many times. Yet we have
noticed that in some scenarios it repeatedly traverses the same
subtrees of objects over and over again, whenever there is more than
one way of reaching these subtrees. In the production issue mentioned
above, certain elm_object_part_content_set() call results in millions
of recursive calls of evas_object_child_map_across_mark(), taking
~0.6sec total.
We propose to allocate a hash table during top-level call to store all
objects visited, and return from sub-calls instantly whenever we are
called over an object we already visited.
Chris Michael [Thu, 5 Dec 2013 11:48:25 +0000 (11:48 +0000)]
Add code to deal with min, max, step, aspect, and base sizes.
Properly fix efl wayland elm window resize problem.
This adds support for min, max, step, aspect, and base size properties
when resizing a canvas under EFL Wayland.
This Also Properly fixes raster's report for EFL Wayland elm windows not
resizing properly. Previously, when resizing an elm window in wayland,
a portion of the window would draw outside the frame.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Thu, 5 Dec 2013 11:47:44 +0000 (11:47 +0000)]
Set engine aspect function pointer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Thu, 5 Dec 2013 11:47:12 +0000 (11:47 +0000)]
Add common function prototype for setting ecore_evas aspect ratio
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Sebastian Dransfeld [Thu, 5 Dec 2013 11:15:07 +0000 (12:15 +0100)]
efreet: propagate scan error to caller
Current code ignored return from recursive calls, so if cache_add failed
during recursion, the parent call would still succeed.
Carsten Haitzler (Rasterman) [Thu, 5 Dec 2013 11:02:39 +0000 (20:02 +0900)]
evas - fix overdraw + too many rects problem found in some expedite tests
stable release - cherry-pick me!
there way a problem with software rendering - it rendered some areas
more than once per frame due to overlapping rectangles. it also had
more rectangles to cover the same update area that it should have had.
this fixes this.
Carsten Haitzler (Rasterman) [Thu, 5 Dec 2013 08:41:48 +0000 (17:41 +0900)]
efreet - fix recusrion checks need to pop as well as push.
stable release - cherry-pick me!
this fixes a lack of popping the efret recursion stack handler. this
wasn't done in 1.8 and is a bug.
Stefan Schmidt [Thu, 5 Dec 2013 10:14:03 +0000 (11:14 +0100)]
configure: Bump version to 1.8.99 to indicate development cycle.
1.8.0 is out and we are in the dev cycle for 1.9 so indicate this with
the version 1.8.99 for builds from git master.
Cedric Bail [Thu, 5 Dec 2013 07:25:01 +0000 (16:25 +0900)]
eina: this is actually a better way of improving Eina_Hash performance.
This reduce the size of the rbtree part dedicated to the hash key match,
but reuse only bit that weren't matched by the bucket.
Jihoon Kim [Thu, 5 Dec 2013 07:06:39 +0000 (16:06 +0900)]
ximmodule: fix issue the cursor of preedit shows the in front of preedit string
Before fixing this issue, the cursor of preedit appears the in front of preedit string.
The cursor of preedit string will appear in the proper position.
Jihoon Kim [Thu, 5 Dec 2013 07:00:39 +0000 (16:00 +0900)]
ximimmodule: remove useless code in preedit_string_get
'cursor_pos' variable will be set in the below code, so 'cursor_pos = 0' is useless.
Chris Michael [Wed, 4 Dec 2013 11:30:36 +0000 (11:30 +0000)]
Fix raster bug report about elm window resize issue (content drawing
outside the window).
Be sure that the EEs requested geometry gets updated in our
common_resize function After min/max have been taken into account.
Elm is using ecore_evas_request_geometry_get in it's resize_job code
(Why...I have no clue lol. Does not seem like a good thing to check).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 4 Dec 2013 11:29:32 +0000 (11:29 +0000)]
Update the engine resize edge before we call ecore_wl_window_resize
Ecore_wl_window_resize essentially tells the shell to start the resize
process. We should have the evas engine info's resize_edge updated
Before we start that process so that Evas knows where the resize is
occuring from
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Carsten Haitzler (Rasterman) [Wed, 4 Dec 2013 11:22:26 +0000 (20:22 +0900)]
efreet - protect efreetd from recursing too far to save overhead and mem
an errant path made its way into my efreet cache. this had a
side-effect of causing efreetd to scan my entire $HOME recursively
to monitor everything. while the original cause was $HOME getting in,
we shouldn't have efreetd sit and consume scan all of $HOME when this
is far from a normal situation. the recursive scanning is there ot
handle some minimal levels of subdirs in app directories, but not an
entire filesystem, so this mitigates the effects of errant cache data
by limiting the amount of recursion allows for icon dirs and desktop
dirs to 8 and 3 levels respectively.
Carsten Haitzler (Rasterman) [Wed, 4 Dec 2013 11:20:20 +0000 (20:20 +0900)]
yet another useless images.mk change...
Daniel Juyung Seo [Wed, 4 Dec 2013 10:43:26 +0000 (19:43 +0900)]
ecore ecore_glib.c: fixed documentation about glib integration always configure option.
--enable-glib-integration-always was changed to --with-glib=always in efl 1.8.
Cedric Bail [Wed, 4 Dec 2013 10:05:03 +0000 (19:05 +0900)]
eina: improve cmp function of eina_hash string related hash.
For strings, we already know the length, so let's just not call the
heavy strcmp if the length is not already the same. Get some easy
speedup here.
Cedric Bail [Wed, 4 Dec 2013 10:04:24 +0000 (19:04 +0900)]
eina: fuzze test the eina_hash_string_superfast to.
Cedric Bail [Wed, 4 Dec 2013 09:32:29 +0000 (18:32 +0900)]
eina: ignore benchmark binary.
Cedric Bail [Wed, 4 Dec 2013 09:29:07 +0000 (18:29 +0900)]
eina: increase hash matching inside of Eina_Hash.
This is the correct implementation of the idea developped in Lucas De Marchi's blog :
http://www.politreco.com/2013/09/optimizing-hash-table-with-kmod-as-testbed/
This give an interesting +15% for all Eina_Hash user whatever hash function they use. The inlined
djb2 is still the fastest one and all other give very close result. It does increase memory foot
print, but as much as the previous way of doing it.
Cedric Bail [Wed, 4 Dec 2013 08:53:34 +0000 (17:53 +0900)]
Revert "eina: work around current strange behavior seen in eina_cow."
This reverts commit
e4107b2936e2a11e5966bbdc591f110156191af0.
Cedric Bail [Wed, 4 Dec 2013 08:53:28 +0000 (17:53 +0900)]
Revert "eina: more work around to limit problem."
This reverts commit
c5db264e0a98234d32553ec1b43e612e0da1eeb3.
Cedric Bail [Wed, 4 Dec 2013 08:24:30 +0000 (17:24 +0900)]
Revert "eina: check if the complete hash match before checking if the key match during children walk."
This reverts commit
295babadb1675d1160b18c639dd6dcbe20b02cfb.
The implementation of that said optimization is actually wrong.
Cedric Bail [Wed, 4 Dec 2013 08:21:47 +0000 (17:21 +0900)]
eina: add fuzzy test of eina_hash.
Cedric Bail [Wed, 4 Dec 2013 08:10:47 +0000 (17:10 +0900)]
evas: fix loader to properly define _XOPEN_SOURCE for Solaris.
Sebastian Dransfeld [Wed, 4 Dec 2013 08:03:56 +0000 (09:03 +0100)]
efreet: Create stack at start of recursion
No need to check for NULL stack, we know where we start our recursive
scan, so create the stack there.
Also fixes CID1132751 and CID1132752
Sebastian Dransfeld [Wed, 4 Dec 2013 07:36:46 +0000 (08:36 +0100)]
efreet: Create stack at start of recursion
No need to check for NULL stack, we know where we start our recursive
scan, so create the stack there.
Cedric Bail [Wed, 4 Dec 2013 07:31:49 +0000 (16:31 +0900)]
eina: more work around to limit problem.
Cedric Bail [Wed, 4 Dec 2013 06:36:17 +0000 (15:36 +0900)]
eina: work around current strange behavior seen in eina_cow.
This is not perfect, it will just limit the propagation of the problem
for some time. Yes, it does hide it under the carpet, but that's better
than having a crash. Problem seems to be in Eina_Hash, but is really
difficult to reproduce and fix for the moment.
Cedric Bail [Wed, 4 Dec 2013 06:20:17 +0000 (15:20 +0900)]
eina: add fuzzy testing of the red black tree.
ChunEon Park [Tue, 3 Dec 2013 16:04:21 +0000 (01:04 +0900)]
evas/event - fix the inccorect event hit area.
cedriccccccccccccccccccccccccccc!!!!!!!!!!!!!!!!!!
Cedric Bail [Tue, 3 Dec 2013 07:23:05 +0000 (16:23 +0900)]
evas: bugfix in evas_render of not maintaining changed flags on object correctly.
This bug is particularly visible in EFM video preview ( T 539 ). The problem is
that the logic for changed has evolved over time. At the beginning Evas canvas
was flat and could be handle in an array. It was then not using the changed flag
that much. This day, we are living with a tree and we need to propagate the
changed flag to the parent, so that when we walk them we only need to walk the
active objects and don't spend our time on branch that are completely static.
Sadly things did collide here. We remove all object that have been rendered
from the pending_objects array. That does include any smart object that was
processed even if one of the child was not. Once any of the child of that not
processed object is marked changed, it will be propagated up to the first
parent that is changed. As the parent of that one are marked as not changed
when evas_render walk the tree, he is blocked really early in the process and
never get a chance to detect that the child of a not changed object did change
and tada !
The fix is to add all the parent of all the object that are in the pending_objects
array back into the pending_objects list. So they will always be marked as changed.
Another alternative to this logic would have been to change pending_change to
filter out those and keep them around. I choose the first solution as I think it
will be more robust to catch all the parent in all case.
Cedric Bail [Tue, 3 Dec 2013 02:48:48 +0000 (11:48 +0900)]
gitignore: ignore new async test.
Jihoon Kim [Tue, 3 Dec 2013 04:32:15 +0000 (13:32 +0900)]
ximmodule: check whether pointer is NULL before accessing in xim_preedit_callback_set
ecore_imf_context_data_get () can return NULL, so it should be checked before using the result value.
This fixes CID 1135273
Rafael Antognolli [Mon, 2 Dec 2013 20:05:05 +0000 (18:05 -0200)]
Merge branch 'withdrawn'
Implement withdrawn_set/unset on Wayland engines. It basically calls
ecore_evas_show/hide. Some fixes were done to show/hide on both EGL and
SHM backends too.
This set of patches should fix T155.
Rafael Antognolli [Mon, 2 Dec 2013 19:39:24 +0000 (17:39 -0200)]
ecore_evas/wayland: Add a function to cleanup the frame callback.
This callback must be manually destroyed and removed on
ecore_evas_hide(), because it won't be delivered anymore after the
surface is destroyed. If the callback still exists, the engine will find
it and avoid doing a new redraw until it is finally called.
Maybe the correct thing to do is to keep this callback in the
Ecore_Wl_Window struct, and have some functions to set/unset it, so it
gets destroyed when the window is hidden. Or when the surface is
destroyed.
Rafael Antognolli [Mon, 2 Dec 2013 19:42:37 +0000 (17:42 -0200)]
ecore_evas/wayland_egl: Unset the surface on window hide.
We must unset it, so the Evas engine knows that it has to do all the
setup to destroy the EGL surfaces associated with it. And in the case of
an ecore_evas_show, recreate everything again.
Rafael Antognolli [Sat, 30 Nov 2013 12:14:05 +0000 (10:14 -0200)]
ecore_evas/wayland: Implement ecore_evas_withdrawn_set.
Just call ecore_evas_show/hide inside the function.
Rafael Antognolli [Sat, 30 Nov 2013 12:09:38 +0000 (10:09 -0200)]
evas/wayland_shm: Don't use a global var to store the sent buffer.
When an Ecore_Evas is hidden, it will destroy the buffer swapper. When
it's shown again, it will try to attach a new buffer, that can be same
buffer. If that global var is still pointing to the old buffer, it can
match to it again and avoid sending a new buffer. So, just put this sent
buffer var in the buffer swapper, and it will get set to NULL when the
swapper is destroyed and created again.
This should fix an intermitent problem of ecore_evas_show() not always
working after an ecore_evas_hide() on the wayland_shm engine.
Seong-ho Cho [Mon, 2 Dec 2013 10:15:21 +0000 (19:15 +0900)]
Update Korean translation for the efl1.8 release
Summary: Translation patch for the efl 1.8. of course, existing one has no problem, but some of sentence structure is enhanced.
Reviewers: seoz
CC: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D360
Carsten Haitzler (Rasterman) [Mon, 2 Dec 2013 07:33:34 +0000 (16:33 +0900)]
NEON vectorization: added use of COLSAME define in map routine
Reviewers: raster
Reviewed By: raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D341
Daniel Juyung Seo [Mon, 2 Dec 2013 07:02:23 +0000 (16:02 +0900)]
Revert "fix smart sma by allowing more recursion"
This reverts commit
1319733caeb811cd0d53b589b8a11f4229455ed3.
Let's revert this patch and lower the recursion number.
As we released efl 1.8, let's find the root causes of the problem and fix them.
I already told this revert to raster so I am not mean :)
Otavio Pontes [Mon, 2 Dec 2013 05:59:43 +0000 (14:59 +0900)]
Adding the cubic-bezier curve to edje transitions
Summary: Adding an option to use a cubic-bezier curve in edje transitions.
Reviewers: Sachiel, cedric, raster
Reviewed By: raster
CC: raster
Differential Revision: https://phab.enlightenment.org/D319
Carsten Haitzler (Rasterman) [Mon, 2 Dec 2013 05:57:07 +0000 (14:57 +0900)]
Eldbus: added function for getting bus unique name
Summary:
Hello guys,
We are now working on a accessibility support for elementary (ATSPI2) and we need following function to correctly register application.
Reviewers: cedric, raster, lucasdemarchi
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D327
Vyacheslav Reutskiy [Mon, 2 Dec 2013 05:54:28 +0000 (14:54 +0900)]
edje_edit: Add getters and setters for fixed param
Reviewers: cedric, seoz, raster
Reviewed By: raster
CC: cedric
Differential Revision: https://phab.enlightenment.org/D339
Carsten Haitzler (Rasterman) [Mon, 2 Dec 2013 03:28:12 +0000 (12:28 +0900)]
FUCK - remove logic to silently add -release names to libtool builds
sneaky hidden m4 rule to ADD -release to shared lib names IF profile
!= dev profile. come on! why do that? seriously. this snuck in and was
undetected because i recompiled things against efl and thus things
linked against the new releasename libs. this requires an efl 1.8.1.
argh!
Daniel Juyung Seo [Mon, 2 Dec 2013 03:40:56 +0000 (12:40 +0900)]
ecore ecore_x_e: check 0 and -1 for ecore_x_window_prop_card32_get() return value which mean fail.
- ecore_x_window_prop_card32_get() returns:
-1 if the property was not successfully fetched.
0 if the property exists but has no elements.
Daniel Juyung Seo [Mon, 2 Dec 2013 03:07:18 +0000 (12:07 +0900)]
NEWS: added EFL 1.9.0 NEWS entry.
Daniel Juyung Seo [Mon, 2 Dec 2013 03:07:04 +0000 (12:07 +0900)]
ChangeLog: added 1.8 release entry.
Jihoon Kim [Mon, 2 Dec 2013 00:40:48 +0000 (09:40 +0900)]
fix unchecked return value of stat in ecore_file_mv
stat() function may fail and return an error code
This fixes CID 1039697
Cedric Bail [Sun, 1 Dec 2013 11:55:54 +0000 (20:55 +0900)]
evil: use the right ifdef.
Carsten Haitzler (Rasterman) [Sun, 1 Dec 2013 10:04:31 +0000 (19:04 +0900)]
v1.8.0
Carsten Haitzler (Rasterman) [Sun, 1 Dec 2013 05:53:53 +0000 (14:53 +0900)]
readme - make requirements list a bullet list
Carsten Haitzler (Rasterman) [Sun, 1 Dec 2013 05:51:23 +0000 (14:51 +0900)]
add some README dependency notes
Carsten Haitzler (Rasterman) [Sun, 1 Dec 2013 04:52:53 +0000 (13:52 +0900)]
eina - fix set-but-unused warning in eina_cow when valgrind off
Carsten Haitzler (Rasterman) [Sun, 1 Dec 2013 04:50:54 +0000 (13:50 +0900)]
release work - switch to release profile
this now maxes out max log level to 3 (same as dev otherwise)
Carsten Haitzler (Rasterman) [Sun, 1 Dec 2013 04:26:04 +0000 (13:26 +0900)]
evas event freezing is "wrong" for core events - turn it off
this turns off event freezing for SOME event types for eveas canvas
events (was was intended to begin with). this fixes T577
Carsten Haitzler (Rasterman) [Sun, 1 Dec 2013 03:50:45 +0000 (12:50 +0900)]
evas - pre/post render events are for canvas not object
the eo event naming was wrong for pre/post render event callbacks.
they are for the canvas as a whole, not per object
Carsten Haitzler (Rasterman) [Sun, 1 Dec 2013 03:16:28 +0000 (12:16 +0900)]
fix freetype header includes to be correct where ft 2.5.1 breaks builds
this should fix T591
Boris Faure [Mon, 25 Nov 2013 22:33:51 +0000 (23:33 +0100)]
fix eina_cow issues. Closes T581, T527
Oleksandr Shcherbina [Fri, 29 Nov 2013 13:17:18 +0000 (22:17 +0900)]
ecore/ecore_file: NULL-check for input parameter
Add check by NULL for input parameter 'path' in method ecore_file_mkpath
Reviewers: seoz, Hermet
CC: cedric
Differential Revision: https://phab.enlightenment.org/D349
Sebastian Dransfeld [Fri, 29 Nov 2013 21:20:32 +0000 (22:20 +0100)]
eina: formatting
Sebastian Dransfeld [Fri, 29 Nov 2013 21:20:13 +0000 (22:20 +0100)]
efreet: add async menu test
Sebastian Dransfeld [Fri, 29 Nov 2013 21:18:51 +0000 (22:18 +0100)]
efreet: improve locking
Do find and ref inside lock, so no one can ref-- after we find desktop
Rafael Antognolli [Fri, 29 Nov 2013 20:03:25 +0000 (18:03 -0200)]
ecore/wayland: Use touch_focus for touch_based events.
Also call the mouse related events with BTN_LEFT instead of 0, otherwise
the correct button won't be assigned to the event (button 1).
Rafael Antognolli [Fri, 29 Nov 2013 18:04:18 +0000 (16:04 -0200)]
ecore/wayland: Send a mouse up event when the implicit grab starts.
The previous workaround used to send a mouse up event to the
application, using the pointer enter callback to determine when an
implicit grab has finished. This was "simulating" a mouse up event when
the surface move or resize finished.
However, this doesn't work for touch-based move. The pointer enter isn't
emitted, because the wl_touch interface doesn't have the concept of a
pointer.
Changing this code to make it more similar to what Weston's toytoolkit
does, the mouse up event is sent as soon as the move or resize grab
starts. After that, the compositor takes care of the move/resize almost
entirely.
Should fix T468.
Rafael Antognolli [Thu, 28 Nov 2013 19:53:42 +0000 (17:53 -0200)]
ecore/wayland: Get the touch up event position from the down_info.
down_info is a struct that stores some information about the current
pressed touch events. It should be used for that specific touch point,
instead of the generic input info, when sending a mouse_up event.
Rafael Antognolli [Fri, 29 Nov 2013 19:14:43 +0000 (17:14 -0200)]
ecore/wayland: Remove list of touch points from input structure.
We already have the "Ecore_Wl_Mouse_Down_Info" list, that contains this
information.
José Roberto de Souza [Fri, 29 Nov 2013 19:21:14 +0000 (17:21 -0200)]
eldbus: Fix crash caused when the object of an monitored proxy is deleted
This happen because proxy was already freed and we try print some information
about the proxy in error message.
This fix: https://phab.enlightenment.org/T543
José Roberto de Souza [Fri, 29 Nov 2013 18:39:10 +0000 (16:39 -0200)]
Revert "workaround for T543"
This reverts commit
b663b5b8c7232d38ba257f99490cfa22814d7970.
Carsten Haitzler (Rasterman) [Fri, 29 Nov 2013 15:16:17 +0000 (00:16 +0900)]
readme update - mention systemd / udev for eeze deps
Carsten Haitzler (Rasterman) [Fri, 29 Nov 2013 10:36:41 +0000 (19:36 +0900)]
v1.8.0-beta2
Chris Michael [Fri, 29 Nov 2013 10:35:46 +0000 (10:35 +0000)]
Fix some typos/grammar issues in new README
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Carsten Haitzler (Rasterman) [Fri, 29 Nov 2013 08:36:13 +0000 (17:36 +0900)]
update images.mk
Carsten Haitzler (Rasterman) [Fri, 29 Nov 2013 08:31:33 +0000 (17:31 +0900)]
readme - update readme for efl 1.8
lots of extra documentation and information now in the README
Stanislav Vorobiov [Thu, 28 Nov 2013 09:18:16 +0000 (18:18 +0900)]
evas - fix gl egl textrue from pixmap support y invert query extension
Instead of hardcoding yinvert=1 we should query for
EGL_NOK_texture_from_pixmap extension and if it's present
use EGL_Y_INVERTED_NOK value
Jean-Philippe Andre [Fri, 29 Nov 2013 02:45:19 +0000 (11:45 +0900)]
evas/cserve2: Fix interrupt on select in edje_cc
Summary:
Block SIGCHLD during select().
This fixes a bug with edje_cc when EVAS_CSERVE2=1: Fixes T464.
select() used to return prematurately with EINTR because the
app received some unexpected signals. In particular SIGCHLD
is received when a child terminates, but this is not a reason
to cancel the image load.
In theory, all blocked signals in pselect() should be pending
until pselect returns, so any SIGCHLD should still trigger
the app's signal handler.
Reviewers: cedric
CC: raster, cedric
Maniphest Tasks: T464
Differential Revision: https://phab.enlightenment.org/D357
Cedric Bail [Fri, 29 Nov 2013 06:32:27 +0000 (15:32 +0900)]
evas: roundup the step size of an array to fit in one page of memory.
This make an array stay in 4K instead of 20K before. It should reduce a little
bit our peak memory usage without slowing down things to much.
Cedric Bail [Fri, 29 Nov 2013 06:30:32 +0000 (15:30 +0900)]
eina: fix rounding logic to avoid making the array to short.
I have no idea how the previous formula was supposed to work at all, but
this one is the same as our alignof code to make sure we do allocate to
the really nearest size and don't do over allocation. Additionnaly it works.
Jihoon Kim [Fri, 29 Nov 2013 04:53:47 +0000 (13:53 +0900)]
ecore_evas: fix wrong check in _ecore_evas_buffer_msg_send
'if (!child_ee)' implies that "child_ee" is equal to NULL, but
child_ee is used in the nest of if statement.
This fixes CID 1039431
Jihoon Kim [Fri, 29 Nov 2013 02:35:44 +0000 (11:35 +0900)]
xim immodule: fix dereference before NULL check issue in client_window_set
The variable 'info' can be NULL, therefore it should be checked before accessing.
This fixes CID 1039640
Jihoon Kim [Fri, 29 Nov 2013 02:23:29 +0000 (11:23 +0900)]
ibusimmodule: check whether pointer is NULL or not before accessing.
The pointer variable str can be NULL, therefore we should check whether it is NULL or not
before accessing.
This fixes CID 1132621, 1132622, 1132623
Jerome Pinot [Thu, 28 Nov 2013 13:15:37 +0000 (22:15 +0900)]
doc: add missing images
The edje-nested.{png,eps} files were missing in the doc tree. I
regenerated them using the sample code from tutorial_edje_nested.html
ChunEon Park [Thu, 28 Nov 2013 12:24:11 +0000 (21:24 +0900)]
evas - code refactoring.
put the frequently used compare prior to the other.
Carsten Haitzler (Rasterman) [Thu, 28 Nov 2013 09:00:25 +0000 (18:00 +0900)]
fix eina_array_remove to actually realloc down in size to remove bloat
eina_array_remove() didnt ever realloc down unless we went to 0
members. this wasn't very good as you'd expect the array to be reduced
in size if enough items were removed. not only that the old code was
stupid and ALWAYS malloc()ed a new array of the exact same size and
copied items over in the most complex way possible, then freed the old
one. this would have added overhead wherever used (evas_render) that
should not have been there.
this is based on the idea in a patch from
Viacheslav Lvov <v.lvov@samsung.com>, but this is a re-do of it
entirely, reducing the codebase massively even compared to the patch
and making it much simpler to read, maintain, actually reduce memory
and cut overhead.
Cedric Bail [Thu, 28 Nov 2013 08:17:09 +0000 (17:17 +0900)]
ecore_ipc: prevent a double free.
According to clang static analyzer it is possible to find a path where
buf and svr->buf are pointing to the same array, better be safe than sorry.
Arguably this code could be more readable if it was using Eina_Binbuf.
Cedric Bail [Thu, 28 Nov 2013 08:04:32 +0000 (17:04 +0900)]
evas: this value is never read after that point, simplify logic.
This has been spotted by clang static analyzer.
Cedric Bail [Thu, 28 Nov 2013 08:00:35 +0000 (17:00 +0900)]
evas: simplify logic for better readability.
This also should solve some complain from clang static analyzer.
Cedric Bail [Thu, 28 Nov 2013 07:55:24 +0000 (16:55 +0900)]
edje: make sure there is an initial value to avoid garbage out.
Detected by clang static analyzer.
Cedric Bail [Thu, 28 Nov 2013 07:36:21 +0000 (16:36 +0900)]
ecore_con: remove unecessary code.
Cedric Bail [Thu, 28 Nov 2013 07:32:29 +0000 (16:32 +0900)]
edje: correctly setup PATH and install Edje file as they are needed by examples.
This will fix T61.