platform/upstream/efl.git
8 years agoevas: remove unnecessary check for clip coords.
Sungtaek Hong [Wed, 21 Sep 2016 08:40:53 +0000 (17:40 +0900)]
evas: remove unnecessary check for clip coords.

Summary: (dst_clip_w <= 0 || dst_clip_h <= 0) is already checked.

Reviewers: jpeg, cedric, Hermet

Reviewed By: Hermet

Subscribers: conr2d

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

8 years agoelm_config: add null check before usage
Thiep Ha [Wed, 21 Sep 2016 07:54:09 +0000 (16:54 +0900)]
elm_config: add null check before usage

8 years agoelm_atspi: remove redundant null checking
Thiep Ha [Wed, 21 Sep 2016 07:49:12 +0000 (16:49 +0900)]
elm_atspi: remove redundant null checking

The type is always _ADDED or _REMOVED, therefore atspi_desc
is always "add" or "remove"; no need to have null checking for it.

8 years agoevas software_engine: ++safety code.
Hermet Park [Wed, 21 Sep 2016 07:24:42 +0000 (16:24 +0900)]
evas software_engine: ++safety code.

8 years agoedje edje_cc_out: use strncpy().
Hermet Park [Wed, 21 Sep 2016 06:19:19 +0000 (15:19 +0900)]
edje edje_cc_out: use strncpy().

This change is not much meaningful but avoids an annoying coverity detection.

8 years agoedje edje_embryo: use strncpy().
Hermet Park [Wed, 21 Sep 2016 06:03:11 +0000 (15:03 +0900)]
edje edje_embryo: use strncpy().

This change is not meaningful but avoids an annoying coverity detection.

8 years agoedje/edje_cc: use strncpy() instead of strcpy().
Hermet Park [Wed, 21 Sep 2016 04:30:44 +0000 (13:30 +0900)]
edje/edje_cc: use strncpy() instead of strcpy().

strncpy() is better for security.
Also, this change avoids annoying coverity detection.

8 years agoevas engine: correct null check
Hermet Park [Wed, 21 Sep 2016 04:16:36 +0000 (13:16 +0900)]
evas engine: correct null check

check null first, before access it.

8 years agoRevert "evas engine: return as soon as possible if the surface or context is not...
Hermet Park [Wed, 21 Sep 2016 04:06:18 +0000 (13:06 +0900)]
Revert "evas engine: return as soon as possible if the surface or context is not valid."

This reverts commit 2f158ebe65cc3d007c1eae0e25590f092931ee25.

misunderstood ^ operator.
pinged by jpeg.

previous code was correct.

8 years agoevas engine: return as soon as possible if the surface or context is not valid.
Hermet Park [Wed, 21 Sep 2016 03:24:49 +0000 (12:24 +0900)]
evas engine: return as soon as possible if the surface or context is not valid.

And later, the surface and context are accessed.
So both of arguments should be valid necessarily.

8 years agoeo-cxx: Add progress to future and promise
Felipe Magno de Almeida [Wed, 21 Sep 2016 02:30:13 +0000 (23:30 -0300)]
eo-cxx: Add progress to future and promise

8 years agoedje_edit : add null check and close eet
JunsuChoi [Tue, 20 Sep 2016 14:34:17 +0000 (23:34 +0900)]
edje_edit : add null check and close eet

Signed-off-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
8 years agoedje_decc: modified fclose location
JunsuChoi [Tue, 20 Sep 2016 14:23:29 +0000 (23:23 +0900)]
edje_decc: modified fclose location

modified fclose location. because of file pointer can become NULL.

Signed-off-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
8 years agoecore_con,elput: fix warnings
Bruno Dilly [Tue, 20 Sep 2016 23:13:25 +0000 (16:13 -0700)]
ecore_con,elput: fix warnings

Summary:
elput: fix warning for unused write result
         ecore_con: fix warning for unused asprintf result

Reviewers: iscaro, devilhorns, cedric

Reviewed By: cedric

Subscribers: cedric, seoz, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoelm_progressbar: show status when unit_format_func is set
Sungtaek Hong [Tue, 20 Sep 2016 23:07:18 +0000 (16:07 -0700)]
elm_progressbar: show status when unit_format_func is set

Summary:
 - elm,state,units,visible signal is emitted only when
   unit is set, but not when unit_format_func is set.
 - Since default unit has been set, this signal is emitted
   but signal will not be emitted after unit is set to NULL.

Test Plan:
 1. Create a progressbar.
 2. elm_progressbar_unit_format_set(obj, NULL);
 3. set unit_format_func by elm_progressbar_unit_format_function_set()
    and observe elm.text.status part visible.

