platform/upstream/efl.git
7 years agoelput: Improve checks for keyboard & pointer devices
Chris Michael [Thu, 8 Dec 2016 19:30:41 +0000 (14:30 -0500)]
elput: Improve checks for keyboard & pointer devices

Some devices reported by libinput show up as both keyboard and mouse,
even tho they are physically only just a keyboard or just a mouse.
When a device gets added, we can verify if it is actually a mouse by
checking if the device has BTN_LEFT (and for keyboards, check
KEY_ENTER). This stops us from getting multiple mouse pointers
reported when we really only have one.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Minor formatting fix
Chris Michael [Thu, 8 Dec 2016 16:42:20 +0000 (11:42 -0500)]
ecore-wl2: Minor formatting fix

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore_con_server_example: show client errors.
Gustavo Sverzut Barbieri [Thu, 8 Dec 2016 17:58:09 +0000 (15:58 -0200)]
ecore_con_server_example: show client errors.

7 years agoecore_con_client_example: allow no-ssl verify and print errors.
Gustavo Sverzut Barbieri [Thu, 8 Dec 2016 16:29:52 +0000 (14:29 -0200)]
ecore_con_client_example: allow no-ssl verify and print errors.

allow to not verify server certificate or hostname, so we can test
with local, self-signed certificates.

Also print errors, so we can say that the server handshake failed.

7 years agoefl_net_server_ssl: monitor context del and unref on destructor.
Gustavo Sverzut Barbieri [Thu, 8 Dec 2016 17:25:11 +0000 (15:25 -0200)]
efl_net_server_ssl: monitor context del and unref on destructor.

we're leaking ssl_ctx on destruction, also monitor it so we don't
access stale data.

7 years agoefl_net_ssl_context: check and document constructor only properties.
Gustavo Sverzut Barbieri [Thu, 8 Dec 2016 15:00:30 +0000 (13:00 -0200)]
efl_net_ssl_context: check and document constructor only properties.

The context is shared and thus these lists should be static once
object is created.

7 years agoefl_net_dialer_ssl: fix copy&paste too much.
Gustavo Sverzut Barbieri [Thu, 8 Dec 2016 14:41:02 +0000 (12:41 -0200)]
efl_net_dialer_ssl: fix copy&paste too much.

7 years agoeo_lifecycle: on log level info (3), show leaked objects.
Gustavo Sverzut Barbieri [Thu, 8 Dec 2016 17:49:32 +0000 (15:49 -0200)]
eo_lifecycle: on log level info (3), show leaked objects.

Since we keep a log of created and deleted objects, we can walk the
log and see which were leaked. As this is expensive, do only if log
level is greater than 3 (INFO, DEBUG...), with backtrace of object
creation being displayed as backtrace if running as level 4 (DEBUG).

7 years agoelm_win: update opaque region on resize when borderless
Mike Blumenkrantz [Thu, 8 Dec 2016 16:36:47 +0000 (11:36 -0500)]
elm_win: update opaque region on resize when borderless

this fixes broken sizing on borderless windows

7 years agoelua: add bindings to new Eolian APIs
Daniel Kolesa [Thu, 8 Dec 2016 16:20:22 +0000 (17:20 +0100)]
elua: add bindings to new Eolian APIs

7 years agoevas-wayland-egl: Remove unused field from Outbuf structure
Chris Michael [Thu, 8 Dec 2016 14:32:33 +0000 (09:32 -0500)]
evas-wayland-egl: Remove unused field from Outbuf structure

