path: root/src/lib (follow)
AgeCommit message (Collapse)Author
2015-10-19elua: remove non-portable lconv fields (breaks windows)Daniel Kolesa
2015-10-17eo - another 1.5 percent speedup in eo_bench eo_do by removing err handlCarsten Haitzler (Rasterman)
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-17evas - clean if check to be a single return point for clarityCarsten Haitzler (Rasterman)
if (a) return; if (b) return; -> if ((a) || (b)) return;
2015-10-16Revert "ecore-wayland: Redo window animators to not use Custom source animators"Mike Blumenkrantz
This reverts commit bd83d4c03ab9f6f6ae225976b9595a1dfde61237. 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-16Eo do: Reuse stack fetching across eo functions.Tom Hacohen
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-16Eo do: optimise getting the thread call stack for the main loop thread.Tom Hacohen
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-16Eo: Move mainloop checks inside Eo.Tom Hacohen
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-16Eo events: Add a struct member marking if it's a legacy event or not.Tom Hacohen
My previous patch to this piece of code (37f84b7e966372384e2dfe5d191a6f907a17962e), 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-16evas - add another layer->evas check in addition to layerCarsten Haitzler (Rasterman)
fixes T7215
2015-10-15evas - was missing evlogs for the threaded rendering handling - fixCarsten Haitzler (Rasterman)
2015-10-15edje: load - use evas_object_clipees_has instead of evas_object_clipees_getAmitesh Singh
evas_object_clipees_has is far cheaper than evas_object_clipees_get in case of checking if clipees exist or not. This should improve the performance in case of large set of clipees. @fix
2015-10-15evas: render - use evas_object_clipees_has instead of evas_object_clipees_getAmitesh Singh
evas_object_clipees_has is far cheaper than evas_object_clipees_get in case of checking if clipees exist or not. This should improve the performance in case of large set of clipees. @fix
2015-10-14evas: no need to compute clippees list if we just want to know if there is any.Cedric BAIL
This is a partial fix for a terrible performance scenario where application take forever to close with a large number of edje object. @fix
2015-10-14Eo: Fix confusing indentation and style.Tom Hacohen
2015-10-14ecore-wayland: Redo window animators to not use Custom source animatorsChris Michael
Summary: This moves window animators (for frame callbacks) to not use a custom animator source but rather use a timer-based source. This also moves animators to be per-window based (in that an animator is created per-window). @fix Signed-off-by: Chris Michael <>
2015-10-14ecore: fix usage eina_condition_timedwait to use relative time instead of ↵Cedric BAIL
absolute time. This could lead to some very long and unexpected pause as the timeout passed to eina_condition_timedwait was passed as a absolute time instead of relative. Hopefully we don't build rocket. Notes: ref T1636
2015-10-14evas filter: silent coverity on self assignmentAmitesh Singh
This is a false alarm. Just to make coverity happy, use eo_do instead of eo_do_ret CID: 1316017
2015-10-14edje_edit: Fix clang warning of unused variablesChris Michael
Summary: clang reports that these static variables are not being used anywhere (and grep confirms this), so remove them. @fix Signed-off-by: Chris Michael <>
2015-10-14ecore-drm: Add missing field initializers for vt_modeChris Michael
Summary: clang reports missing field initializers for usage of vt_mode structure, so add the missing initializers @fix Signed-off-by: Chris Michael <>
2015-10-14evas: Fix clang warning for missing field 'async' in default_stateChris Michael
Evas_Object_Filter_Data has a bool for 'async' at the end of the struct. This field was missing from the initialization of 'default_state' @fix Signed-off-by: Chris Michael <>
2015-10-14Eina: fix memory leak in eina_file_open()Vincent Torri
2015-10-14Eina: fix eina_file_current_directory_get()Vincent Torri
the length was not correctly computed and eina_file_path_sanitize() was was writing beyond the limit of the string @fix
2015-10-14Eina: fix spelling in eina_tmpstr documentationVincent Torri
2015-10-14Evil: set EAPI correctly in pwd.hVincent Torri
2015-10-14evas - obj destructrion - handle when obj layer is partly destroyedCarsten Haitzler (Rasterman)
this should fix T2715 and anything similar as during destruction object internals are a bit weird.
2015-10-14evas - fix evlog to push and pop properlyCarsten Haitzler (Rasterman)
2015-10-14eina: util - set tmp to NULL to fix compilation warningAmitesh Singh
lib/eina/eina_util.c: In function 'eina_environment_tmp_get': lib/eina/eina_util.c:96:7: warning: 'tmp' may be used uninitialized in this function [-Wmaybe-uninitialized] if (!tmp) tmp = "/tmp"; ^
2015-10-14Evas: Some coverity fixesJean-Philippe Andre
This are false alarms. But the explicit null check doesn't hurt. Also, Coverity doesn't like eo_do_ret. Neither do I. :) - CID 1327246 - CID 1327245
2015-10-14Evas render: Fix proxy source_clip with source imagesJean-Philippe Andre
In case the source is an Evas_Image, we skip proxy_subrender, and so the clip was not set against the source clip.
2015-10-14Evas render: Fix proxy source_clip logic inversionJean-Philippe Andre
As spotted by @FurryMyad I inverted the logic for source_clip. This should restore the proper behaviour while keeping my previous fixes working. See D2940.
2015-10-13ecore_cocoa: fix a bug where event timestamp was not retrieved correctly.Nicolas Aguirre
Signed-off-by: Cedric BAIL <>
2015-10-13ecore_cocoa: use a timer instead of a poller to be more responsive when ↵Nicolas Aguirre
dealing with cocoa Event. As all Mouse and Keyboard events comme from Cocoa, the poll period must be reduced. Backwards of this method is that when no signal are received for a long period, the timer fired anyway and consumes CPU for nothig but it seems there is no easy method to integrate NSApplication mainloop into an existing one. Signed-off-by: Cedric BAIL <>
2015-10-13ecore_cocoa: fix warnings, add Debug outputs where needed and remove printfsNicolas Aguirre
Signed-off-by: Cedric BAIL <>
2015-10-13eina: Include <unistd.h> for getuid and geteuid functionsChris Michael
Summary: If we do not include unistd.h, we end up with implicit declaration warnings when compiling @fix Signed-off-by: Chris Michael <>
2015-10-13ecore-wl: Add missing EINA_UNUSED for unused function paramatersChris Michael
Signed-off-by: Chris Michael <>
2015-10-13evas: fix performance regression by reducing the unecessary memcpy we are doing.Cedric BAIL
Actually copying max is pretty useless and super slow. We usually have something like 1024 slot in a context, but a very small amount of them are acutally active. It would be better to actually do some kind of copy on write technique here, but as Eina_Cow doesn't handle array and we are close to a release, let's be conservative.
2015-10-13Ecore exe win32: Fix double-free errors.Tom Hacohen
As reported by vtorri, sometimes ecore_exe on win32 will encounter double free issues. This was because the variable was freed, but not set to NULL as expected by the cleanup function. Fixes T2675 @fix
2015-10-12ecore: mimic UNIX code even moreVincent Torri
Signed-off-by: Cedric BAIL <>
2015-10-12ecore_exe: avoid thread doing nothing by adding a small sleepVincent Torri
This fixes the CPU to be usedat 100% for each thread in ecore_exe. This is obviously not an ideal fix and will be improved in the future. Signed-off-by: Cedric BAIL <>
2015-10-12ecore_file: remove whitespacesVincent Torri
Signed-off-by: Cedric BAIL <>
2015-10-12ecore_file: fix ecore_file management function on WindowsVincent Torri
On windows, stat() returns -1 if a path is finished with a \ or /, so replace all stat() calls with a function which removes the trailing slash or backslash on Windows At this stage the code duplicate many code path for avoiding potential borkage on Unix system. During 1.17 release cycle, it would be nice to refactor this piece. @fix Signed-off-by: Cedric BAIL <>
2015-10-12ecore_exe: close handles only if they are validVincent Torri
Signed-off-by: Cedric BAIL <>
2015-10-12ecore_exe: fix command line when a shell is used, and increase buffer to ↵Vincent Torri
32768 bytes Signed-off-by: Cedric BAIL <>
2015-10-12ecore_exe: remove infinite loop when killin processVincent Torri
Signed-off-by: Cedric BAIL <>
2015-10-12ecore_exe: use macro to free resourcesVincent Torri
Signed-off-by: Cedric BAIL <>
2015-10-12ecore_exe: better error message when child process can not be runVincent Torri
Signed-off-by: Cedric BAIL <>
2015-10-12ecore_exe: make sure that ReadFile() will not hangVincent Torri
When child process exits, ReadFile() will hang if those pipes are maintained Signed-off-by: Cedric BAIL <>
2015-10-12ecore_exe: read remaining data when the child application has closedVincent Torri
Output and error threads could not read all the data sent by the child. Based on a patch by Guillaume Friloux @fix Signed-off-by: Cedric BAIL <>
2015-10-12ecore: lower log error level. Too much noise otherwiseVincent Torri
Signed-off-by: Cedric BAIL <>
2015-10-12ecore: mimic Win32 handlers deletion with Fd onesVincent Torri
Signed-off-by: Cedric BAIL <>