Reviewers: Hermet, jpeg, cedric

Reviewed By: cedric

Subscribers: D-TAU, eunue, conr2d, cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoatspi: fix parent-child relationship for elm_list and elm_toolbar
Piotr Ganicz [Tue, 20 Sep 2016 21:46:11 +0000 (14:46 -0700)]
atspi: fix parent-child relationship for elm_list and elm_toolbar

Summary:
This patch provides proper parent-child relationship for elm_list and elm_toolbar
while atsapi_mode is set for icon and end element.

This patch is moved from:
    bf188e59431ad9c4ca877b2632884d3d430de6b1

Change-Id: Iae855aacf29bef3808a0b5ec159f46cbf0f4539d

Reviewers: stanluk, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoatspi: fix state macros
Piotr Ganicz [Tue, 20 Sep 2016 21:44:53 +0000 (14:44 -0700)]
atspi: fix state macros

Summary:
This patch changes the value of 1 to 1ULL in STATE_TYPE macros
to signal the compiler that the value must be considered
as a unsigned long long, it has to be done cause state_set variable
can be longer than 32 bits.

This patch is moved. Orginal commit hash:
    a559e473c21c8da7c4e5a87b9c8583ce519cc35e

Change-Id: Ida89f3be185736f61543d37010d0f5cb8d80a751

Reviewers: cedric, stanluk

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeet: fix memory leak
jiin.moon [Tue, 20 Sep 2016 21:22:33 +0000 (14:22 -0700)]
eet: fix memory leak

Summary:
If ef is null, have to return before _set_material_to_eet_file_from_mesh api.
New momory will be allocated in the api.

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeet: set alpha_texture for ETC1+Alpha
Sungtaek Hong [Tue, 20 Sep 2016 21:20:48 +0000 (14:20 -0700)]
eet: set alpha_texture for ETC1+Alpha

Summary:
alpha_texture need to be set EINA_TRUE to support ETC1+Alpha

@fix

Test Plan:
Create an EDC file with png image with Alpha.
           compress image with ETC1 and ETC2.
           Observe Alpha is properly applied in both case.

Reviewers: jpeg, Hermet, cedric

Reviewed By: cedric

Subscribers: conr2d

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoEvas: Don't access members of a null struct. Fixes T4616
Stephen Houston [Tue, 20 Sep 2016 21:02:33 +0000 (16:02 -0500)]
Evas: Don't access members of a null struct. Fixes T4616

8 years agolibproxy: dlopen() and make it runtime optional.
Gustavo Sverzut Barbieri [Tue, 20 Sep 2016 18:00:17 +0000 (15:00 -0300)]
libproxy: dlopen() and make it runtime optional.

8 years agoecore_file: Fix improper way of comparing in ecore_file_path_dir_exists @fix
Artem Popov [Tue, 20 Sep 2016 16:52:23 +0000 (19:52 +0300)]
ecore_file: Fix improper way of comparing in ecore_file_path_dir_exists @fix

Summary: There is wrong comparing while using strcmp function. Should be inverted.

Reviewers: cedric, raster, NikaWhite

Reviewed By: NikaWhite

Subscribers: cedric, NikaWhite, jpeg

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

8 years agoeina_cpu, evas: Remove _eina_cpu_fast_core_get, don't set render thread affinity
Derek Foreman [Tue, 20 Sep 2016 16:33:33 +0000 (11:33 -0500)]
eina_cpu, evas: Remove _eina_cpu_fast_core_get, don't set render thread affinity

We've decided it would be best to just let the scheduler do its job.

8 years agoeina - eina file map populate fallback to use log int not int... for size
Carsten Haitzler (Rasterman) [Tue, 20 Sep 2016 12:57:47 +0000 (21:57 +0900)]
eina - eina file map populate fallback to use log int not int... for size

this makes the size match other sizes in eina_file. doesn't affect
linux but i think bsd's get hit.

8 years agotests: ecore: switch from fprintf to ck_asser_msg macro for custom error message
Stefan Schmidt [Tue, 20 Sep 2016 10:43:29 +0000 (12:43 +0200)]
tests: ecore: switch from fprintf to ck_asser_msg macro for custom error message

The ck_assert_msg macro can do this for us already in a failed case.

8 years agoeldbus: fix null value usage
Ji-Youn Park [Tue, 20 Sep 2016 09:40:32 +0000 (18:10 +0830)]
eldbus: fix null value usage

8 years agoEvas font: force freetype v35 ttf interpreter
Daniel Hirt [Sun, 18 Sep 2016 14:02:27 +0000 (17:02 +0300)]
Evas font: force freetype v35 ttf interpreter

Ref T4623