This patch just removes the 'evas' field from the Outbuf structure.
This should have actually gone in on the previous patch but I missed
removing it :(

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoevas-wayland-shm: Remove unused varibles
Chris Michael [Thu, 8 Dec 2016 14:23:36 +0000 (09:23 -0500)]
evas-wayland-shm: Remove unused varibles

These variables are unused (as reported by gcc), and 'ob' is not
really needed in eng_update so remove that also.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelementary: atspi accepts UTF-8 text
Shinwoo Kim [Thu, 8 Dec 2016 14:21:35 +0000 (23:21 +0900)]
elementary: atspi accepts UTF-8 text

7 years agoevas-wayland-egl: Cleanup wayland_egl engine and fix build break
Chris Michael [Thu, 8 Dec 2016 14:11:28 +0000 (09:11 -0500)]
evas-wayland-egl: Cleanup wayland_egl engine and fix build break

A previous patch to refactor setup stage and reduce complexity
actually introduced several build breaks. This patch fixes the build
break for wayland-egl.

ref 73b308fb66f871b93ef8e324997872e3bf175906

BAD CEDRIC !!!!!

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoevas-gl-drm: Cleanup evas-gl-drm engine build and fix build break
Chris Michael [Thu, 8 Dec 2016 14:02:43 +0000 (09:02 -0500)]
evas-gl-drm: Cleanup evas-gl-drm engine build and fix build break

A previous patch from some french guy broke building of the gl_drm
engine. This patch fixes the build break and cleans up unused
variables, etc.

ref 73b308fb66f871b93ef8e324997872e3bf175906

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoevas-drm: Remove unused variables and fix build break
Chris Michael [Thu, 8 Dec 2016 13:42:35 +0000 (08:42 -0500)]
evas-drm: Remove unused variables and fix build break

Seems Cedric's patch for refactoring setup stage broke building for
the evas drm engine. This patches fixes the issue.

ref 73b308fb66f871b93ef8e324997872e3bf175906

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore_con_server_example: allow more features and protocols to be used.
Gustavo Sverzut Barbieri [Wed, 7 Dec 2016 17:53:52 +0000 (15:53 -0200)]
ecore_con_server_example: allow more features and protocols to be used.

Instead of a single SSL connection, allow for local, tcp and udp,
optional flush and delete-after-write (--single-message) and echo
mode.

Very similar to ecore_ipc_server_example.c

7 years agoecore_con_client_example: allow more features and protocols to be used.
Gustavo Sverzut Barbieri [Wed, 7 Dec 2016 15:29:49 +0000 (13:29 -0200)]
ecore_con_client_example: allow more features and protocols to be used.

Instead of a single SSL connection, allow for local, tcp and udp,
optional flush and delete-after-write (--single-message).

Very similar to ecore_ipc_client_example.c

7 years agoefl_io_buffered_stream: better detection of 'finished' state.
Gustavo Sverzut Barbieri [Wed, 7 Dec 2016 19:39:01 +0000 (17:39 -0200)]
efl_io_buffered_stream: better detection of 'finished' state.

When used with sockets, if it's EOS (ie: remote peer terminated the
connection), but not closed, then it would not emit 'finished' event.

Now it does.

7 years agoefl_io_copier: expose pending_size and add debug to done_get.
Gustavo Sverzut Barbieri [Wed, 7 Dec 2016 19:31:48 +0000 (17:31 -0200)]
efl_io_copier: expose pending_size and add debug to done_get.

In some cases the copier isn't done but you know there is not more
data to arrive at it, then you want to know if all pending data was
flushed from the copier's intermediate buffer to the destination, if
so you can call it closed yourself.

7 years agoefl_io_buffered_stream: property and event 'progress'
Gustavo Sverzut Barbieri [Wed, 7 Dec 2016 18:55:42 +0000 (16:55 -0200)]
efl_io_buffered_stream: property and event 'progress'

useful to get feedback on when data was actually sent/received, and
how much.

7 years agoeina_btlog: flush stdout for each line.
Gustavo Sverzut Barbieri [Wed, 7 Dec 2016 14:09:34 +0000 (12:09 -0200)]
eina_btlog: flush stdout for each line.

The huge buffer from stdout is annoying when running inside eo_debug.

7 years agogl_drm: Check for the correct dma_buf extension
Derek Foreman [Thu, 8 Dec 2016 13:35:10 +0000 (07:35 -0600)]
gl_drm: Check for the correct dma_buf extension

We're importing, not exporting

7 years agoecore_exe: fix ecore_exe_send on Windows
Andrii Kroitor [Thu, 8 Dec 2016 13:15:38 +0000 (15:15 +0200)]
ecore_exe: fix ecore_exe_send on Windows

Do not repeat already sent data.
Remove pipe_write.data_buf because data was sent directly anyway and it was
used only in this method.

7 years agoeolian gen: remove dead code
Daniel Kolesa [Thu, 8 Dec 2016 13:06:09 +0000 (14:06 +0100)]
eolian gen: remove dead code

Cedric forgot to remove all of the promise code.

Fixes CID1365652.

7 years agoeolian gen: fix leak in type generator
Daniel Kolesa [Thu, 8 Dec 2016 13:00:02 +0000 (14:00 +0100)]
eolian gen: fix leak in type generator

Fixes CID1365322.

7 years agoeolian: clean up unnecessary logic in eolian_documentation_string_split
Daniel Kolesa [Thu, 8 Dec 2016 12:53:03 +0000 (13:53 +0100)]
eolian: clean up unnecessary logic in eolian_documentation_string_split

Fixes CID1366824.

7 years agoRevert "exore_exe: fix from @raster"
Andrii Kroitor [Thu, 8 Dec 2016 12:16:38 +0000 (14:16 +0200)]
Revert "exore_exe: fix from @raster"

This reverts commit c505b754ce43a711024f6bad6150c7294e067046.