v40 bytecode interpreter is official as of freetype 2.7.
The results don't look so good at the moment. The text looks and glyph
positioning seem worse than they were with the previous v35 interpreter.

So, in the meantime we'll keep using v35, just so everything looks
normal again.

Although the v40 is relevant since around 2.6.3, I rather not do any
FREETYPE_MINOR checks in this patch, because distributions might ship
previous versions with the other (v38) interpreter enabled.

8 years agoecore_con_local: fix memory leak.
Ji-Youn Park [Tue, 20 Sep 2016 07:44:04 +0000 (16:14 +0830)]
ecore_con_local: fix memory leak.

after socket function call, close file descriptor.

8 years agoembryo : Prevent buffer overflow in embryo_cc_sc2
JEONGHYUN YUN [Tue, 20 Sep 2016 07:01:16 +0000 (15:31 +0830)]
embryo : Prevent buffer overflow in embryo_cc_sc2

Reviewers: jypark

Reviewed By: jypark

Subscribers: cedric, jpeg

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

8 years agoefreet xml parse - handle 0 sized xml specially to avoid crash
Carsten Haitzler (Rasterman) [Tue, 20 Sep 2016 05:01:59 +0000 (14:01 +0900)]
efreet xml parse - handle 0 sized xml specially to avoid crash

fixes T4493

8 years agoeina - redo a lot of the static inlines to have better instr cache usage
Carsten Haitzler (Rasterman) [Sun, 18 Sep 2016 23:58:56 +0000 (08:58 +0900)]
eina - redo a lot of the static inlines to have better instr cache usage

this moves a lot of logic that is rare away from the linear/flat asm
path of code so we et fewer l1 cache misses when executing chuncks of
our code. this also reduces the code size and takes some funcs like in
eina_inline_lock_posix.x and makes them real functions to reduce code
size thus better l1 cache usage - only for new/free of locks.
spinlocks, semaphores etc. as these will have no advantage being
inlined but simply bloat out code size instead.

overall this actually reduces efl lib binary sizes 0.4%, so that's a
good sign.

this passes make check and i think i got it right... let me know if i
didn't. i'm also not sure i should just keep the static inlines and
not make the formerly static inline funcs full EAPI ones now... good q.

8 years agoedje_edit: add null checking
Jaehwan Kim [Tue, 20 Sep 2016 04:46:29 +0000 (13:46 +0900)]
edje_edit: add null checking

8 years agoecore: fix the parameter of strerror
Jaehwan Kim [Tue, 20 Sep 2016 04:45:36 +0000 (13:45 +0900)]
ecore: fix the parameter of strerror

8 years agoelm fileselector: add null checking before strlen
WooHyun Jung [Tue, 20 Sep 2016 04:40:37 +0000 (13:40 +0900)]
elm fileselector: add null checking before strlen

8 years agoeldbus: null checking before using the pointer
WooHyun Jung [Tue, 20 Sep 2016 02:18:52 +0000 (11:18 +0900)]
eldbus: null checking before using the pointer

8 years agoecore: fix warning in timer test.
Cedric BAIL [Mon, 19 Sep 2016 23:27:14 +0000 (16:27 -0700)]
ecore: fix warning in timer test.

8 years agoelementary: patch got pushed before the complete fix.
Cedric BAIL [Mon, 19 Sep 2016 23:12:31 +0000 (16:12 -0700)]
elementary: patch got pushed before the complete fix.

8 years agoelementary: be more conservative on the amount of data requested from disk.
Cedric BAIL [Mon, 19 Sep 2016 23:07:03 +0000 (16:07 -0700)]
elementary: be more conservative on the amount of data requested from disk.

8 years agoeina: populate memory in the right limit.
Cedric BAIL [Mon, 19 Sep 2016 21:02:43 +0000 (14:02 -0700)]
eina: populate memory in the right limit.

8 years agoecore: remove useless ecore_parent.eo.
Cedric BAIL [Mon, 19 Sep 2016 20:05:32 +0000 (13:05 -0700)]
ecore: remove useless ecore_parent.eo.

8 years agoeina_cpu: Fix coverity defects in eina_cpu_map_init
Derek Foreman [Mon, 19 Sep 2016 15:34:44 +0000 (10:34 -0500)]
eina_cpu: Fix coverity defects in eina_cpu_map_init

Fixes a potential fd leak on failure and wrong core to
speed mapping on systems with > 31 cpu cores

CID: 1362860
CID: 1362859
CID: 1362857

8 years agoedje_edit: make tweens able to work with image sets
Vitalii Vorobiov [Mon, 19 Sep 2016 15:09:13 +0000 (18:09 +0300)]
edje_edit: make tweens able to work with image sets

it's important because some tweens of loaded edje group might use image sets
instead of images, so now making edje_edit API to work with them correctly

@fix

8 years agorender_thread: Attempt to set affinity to a random fast core
Derek Foreman [Mon, 19 Sep 2016 14:39:35 +0000 (09:39 -0500)]
render_thread: Attempt to set affinity to a random fast core

We've been pinning the render thread for every EFL process to core 0.
This is a bit silly in the first place, but some big.LITTLE arm systems,
such as exynos 5422, have the LITTLE cores first.

On those systems we put all the render threads on a slow core.

This attempts to fix that by using a random core from the pool of fast
cores.

If we can't determine which cores are fast (ie: we're not on a
linux kernel with cpufreq enabled) then we'll continue doing what we've
always done - pin to core 0.

8 years agoedje example: fix broken batman svg resource.
Hermet Park [Mon, 19 Sep 2016 14:39:19 +0000 (23:39 +0900)]
edje example: fix broken batman svg resource.

correct missing '/' at the end of svg tag.

8 years agoeina_cpu: Fix error handling in eina_cpu_fast_core_get
Derek Foreman [Mon, 19 Sep 2016 14:23:59 +0000 (09:23 -0500)]
eina_cpu: Fix error handling in eina_cpu_fast_core_get

I introduced a crash on linux systems where the cpufreq directory
doesn't exist.  This fixes it.

8 years agoefl_net_dialer_http: use libproxy.
Gustavo Sverzut Barbieri [Mon, 19 Sep 2016 13:00:36 +0000 (10:00 -0300)]
efl_net_dialer_http: use libproxy.