Accidentally pushed this with build fix. Sorry :(
This commit is related to T4938 and it's goint to be updated, checked and pushed later.

7 years agoevas: fix software_gdi engine compilation
Andrii Kroitor [Thu, 8 Dec 2016 12:13:01 +0000 (14:13 +0200)]
evas: fix software_gdi engine compilation

7 years agoexore_exe: fix from @raster
Andrii Kroitor [Fri, 2 Dec 2016 10:01:41 +0000 (12:01 +0200)]
exore_exe: fix from @raster

7 years agoEo gdb: Add workaround for gdb oddities.
Tom Hacohen [Thu, 8 Dec 2016 11:03:25 +0000 (11:03 +0000)]
Eo gdb: Add workaround for gdb oddities.

These workarounds are required to make sure the plugin works across
gdb and python versions.

7 years agotheme: Fix crash at app shutdown
Jean-Philippe Andre [Thu, 8 Dec 2016 07:10:20 +0000 (16:10 +0900)]
theme: Fix crash at app shutdown

The wrong hash was used to store theme data items. Obviously
this is an API that wasn't used within EFL thus untested. Yay.

@fix

7 years agoeina: Set magic type name for Eina_File
Jean-Philippe Andre [Thu, 8 Dec 2016 06:59:09 +0000 (15:59 +0900)]
eina: Set magic type name for Eina_File

7 years agoeina: Reinstall magic checks on Eina_File
Jean-Philippe Andre [Thu, 8 Dec 2016 06:49:03 +0000 (15:49 +0900)]
eina: Reinstall magic checks on Eina_File

file != NULL does not mean it's valid. Since Eina_File is
a basic eina type a magic check is still better than nothing.
It can avoid doing eina_file_dup() on a closed file for instance.

This "fixes" a crash in eina_file_close with invalid files.

Now I can go hunt the root cause...

7 years agoevas: Don't load wayland engines when running on X
Jean-Philippe Andre [Thu, 8 Dec 2016 06:29:43 +0000 (15:29 +0900)]
evas: Don't load wayland engines when running on X

evas_render_method_lookup calls evas_module_find_type that
in turn actually goes and loads the module. All we wanted to
know was whether the render_method corresponded to one of the
wayland engines.

See 453770137f84afe622156290e7c38d2d1d3845c4

7 years agowin: Implement stronger theme compatibility for frame_obj
Jean-Philippe Andre [Wed, 7 Dec 2016 10:27:05 +0000 (19:27 +0900)]
win: Implement stronger theme compatibility for frame_obj

The frame object requires a theme of version 119 or more. In fact
I think until we are totally happy with the window API (for EO) we
might want to bump that version regularly. That would indeed disallow
theme customization for border.edc until it's done.

This patch uses a pretty brute force way to set the theme file to
the default file from EFL installation. elm_config is not reliable
here.

This is very custom made and there may be a more generic way to force
a widget to use a minimum theme version. Yes that could mean ugly
widgets if we change the theme API but at least that would make them
work. Note that the border theme contains no visual elements, so the
colors of the background, etc... should all depend on the user
selected theme. But of course CSD (in Wayland) will have to use the
default theme -- and look grey.

Fixes D4976

7 years agoentry: set autocapital mode according to the layout
Jihoon Kim [Thu, 8 Dec 2016 06:54:48 +0000 (15:54 +0900)]
entry: set autocapital mode according to the layout

7 years agoEdje: remove a unreachable code from edje_text.c
Youngbok Shin [Thu, 8 Dec 2016 04:31:04 +0000 (13:31 +0900)]
Edje: remove a unreachable code from edje_text.c

Summary:
If "text" is NULL, it is set as empty string in the above code.
So, the removed line is unreachable.

Test Plan: N/A

Reviewers: raster, cedric, herdsman, woohyun, jpeg, Hermet

Reviewed By: Hermet

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

7 years agoaccess: do not count initted if elm_modapi_init() is fail
Jonghee Choi [Thu, 8 Dec 2016 04:28:39 +0000 (13:28 +0900)]
access: do not count initted if elm_modapi_init() is fail

Summary:
When _access_init was called, initted will be increased always even though failed to initialize.
This patch will fix this problem.

Signed-off-by: Jonghee Choi <joi.choi@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Reviewers: cedric, Hermet

Reviewed By: Hermet

Subscribers: joi.choi, jpeg

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

7 years agoefreet_desktop: fix potential error in efreet_desktop_cache_create
Sungtaek Hong [Thu, 8 Dec 2016 04:26:55 +0000 (13:26 +0900)]
efreet_desktop: fix potential error in efreet_desktop_cache_create

Summary:
 - old_file_ids is freed but not set as NULL.
   If it goes to error code, old_file_ids will be freed again.

Reviewers: jpeg, cedric, Hermet

Reviewed By: Hermet

Subscribers: conr2d

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

7 years agoevas fb engine - fix build break cedric added...
Carsten Haitzler (Rasterman) [Thu, 8 Dec 2016 01:19:23 +0000 (10:19 +0900)]
evas fb engine - fix build break cedric added...

7 years agoevas: do not rely on Evas canvas no longer passed during setup.
Cedric BAIL [Wed, 7 Dec 2016 23:44:43 +0000 (15:44 -0800)]
evas: do not rely on Evas canvas no longer passed during setup.

7 years agoevas: refactor setup stage and reduce complexity for engine.
Cedric BAIL [Fri, 2 Dec 2016 23:30:02 +0000 (15:30 -0800)]
evas: refactor setup stage and reduce complexity for engine.

7 years agogl_drm: Only use dmabuf if the extension is present
Derek Foreman [Wed, 7 Dec 2016 22:41:34 +0000 (16:41 -0600)]
gl_drm: Only use dmabuf if the extension is present

Need to check for the extension string instead of just the presence of the
function pointers.

7 years agogl_drm: Query eglGetProcAddress with dlsym
Derek Foreman [Wed, 7 Dec 2016 22:39:17 +0000 (16:39 -0600)]
gl_drm: Query eglGetProcAddress with dlsym

eglGetProcAddress should be queried with dlsym unconditionally.  What we
had could query it with other extended forms of eglGetProcAddress, which
is probably not what anyone wants.

Also, throwing away the weird extended forms because there's a good chance
our other gl bits don't run on any stacks that don't support normal
eglGetProcAddress.

7 years agogl_drm: simplify outbuf_reconfigure
Derek Foreman [Wed, 7 Dec 2016 21:53:08 +0000 (15:53 -0600)]
gl_drm: simplify outbuf_reconfigure

Calling render_engine_software_generic_update from eng_setup lets us
remove a bunch of stuff from evas_outbuf_reconfigure.

7 years agoevas: wait on one specific task to be done.
Cedric BAIL [Wed, 7 Dec 2016 19:17:01 +0000 (11:17 -0800)]
evas: wait on one specific task to be done.

This prevent dead lock.

7 years agogl_drm: Don't destroy the outbuf in reconfigure
Derek Foreman [Wed, 7 Dec 2016 17:29:39 +0000 (11:29 -0600)]
gl_drm: Don't destroy the outbuf in reconfigure

Cedric tells me this is bad, and I never argue with Cedric.

We now re-use the same outbuf and just reconfigure the gbm/gl stuff.

7 years agoecore_drm2: Make ecore_drm2_fb_release return status
Derek Foreman [Wed, 7 Dec 2016 17:28:33 +0000 (11:28 -0600)]
ecore_drm2: Make ecore_drm2_fb_release return status

We need to use this to free up gbm buffers on a surface release, so it
has to report when it successfully frees a buffer.

7 years agobuild: coverage: work around lcov 1.12 bug by using absolute paths for info files
Stefan Schmidt [Wed, 7 Dec 2016 16:49:10 +0000 (17:49 +0100)]
build: coverage: work around lcov 1.12 bug by using absolute paths for info files

In case a warning gets printed from lcov some internal function changes the dir
to / and thus fails to create files in the given file later on. Using an
absolute path here is a workaround to avoid this problem. The fix is in lcoc
already but not yet in any release so we better keep this around here.
Lcov fix reference:
https://github.com/linux-test-project/lcov/commit/632c25a0d1f5e4d2f4fd5b28ce7c8b86d388c91f

7 years agobuild: coverage: disable branch coverage generation to avoid hangs in gcov
Stefan Schmidt [Wed, 7 Dec 2016 16:35:57 +0000 (17:35 +0100)]
build: coverage: disable branch coverage generation to avoid hangs in gcov

I have seen hangs with gcov on Jenkins and locally where the processing just
keeps spinning in an infinite loop. From what I have found out this boils down
to using gcov --all-blocks which is what lcov does with branch coverage enabled.
It is supposed to be fixed in gcc 4.8+ but I see this here with 5.3.1. So its
either a regression or not completely fixed. In any case we will ignore branch
coverage for now. I hoped it would work well but it did only for a while and
having line and function coverage is better than having nothing.

7 years agoevas - software generic - fix crash
Derek Foreman [Wed, 7 Dec 2016 16:10:42 +0000 (10:10 -0600)]
evas - software generic - fix crash

Commit fcef8d8392b8c8d1d7b96baacaf5e7e89fcf6b45
breaks any evas engine that frees/NULLs its own outbuf before
calling evas_render_engine_software_generic_update()

We should unconditionally set the outbuf, we only need to
do the free conditionally.

7 years agoEo: Fix efl_isa() sometimes returning wrong results with extensions
Tom Hacohen [Wed, 7 Dec 2016 13:55:13 +0000 (13:55 +0000)]
Eo: Fix efl_isa() sometimes returning wrong results with extensions

This fixes an issue where efl_isa() wouldn't work for extensions or
ancestors of extensions of a class.

Example:
Class A implements interface F2
F2 inherits from interface F1
obj is of class A

Before this patch efl_isa(obj, F1) would return false, now it returns
true as expected.

This is just one example, there is a whole array of variations to this
issue that are now fixed.

Thanks to Gustavo for reminding me of this.

@fix

7 years agoEo tests: Adjust according to latest commit.
Tom Hacohen [Wed, 7 Dec 2016 13:18:41 +0000 (13:18 +0000)]
Eo tests: Adjust according to latest commit.

7 years agoeolian: use the generic class name instead of C name in source
Daniel Kolesa [Wed, 7 Dec 2016 12:19:48 +0000 (13:19 +0100)]
eolian: use the generic class name instead of C name in source

This changes the string in Efl_Class_Description to use the real
class name (with namespaces) instead of the C class name. The
reason for this is that this string is generic, not C-related.

7 years agoeolian: forgotten free() (leaks memory otherwise)
Daniel Kolesa [Wed, 7 Dec 2016 13:06:02 +0000 (14:06 +0100)]
eolian: forgotten free() (leaks memory otherwise)

7 years agoeolian: switch reference validation to new tokenizer
Daniel Kolesa [Wed, 7 Dec 2016 12:55:56 +0000 (13:55 +0100)]
eolian: switch reference validation to new tokenizer

7 years agoEo gdb: Be more strict with types and convert Eo * to uintptr_t.
Tom Hacohen [Wed, 7 Dec 2016 12:50:52 +0000 (12:50 +0000)]
Eo gdb: Be more strict with types and convert Eo * to uintptr_t.

This should make the results cleaner and also solve potential conversion
issues in some version combinations of gdb and python.

7 years agoEo gdb: Implement eo_data_get to get eo data.
Tom Hacohen [Wed, 7 Dec 2016 12:33:59 +0000 (12:33 +0000)]
Eo gdb: Implement eo_data_get to get eo data.

Like 79d76fb25ece4ffbf5785b4be2b030f062ef9f2c, this is useful when
debugging a core dump.

It accepts a valid pointer to an object, for example as returned from
$eo_resolve, and a name of a class or mixin, and returns a pointer to
the private data. Essentially the same as efl_data_scope_get(), but also
works on core dumps, and accepts a class name instead of a class
pointer.

Usage:
Print the pointer:
 (gdb) print $eo_data_get($eo_resolve(obj), "Efl_Canvas_Object")
 $1 = (void *) 0x555555eb9290

Use it directly (e.g. to print a value):
 (gdb) print ((Evas_Object_Protected_Data *) $eo_data_get($eo_resolve(obj),
              "Efl_Canvas_Object"))->last_event_type
 $2 = EVAS_CALLBACK_MOUSE_UP

@feature

7 years agoevas - software generic - fix crash when buffer is freed when its the same
Carsten Haitzler (Rasterman) [Wed, 7 Dec 2016 10:24:44 +0000 (19:24 +0900)]
evas - software generic - fix crash when buffer is freed when its the same

evas_render_engine_software_generic_update(0 definitely is wrong where
it wants to always free the outbuf even if the buffer passed in is the
same one and thus it ends up being freed and now invalid. fix it

@fix

7 years agoEvas: include efl_vg_container.eo.legacy.h to avoid implicit declaration for evas_vg_...
Artem Popov [Wed, 7 Dec 2016 05:21:12 +0000 (14:21 +0900)]
Evas: include efl_vg_container.eo.legacy.h to avoid implicit declaration for evas_vg_container_child* @fix

Summary: Due to implicit declaration, evas_vg_container_child_get casts to int and on 64-bit can return wrong pointer

Reviewers: cedric, NikaWhite, myoungwoon, jpeg, an.kroitor, Hermet

Reviewed By: Hermet

Subscribers: t.naumenko

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

7 years agoelementary genlist: code refactoring.
Hermet Park [Wed, 7 Dec 2016 05:17:33 +0000 (14:17 +0900)]
elementary genlist: code refactoring.

removed duplicated logic and add a descriptive comment.

7 years agogenlist : fix cannot scroll to item after call elm_genlist_item_update
jinwoo.shin [Wed, 7 Dec 2016 04:57:56 +0000 (13:57 +0900)]
genlist : fix cannot scroll to item after call elm_genlist_item_update

Summary: Fix cannot scroll to item after call elm_genlist_item_update

Test Plan: https://phab.enlightenment.org/T4974

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: SanghyeonLee, minkyu, cedric, jpeg

Tags: #efl

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

7 years agoemile_image: fix possible segmentation fault in AGRY88
Sungtaek Hong [Wed, 7 Dec 2016 04:42:46 +0000 (13:42 +0900)]
emile_image: fix possible segmentation fault in AGRY88

Summary:
 - ptrag is set NULL and is allocated only when prop is rotated.
   but *ptrag = 0xFF00 | ptr[0]; without checking rotation.

Reviewers: jpeg, cedric, Hermet

Reviewed By: Hermet

Subscribers: conr2d

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

7 years agoevas: as an example make PMAPS decoding interruptible.
Cedric BAIL [Wed, 7 Dec 2016 00:24:59 +0000 (16:24 -0800)]
evas: as an example make PMAPS decoding interruptible.

7 years agoevas: use emile and evas new infrastructure to interrupt decoding of JPEG early.
Cedric BAIL [Wed, 7 Dec 2016 00:23:59 +0000 (16:23 -0800)]
evas: use emile and evas new infrastructure to interrupt decoding of JPEG early.

7 years agoemile: add infrastructure for callback to request what to do with image.
Cedric BAIL [Wed, 7 Dec 2016 00:22:56 +0000 (16:22 -0800)]
emile: add infrastructure for callback to request what to do with image.

First use of this infrastructure is to make JPEG decoding interruptible.

7 years agoefl: extend possible error while decoding an image to be cancelled.
Cedric BAIL [Wed, 7 Dec 2016 00:22:11 +0000 (16:22 -0800)]
efl: extend possible error while decoding an image to be cancelled.

7 years agoevas: add possibility for image loader to know if what they are working is still...
Cedric BAIL [Tue, 6 Dec 2016 19:44:05 +0000 (11:44 -0800)]
evas: add possibility for image loader to know if what they are working is still useful.

7 years agoevas: add infrastructure for Evas_Loader to know if what they are working on is still...
Cedric BAIL [Tue, 6 Dec 2016 19:34:56 +0000 (11:34 -0800)]
evas: add infrastructure for Evas_Loader to know if what they are working on is still useful.

7 years agoevas: add capability to know if a thread has been cancelled.
Cedric BAIL [Tue, 6 Dec 2016 01:08:50 +0000 (17:08 -0800)]
evas: add capability to know if a thread has been cancelled.

7 years agoevas: switch to use Ecore_Thread instead of half done Evas thread infrastructure.
Cedric BAIL [Tue, 6 Dec 2016 00:57:46 +0000 (16:57 -0800)]
evas: switch to use Ecore_Thread instead of half done Evas thread infrastructure.

7 years agowayland_shm: track mappings more effectively
Derek Foreman [Tue, 6 Dec 2016 22:20:46 +0000 (16:20 -0600)]
wayland_shm: track mappings more effectively

Unmap any active mappings from buffer_destroy.  This also means we need
to clear the mapping after unmapping in fallback.

7 years agowayland_shm: Refcount the dmabuf buffer manager
Derek Foreman [Tue, 6 Dec 2016 22:16:10 +0000 (16:16 -0600)]
wayland_shm: Refcount the dmabuf buffer manager

Because we async render into buffers before the compositor has told us
we can use them, we can end up kicking over to fallback while still
rendering into a buffer.

Refcount the manager to let us clean up properly without crashing when
this happens.

7 years agowayland_shm: clear busy bit for buffers during dmabuf fallback
Derek Foreman [Tue, 6 Dec 2016 22:21:49 +0000 (16:21 -0600)]
wayland_shm: clear busy bit for buffers during dmabuf fallback

If we pre-rendered then we have a busy buffer - we need to clear that
busy bit after reading from the buffer or buffer_destroy won't clean it
up.

7 years agowayland_shm: Clear busy status when replacing an unassigned buffer
Derek Foreman [Tue, 6 Dec 2016 22:17:57 +0000 (16:17 -0600)]
wayland_shm: Clear busy status when replacing an unassigned buffer

If we render fast enough we can use more than one buffer before the
compositor assigns us buffer ids.  We need to be careful to clear the
busy bit on all but the most recent one.

7 years agogl_drm: Allow testing of dmabuf objects
Derek Foreman [Tue, 6 Dec 2016 16:43:18 +0000 (10:43 -0600)]
gl_drm: Allow testing of dmabuf objects

Enlightenment needs to know if a specific dmabuf format is supported
before it lets clients use it.  This lets E test commit a wayland
dmabuf object without assigning it a buffer.

7 years agoevas-wayland-shm: Keep tile buffers in sync with size changes
Chris Michael [Tue, 6 Dec 2016 19:13:00 +0000 (14:13 -0500)]
evas-wayland-shm: Keep tile buffers in sync with size changes

Previous patch to not destroy Outbuf on resize should not have removed
this line else software generic tilebuffers will not be in sync with
the updated size.

ref 5ebba4463

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoexamples/evas: use new API for key modifiers per seat
Bruno Dilly [Tue, 6 Dec 2016 19:06:05 +0000 (17:06 -0200)]
examples/evas: use new API for key modifiers per seat

7 years agoevas-drm: Keep tile buffers in sync with size changes
Chris Michael [Tue, 6 Dec 2016 19:05:19 +0000 (14:05 -0500)]
evas-drm: Keep tile buffers in sync with size changes

This line should not have been removed from the previous patch. Thanks
to Cedric for catching this.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoevas-drm: Don't destroy Outbuf on resize
Chris Michael [Tue, 6 Dec 2016 18:17:16 +0000 (13:17 -0500)]
evas-drm: Don't destroy Outbuf on resize

On an engine resize, we previously would destroy the Outbuf structure.
This patch modifies the code so that on a resize we no longer have to
destroy the old Outbuf and reallocate a new one. Instead, we will just
reconfigure the existing one and update it's properties.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoeolian: add a reference resolver
Daniel Kolesa [Tue, 6 Dec 2016 18:08:42 +0000 (19:08 +0100)]
eolian: add a reference resolver

New API function eolian_doc_token_ref_get will resolve the kind of
reference in the given token and extract the necessary data you
might need for further use, for example class and function for
methods, or struct and field for struct field. It also supports
event references that will be added into Eolian later.

EFL will be switched to the new resolver (by changing the validator
code) during the next step.

7 years agoevas-wayland-shm: Don't destroy Outbuf on resize
Chris Michael [Tue, 6 Dec 2016 18:01:35 +0000 (13:01 -0500)]
evas-wayland-shm: Don't destroy Outbuf on resize

On an engine resize, rather than destroy & recreate the Outbuf
structure (and the associated surface) we can just call the
eng_output_resize function (which in turn will call
outbuf_reconfigure) to update Outbuf with new properties. This saves
us from having to create a whole new Outbuf every time we resize.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoeo: guard lifecycle obj log inside spinlock.
Gustavo Sverzut Barbieri [Tue, 6 Dec 2016 16:38:34 +0000 (14:38 -0200)]
eo: guard lifecycle obj log inside spinlock.

since the array can be pushed or looked up from multiple threads we
must have a lock in place.

7 years agoeo: guard all efl_super() checks under EO_DEBUG.
Gustavo Sverzut Barbieri [Tue, 6 Dec 2016 16:24:59 +0000 (14:24 -0200)]
eo: guard all efl_super() checks under EO_DEBUG.

Tom is worried about performance hit (god, checking a bit in a pointer
we'll fetch to memory anyway, since we return it masked), so guard
under EO_DEBUG.

7 years agoall: use void if we really want to make sure we do not accept parameters
Stefan Schmidt [Tue, 6 Dec 2016 13:33:24 +0000 (14:33 +0100)]
all: use void if we really want to make sure we do not accept parameters

In C we need this to make clear that we really do not accept parameters.
Found by the smatch source code matcher. I had run and fixed this before
but it seems to creep in again over time.

7 years agoeina: fix same wrong indenting
Stefan Schmidt [Tue, 6 Dec 2016 16:03:59 +0000 (17:03 +0100)]
eina: fix same wrong indenting

Brought up by running smatch. We have way to many of such things in tree though
to fix them all without annoying a lot of people. I will just stop here.

7 years agoeo_debug: add lifecycle debug options, allow run-in-tree and use eina_btlog.
Gustavo Sverzut Barbieri [Tue, 6 Dec 2016 16:06:54 +0000 (14:06 -0200)]
eo_debug: add lifecycle debug options, allow run-in-tree and use eina_btlog.

As usual with our code, EFL_RUN_IN_TREE=1 will lead to usage of
binaries from the current build dir instead of system.

To make user life easier, add -l/--lifecycle-debug and
-L/--lifecycle-no-debug options, as well as -h/--help. The
lifecycle-debug option will export the correct environment variables,
such as EO_LIFECYCLE_DEBUG, EO_LIFECYCLE_NO_DEBUG and
EINA_LOG_LEVELS=eo_lifecycle:4 if no such level was set for that
domain.

Last but not least, pass all command's stderr thru eina_btlog so
backtraces are automatically translated to function names, files and
lines. This one was a bit trickier to respect colors and stdout/stderr
contents, see comments in the script.

7 years agoeina_btlog: allows continuous running on input, flush when possible.
Gustavo Sverzut Barbieri [Tue, 6 Dec 2016 16:00:55 +0000 (14:00 -0200)]
eina_btlog: allows continuous running on input, flush when possible.

eina_btlog will make a table of the backtrace and then must compute
columns length.

However, if not running in such mode (ie: show_compact/-c), we don't
need to queue lines or compute column lengths.

Also, now that we accept non-backtrace lines, like other output
interleaved, then flush the table once such line is found, this will
restart the table columns for the next output, but at least allows
eina_btlog to run on a live output, such as:

       myapp 2>&1 | eina_btlog

7 years agoeina_btlog: cleanup backtrace list.
Gustavo Sverzut Barbieri [Tue, 6 Dec 2016 15:50:18 +0000 (13:50 -0200)]
eina_btlog: cleanup backtrace list.

7 years agoeo: efl_super() can receive a class as first parameter.
Gustavo Sverzut Barbieri [Tue, 6 Dec 2016 14:40:33 +0000 (12:40 -0200)]
eo: efl_super() can receive a class as first parameter.

This fixes the src/tests/eo/test_function_overrides

7 years agoStatic deps unibreak: Update to latest version.
Tom Hacohen [Tue, 6 Dec 2016 12:45:40 +0000 (12:45 +0000)]
Static deps unibreak: Update to latest version.

This version supports Unicode 9.0 and includes many fixes.
Reference git hash: fe1ce2e78c19fa2b4b7a92b1864a12b432da6ec6

This version is not yet released, but now is a better time to sync it,
and there are no code changes expected, only "admin" work.

Main changes:
Unicode 9.0 support
Many fixes in the lineberaking algorithm to now pass the Unicode
reference test data.

@feature

7 years agostatic_libs triangulator: prevent null pointer(ptr) access.
Hermet Park [Tue, 6 Dec 2016 10:18:09 +0000 (19:18 +0900)]
static_libs triangulator: prevent null pointer(ptr) access.

7 years agoevas: native_dmabuf: make sure we check for NULL before not after we dereference
Stefan Schmidt [Tue, 6 Dec 2016 09:49:10 +0000 (10:49 +0100)]
evas: native_dmabuf: make sure we check for NULL before not after we dereference

Same change as  just done in evas_native_tbm in commit
38dbe932db5c12f66ff2e045ac74107e149c14da.

7 years agoevas: native_tbm: make sure we check for NULL before not after we dereference
Stefan Schmidt [Tue, 6 Dec 2016 09:42:42 +0000 (10:42 +0100)]
evas: native_tbm: make sure we check for NULL before not after we dereference

Using *im and dereferencing it before doing the actual NULL check does not make
much sense. I kept the checks as they have been there before so the intent was
probably that they could be NULL and should be checked.

CID: 1270030, 1270029, 1270028

7 years agoevas: input_pointer: remove unreachable case statement
Stefan Schmidt [Tue, 6 Dec 2016 09:31:57 +0000 (10:31 +0100)]
evas: input_pointer: remove unreachable case statement

Directly in the beginning of the function we check if key is
<= EFL_INPUT_VALUE_NONE and return if this is true. No chance key could be
EFL_INPUT_VALUE_NONE below here.

CID: 1361997

7 years agoevas: events: fix NULL check on returned value
Stefan Schmidt [Tue, 6 Dec 2016 09:21:50 +0000 (10:21 +0100)]
evas: events: fix NULL check on returned value

Continuing the loop if the returned pdata is non-NULL does not make sense.
What Coverity actually found was that if we have cobj_pdata NULL here we
would happily deref it the line afterwards and crash.

Guilherme, Bruno if something else was intended here feel free to change it
again.

CID: 1366822

7 years agoeolian: Fix to unregister eina log domain if it was registered.
Jaehyun Cho [Tue, 6 Dec 2016 09:51:14 +0000 (18:51 +0900)]
eolian: Fix to unregister eina log domain if it was registered.

7 years agoevas render: code refactoring.
Hermet Park [Tue, 6 Dec 2016 09:56:07 +0000 (18:56 +0900)]
evas render: code refactoring.

There were some obj->map->surface validation check
but final map drawing was in the out of the surface valid scope.

Actually, this change does nothing but logically this change makes sense.

7 years agowin: Simplify sizing recalc
Jean-Philippe Andre [Tue, 6 Dec 2016 06:52:10 +0000 (15:52 +0900)]
win: Simplify sizing recalc

This amends the previous patch. Some moer testing showed that the
deferred resize flag was in fact harmful (on X with CSD).