query libproxy in a thread (since it's nasty and blocks), then apply
proxy to curl and execute the request.

8 years agoefl_net_dialer_tcp: use libproxy settings.
Gustavo Sverzut Barbieri [Mon, 19 Sep 2016 06:19:16 +0000 (03:19 -0300)]
efl_net_dialer_tcp: use libproxy settings.

libproxy allows various means to configure a proxy, will load from
gnome and kde configuration settings, envvars, macos and even windows
registry.

curl still doesn't use it, but we can make that later.

8 years agoefl_net_dialer_websocket: remove unused variable.
Gustavo Sverzut Barbieri [Mon, 19 Sep 2016 06:18:35 +0000 (03:18 -0300)]
efl_net_dialer_websocket: remove unused variable.

efl-future will null the pointer, so pd is not needed anymore.

8 years agotests: ecore: relax the timing precision for the promise timeout test
Stefan Schmidt [Mon, 19 Sep 2016 12:01:19 +0000 (14:01 +0200)]
tests: ecore: relax the timing precision for the promise timeout test

This test has been failing on Jenkins again and again. After adding the debug
a while ago it now shows that the value is between 0.01 and 0.02 in all cases
I have seen. Relaxing the timeout here a bit to make it pass in situation where
our CI is under load.

8 years agoeo: fix headr to header
Marcel Hollerbach [Mon, 19 Sep 2016 11:00:36 +0000 (13:00 +0200)]
eo: fix headr to header

if you enable EO_DEBUG you cannot build eo, since the field is called
header not headr

8 years agoeo: fix reference to constants
Marcel Hollerbach [Mon, 19 Sep 2016 10:58:52 +0000 (12:58 +0200)]
eo: fix reference to constants

they are renamed from the prefix EO_ to EFL_

8 years agoeo: fix callback cmp
Marcel Hollerbach [Sat, 17 Sep 2016 13:17:25 +0000 (15:17 +0200)]
eo: fix callback cmp

Summary:
as told in _eina_stringshared_key_cmp in eina_hash.c:

originally we want to do this:
   return key1 - key2;
but since they are ptrs and an int can't store the different of 2 ptrs in
either 32 or 64bit (signed hasn't got enough range for the diff of 2
32bit values regardless of their type... we'd need 33bits or 65bits)

So changing this to the same logic.

Reviewers: tasn, raster

Subscribers: cedric, jpeg

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

8 years agoedje_svg_loader: Initialize char array.
Jaehyun Cho [Mon, 19 Sep 2016 10:46:27 +0000 (19:46 +0900)]
edje_svg_loader: Initialize char array.

Initialize char array before calling strcmp().

8 years agoRevert "render_thread: Attempt to set affinity to a random fast core"
Stefan Schmidt [Mon, 19 Sep 2016 08:41:58 +0000 (10:41 +0200)]
Revert "render_thread: Attempt to set affinity to a random fast core"

This reverts commit a17ac66f0a0b089dde0b2e550523b0d59ec97f52.

This change broke every efl build locally, as well as on Jenkins, for me.

CLD     lib/ethumb_client/libethumb_client.la
/bin/sh: line 2: 10047 Segmentation fault      (core dumped) EFL_RUN_IN_TREE=1
../src/bin/edje/edje_cc -id . -fd . -id ./tests/emotion/data tests/emotion/data/theme.edc
tests/emotion/data/theme.edj
Makefile:52584: recipe for target 'tests/emotion/data/theme.edj' failed
make[4]: *** [tests/emotion/data/theme.edj] Error 139
make[4]: *** Waiting for unfinished jobs....
/bin/sh: line 2: 10088 Segmentation fault      (core dumped) EFL_RUN_IN_TREE=1
../src/bin/edje/edje_cc -id . -fd . -id ./modules/ethumb/emotion modules/ethumb/emotion/template.edc
modules/ethumb/emotion/template.edj
Makefile:52590: recipe for target 'modules/ethumb/emotion/template.edj' failed
make[4]: *** [modules/ethumb/emotion/template.edj] Error 139
/bin/sh: line 2: 10119 Segmentation fault      (core dumped) EFL_RUN_IN_TREE=1
../src/bin/edje/edje_cc -id . -fd . -id ../src/modules/elementary/prefs/
modules/elementary/prefs/elm_prefs_swallow.edc modules/elementary/prefs/elm_prefs_swallow.edj
Makefile:52614: recipe for target 'modules/elementary/prefs/elm_prefs_swallow.edj' failed
make[4]: *** [modules/elementary/prefs/elm_prefs_swallow.edj] Error 139

8 years agoevas_object_image: fix alpha_set bug.
Ji-Youn Park [Mon, 19 Sep 2016 08:32:40 +0000 (17:02 +0830)]
evas_object_image: fix alpha_set bug.

if image object's first alpha value is false, evas_object_image_alpha_set function did not work.
opaque_valid is always 1 even though has_alpha value changed.

8 years agoelm_menu: fix callback deletion from NULL object
Andrii Kroitor [Mon, 19 Sep 2016 07:47:28 +0000 (16:47 +0900)]
elm_menu: fix callback deletion from NULL object

Reviewers: cedric, raster, Hermet

Reviewed By: Hermet

Subscribers: jpeg, reutskiy.v.v

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

8 years agoefl_net_dialer_tcp: add SOCKS proxy support.
Gustavo Sverzut Barbieri [Mon, 19 Sep 2016 03:56:18 +0000 (00:56 -0300)]
efl_net_dialer_tcp: add SOCKS proxy support.

SOCKS is implemented in its own thread using synchronous/blocking
primitives, which simplifies the code a lot -- as well as simulate the
usage of Ecore_Thread as our users will likely do.

Since SOCKSv4a and SOCKSv5 allow name resolution, the whole
getaddrinfo() is done in the same thread, when needed, instead of a
separate thread to do that, which should also save some resources.

Instead of the legacy ECORE_CON_SOCKS_V4 and ECORE_CON_SOCKS_V5, now
we use socks_proxy, all_proxy and no_proxy. This matches our other
dialers http/websocket (which will use http_proxy, all_proxy and
no_proxy). If desired it's easy to add back support for those
variables, but I think we should just deprecate them. (The legacy code
will keep unchanged, thus direct users of ecore_con_server will still
use those -- just the previous users of ecore_con_server will be
converted to use the new API).

8 years agoefl_net_dialer_http: do eos on error.
Gustavo Sverzut Barbieri [Sat, 17 Sep 2016 14:27:58 +0000 (11:27 -0300)]
efl_net_dialer_http: do eos on error.

8 years agoefl_net_dialer: improve proxy docs.
Gustavo Sverzut Barbieri [Sat, 17 Sep 2016 01:19:37 +0000 (22:19 -0300)]
efl_net_dialer: improve proxy docs.

Document some proxy behavior like done by CURL, so we'll follow that
standard, with $http_proxy, $socks_proxy, $all_proxy and $no_proxy.

also add some missing @since.

8 years agoefl_promise: check NULL before calling.
Gustavo Sverzut Barbieri [Mon, 19 Sep 2016 04:16:37 +0000 (01:16 -0300)]
efl_promise: check NULL before calling.

we do not check any of success, failure or progress, so we must check
if they are valid before calling.

This fixed a bug in efl_net_dialer_tcp where it uses a null failure
cb and was SEGV.

8 years agoeina_thread: don't leak on pthread_cancel().
Gustavo Sverzut Barbieri [Sat, 17 Sep 2016 01:17:25 +0000 (22:17 -0300)]
eina_thread: don't leak on pthread_cancel().

if we cancel a thread we should still free the context, so use the new
EINA_THREAD_CLEANUP_PUSH() and EINA_THREAD_CLEANUP_POP()

8 years agoelm: Fix edit popup menu order
Andy Williams [Sat, 17 Sep 2016 22:58:55 +0000 (23:58 +0100)]
elm: Fix edit popup menu order

Cut/Copy/Paste is the standard order most other places.
@fix

8 years agoecore,ecore_con: fix migration to efl_future.
Cedric Bail [Sat, 17 Sep 2016 01:21:11 +0000 (18:21 -0700)]
ecore,ecore_con: fix migration to efl_future.

Efl_Future actually work with weak reference. So you do not need to
set things to NULL, but you actually need to register the memory location
of the future with efl_future_use.

8 years agoRevert "eina: Actually call eina_cpu_init() and eina_cpu_shutdown()"
Derek Foreman [Sat, 17 Sep 2016 00:39:38 +0000 (19:39 -0500)]
Revert "eina: Actually call eina_cpu_init() and eina_cpu_shutdown()"

This reverts commit 1881b0d34302b8c29d4b086715eeda9e576ee60a.

This is called from an array constructed with pre-processor macros and
I didn't notice.

8 years agoevas-drm: update drm engine recovery from all buffers used
Derek Foreman [Fri, 16 Sep 2016 21:12:22 +0000 (16:12 -0500)]
evas-drm: update drm engine recovery from all buffers used

Use the relatively new buffer release API to free up buffers instead
of immediately going nuclear and blowing away all buffer ages.

8 years agoeina_cpu: Fix broken E_API macro
Derek Foreman [Fri, 16 Sep 2016 20:56:46 +0000 (15:56 -0500)]
eina_cpu: Fix broken E_API macro

Oops, I cut and paste it from a wrong file.

Thanks to Vincent Torri for the quick catch.

8 years agoeo invalid err - make the thread self more useful like main.
Carsten Haitzler (Rasterman) [Fri, 16 Sep 2016 20:49:32 +0000 (05:49 +0900)]
eo invalid err - make the thread self more useful like main.

8 years agoeina_cpu: Detect NEON if available
Derek Foreman [Fri, 16 Sep 2016 18:05:56 +0000 (13:05 -0500)]
eina_cpu: Detect NEON if available

We may have a few conditionals around that think this has actually been
set at some point, let's surprise them by actually doing that.

8 years agoeina_thread: Don't ensure affinity core is lower than number of cpus
Derek Foreman [Thu, 15 Sep 2016 21:09:00 +0000 (16:09 -0500)]
eina_thread: Don't ensure affinity core is lower than number of cpus

CPUs can be turned off after boot leading to a sparse mapping of core ids.

For example, if I turn off the first four cores on an exynos 5422 (these
are the low speed cores) then the high speed cores are still numbered 4-7
but there are only 4 cores present.

In that situation using affinity_core % num_cpus will prevent ever being
able to set affinity at all.

Just remove the pointless check and let the user set whatever core id they
want.

8 years agorender_thread: Attempt to set affinity to a random fast core
Derek Foreman [Thu, 15 Sep 2016 21:05:25 +0000 (16:05 -0500)]
render_thread: Attempt to set affinity to a random fast core

We've been pinning the render thread for every EFL process to core 0.
This is a bit silly in the first place, but some big.LITTLE arm systems,
such as exynos 5422, have the LITTLE cores first.

On those systems we put all the render threads on a slow core.

This attempts to fix that by using a random core from the pool of fast
cores.

If we can't determine which cores are fast (ie: we're not on a
linux kernel with cpufreq enabled) then we'll continue doing what we've
always done.

8 years agoeina_cpu: Add an internal api for getting a random fast core
Derek Foreman [Thu, 15 Sep 2016 21:02:10 +0000 (16:02 -0500)]
eina_cpu: Add an internal api for getting a random fast core

In a big.LITTLE ARM system cores can have different capabilities.  This
gives an internal API that randomly returns the core id of any of the
system's fastest cores.

On systems where all cores are the same, it will return any available core.

If we don't have cpufreq support we just return 0

8 years agoeina: Actually call eina_cpu_init() and eina_cpu_shutdown()
Derek Foreman [Fri, 16 Sep 2016 15:58:36 +0000 (10:58 -0500)]
eina: Actually call eina_cpu_init() and eina_cpu_shutdown()

Without calling eina_cpu_init() the eina_cpu_features bits aren't
properly set up.

Let's call it and see if anything exciting happens.

8 years agoEina: fix colors messages in MSYS2
Vincent Torri [Fri, 16 Sep 2016 12:27:30 +0000 (14:27 +0200)]
Eina: fix colors messages in MSYS2

With MSYS1 or cygwin 1.5, or DOS console, the display is done by redirecting
stdout and al. So to change the colors, the Win32 API of the console must be
used.
On the contrary, the terminals based on mintty (like cygwin 1.8 terminal or MSYS2)
the redirection is done with pipes, so the Win32 API of the console does not
work when changing the colors and we can use the POSIX colors of printf.

This patch is fixing the eina code which alwayss use the Win32 API of the console
on Windows, even if mintty-based terminals are used

8 years agoefl_io and efl_net examples: fix O_CLOEXEC on windows.
Gustavo Sverzut Barbieri [Fri, 16 Sep 2016 10:42:24 +0000 (07:42 -0300)]
efl_io and efl_net examples: fix O_CLOEXEC on windows.

use the efl_io_closer_close_on_exec_set() to use a simple boolean
instead of a flag that may be undefined on some platforms, such as
windows.

8 years agoefl_io_file: unbreak windows build (missing O_CLOEXEC).
Gustavo Sverzut Barbieri [Fri, 16 Sep 2016 10:26:54 +0000 (07:26 -0300)]
efl_io_file: unbreak windows build (missing O_CLOEXEC).

To avoid many ifdef, define the flag to 0 so we "| 0" or "& ~0", that
have no effect.

Fixes T4612.

8 years agoeo - id lookup failure expansive error print for ebbter debug
Carsten Haitzler (Rasterman) [Fri, 16 Sep 2016 09:51:22 +0000 (18:51 +0900)]
eo - id lookup failure expansive error print for ebbter debug

whenan eoid lookup fails, now print a lot of information on the issue
like the actual id, generation of the id, if its a class or object
(the class bit), if its ref or super bit is set, the actual id (which
includes the table heirachy), which thread id it is, what domain the
object id is and the current and local domains as well as what domains
are mapped in.

8 years agoecore_con: forgotten update of Eina_Promise to Efl_Future convertion due to git rebase.
Cedric Bail [Fri, 16 Sep 2016 04:51:15 +0000 (21:51 -0700)]
ecore_con: forgotten update of Eina_Promise to Efl_Future convertion due to git rebase.

8 years agoecore_con: migrate use of Eina_Promise to Efl_Future.
Cedric Bail [Fri, 16 Sep 2016 04:48:42 +0000 (21:48 -0700)]
ecore_con: migrate use of Eina_Promise to Efl_Future.

8 years agoeio: use proper const for progress.
Cedric Bail [Fri, 16 Sep 2016 04:48:25 +0000 (21:48 -0700)]
eio: use proper const for progress.

8 years agoecore: migrate job and timeout tests to use efl_future.
Cedric Bail [Fri, 16 Sep 2016 04:48:01 +0000 (21:48 -0700)]
ecore: migrate job and timeout tests to use efl_future.

8 years agoecore: make sure that progress type have the proper const.
Cedric Bail [Fri, 16 Sep 2016 04:47:41 +0000 (21:47 -0700)]
ecore: make sure that progress type have the proper const.

8 years agoecore: migrate job and timeout to use future.
Cedric Bail [Fri, 16 Sep 2016 04:46:00 +0000 (21:46 -0700)]
ecore: migrate job and timeout to use future.

8 years agoecore: shut up const warning.
Cedric Bail [Fri, 16 Sep 2016 04:45:05 +0000 (21:45 -0700)]
ecore: shut up const warning.

8 years agoecore: do not trigger future,none once value/cancel has been set.
Cedric Bail [Fri, 16 Sep 2016 04:43:47 +0000 (21:43 -0700)]
ecore: do not trigger future,none once value/cancel has been set.

This would have forced who ever used future,none signal to manually
filter out event triggered by all the future beeing fullfiled and
disconnecting once they receive a value or are marked failed.

8 years agoelm fileselector: fix legacy methods for Entry and Button
Vitor Sousa [Thu, 15 Sep 2016 00:02:15 +0000 (21:02 -0300)]
elm fileselector: fix legacy methods for Entry and Button

Some legacy functions that works with string paths were not redirecting for
the correct code when called with Elm.Fileselector.Button or
Elm.Fileselector.Entry.
This commit fixes this problem.

@fix

8 years agoelm fileselector: fix test to wait for the right event
Vitor Sousa [Wed, 14 Sep 2016 23:45:16 +0000 (20:45 -0300)]
elm fileselector: fix test to wait for the right event

Fileselector test was waiting for the wrong event. It caused the test to
fail in some situations, since it could check the object when it is
not ready.

Fix T4502

@fix

8 years agoelementary: properly handle refcounting of file in efl_ui_image asynchronous image...
Cedric Bail [Wed, 14 Sep 2016 23:52:08 +0000 (16:52 -0700)]
elementary: properly handle refcounting of file in efl_ui_image asynchronous image openning.

8 years agoeina: allow graceful failure when calling eina_thread_cancel with NULL.
Cedric Bail [Wed, 14 Sep 2016 23:50:05 +0000 (16:50 -0700)]
eina: allow graceful failure when calling eina_thread_cancel with NULL.

8 years agobindings: cxx: add more new files to buildsystem to make sure they land in dist
Stefan Schmidt [Wed, 14 Sep 2016 16:01:25 +0000 (18:01 +0200)]
bindings: cxx: add more new files to buildsystem to make sure they land in dist

Another set of new files which have not been referenced and thus never put into
dist.

8 years agoeina/ecore: allow threads to be canceled, use in ecore_con.
Gustavo Sverzut Barbieri [Wed, 14 Sep 2016 04:38:58 +0000 (01:38 -0300)]
eina/ecore: allow threads to be canceled, use in ecore_con.

As discussed in the mailing list, many people will use worker threads
to execute blocking syscalls and mandating ecore_thread_check() for
voluntary preemption reduces the ecore_thread usefulness a lot.

A clear example is ecore_con usage of connect() and getaddrinfo() in
threads. If the connect timeout expires, the thread will be cancelled,
but it was blocked on syscalls and they will hang around for long
time. If the application exits, ecore will print an error saying it
can SEGV.

Then enable access to pthread_setcancelstate(PTHREAD_CANCEL_ENABLE)
via eina_thread_cancellable_set(EINA_TRUE), to pthread_cancel() via
eina_thread_cancel(), to pthread_cleanup_push()/pthread_cleanup_pop()
via EINA_THREAD_CLEANUP_PUSH()/EINA_THREAD_CLEANUP_POP() and so on.

Ecore threads will enforce non-cancellable threads on its own code,
but the user may decide to enable that and allow cancellation, that's
not an issue since ecore_thread now plays well and use cleanup
functions.

Ecore con connect/resolve make use of that and enable cancellable
state, efl_net_dialer_tcp benefits a lot from that.

A good comparison of the benefit is to run:

   ./src/examples/ecore/efl_io_copier_example tcp://google.com:1234 :stdout:

before and after. It will timeout after 30s and with this patch the
thread is gone, no ecore error is printed about possible SEGV.

8 years agoeo-cxx: Replace for ENOMEM to avoid warnings
Felipe Magno de Almeida [Wed, 14 Sep 2016 03:55:51 +0000 (00:55 -0300)]
eo-cxx: Replace for ENOMEM to avoid warnings

8 years agoeo-cxx: Fix race promises
Felipe Magno de Almeida [Wed, 14 Sep 2016 03:33:02 +0000 (00:33 -0300)]
eo-cxx: Fix race promises

8 years agoeo-cxx: Add promise type
Felipe Magno de Almeida [Wed, 17 Aug 2016 23:48:24 +0000 (20:48 -0300)]
eo-cxx: Add promise type

8 years agoeo-cxx: Add race promises through eina::variant
Felipe Magno de Almeida [Wed, 17 Aug 2016 02:26:52 +0000 (23:26 -0300)]
eo-cxx: Add race promises through eina::variant

8 years agoeo-cxx: race for promises
Felipe Magno de Almeida [Mon, 15 Aug 2016 17:47:16 +0000 (14:47 -0300)]
eo-cxx: race for promises

8 years agoeina-cxx: Moved variant to eina C++
Felipe Magno de Almeida [Mon, 15 Aug 2016 17:47:00 +0000 (14:47 -0300)]
eina-cxx: Moved variant to eina C++

8 years agoevas: link output with evas canvas at finalize time.
Cedric BAIL [Tue, 13 Sep 2016 23:12:04 +0000 (16:12 -0700)]
evas: link output with evas canvas at finalize time.

8 years agoevas: remove useless symbol.
Cedric BAIL [Tue, 13 Sep 2016 23:11:48 +0000 (16:11 -0700)]
evas: remove useless symbol.

8 years agoevas: efl_canvas_output should be able to provide pixels if requested.
Cedric BAIL [Tue, 13 Sep 2016 23:10:26 +0000 (16:10 -0700)]
evas: efl_canvas_output should be able to provide pixels if requested.

8 years agoefl_net_dialer_* use timeout promise instead of timer object.
Gustavo Sverzut Barbieri [Tue, 13 Sep 2016 19:08:25 +0000 (16:08 -0300)]
efl_net_dialer_* use timeout promise instead of timer object.

i wasn't aware of efl_loop_timeout for one-shot timeout promises, then
use it instead of a full object.