platform/upstream/efl.git
8 years agoeolian gen2: fix typos in generation
Daniel Kolesa [Fri, 30 Sep 2016 11:40:39 +0000 (13:40 +0200)]
eolian gen2: fix typos in generation

8 years agoeolian gen2: generate only .h by default for eot files
Daniel Kolesa [Fri, 30 Sep 2016 11:36:54 +0000 (13:36 +0200)]
eolian gen2: generate only .h by default for eot files

8 years agoeolian gen2: fix double and missing free
Daniel Kolesa [Fri, 30 Sep 2016 11:25:41 +0000 (13:25 +0200)]
eolian gen2: fix double and missing free

8 years agoeolian gen2: switch EFL to new generator (doesn't work yet)
Daniel Kolesa [Thu, 29 Sep 2016 15:37:53 +0000 (17:37 +0200)]
eolian gen2: switch EFL to new generator (doesn't work yet)

8 years agoeolian gen2: abort on OOM (not much we can do anyway)
Daniel Kolesa [Thu, 29 Sep 2016 15:19:30 +0000 (17:19 +0200)]
eolian gen2: abort on OOM (not much we can do anyway)

8 years agoeolian gen2: generate legacy API implementation stubs
Daniel Kolesa [Thu, 29 Sep 2016 15:09:37 +0000 (17:09 +0200)]
eolian gen2: generate legacy API implementation stubs

8 years agoeolian gen2: fully generate source
Daniel Kolesa [Thu, 29 Sep 2016 14:20:51 +0000 (16:20 +0200)]
eolian gen2: fully generate source

8 years agoeolian gen2: terminate EFL_OPS_DEFINE list
Daniel Kolesa [Thu, 29 Sep 2016 13:12:21 +0000 (15:12 +0200)]
eolian gen2: terminate EFL_OPS_DEFINE list

8 years agoeolian gen2: generation of class initializer func
Daniel Kolesa [Wed, 28 Sep 2016 15:41:50 +0000 (17:41 +0200)]
eolian gen2: generation of class initializer func

8 years agoeolian gen2: fix generation type specification
Daniel Kolesa [Wed, 28 Sep 2016 12:46:24 +0000 (14:46 +0200)]
eolian gen2: fix generation type specification

8 years agoeolian gen2: properly space headers
Daniel Kolesa [Wed, 28 Sep 2016 12:41:32 +0000 (14:41 +0200)]
eolian gen2: properly space headers

8 years agoeolian gen2: generate prototypes/impls for all implements
Daniel Kolesa [Fri, 23 Sep 2016 16:41:09 +0000 (18:41 +0200)]
eolian gen2: generate prototypes/impls for all implements

8 years agoeolian gen2: don't generate class names in eo_gen_source_gen
Daniel Kolesa [Fri, 23 Sep 2016 16:06:34 +0000 (18:06 +0200)]
eolian gen2: don't generate class names in eo_gen_source_gen

8 years agoeolian gen2: initial partial source generation
Daniel Kolesa [Fri, 23 Sep 2016 15:49:44 +0000 (17:49 +0200)]
eolian gen2: initial partial source generation

8 years agoeolian gen2: add event generation
Daniel Kolesa [Thu, 22 Sep 2016 14:59:28 +0000 (16:59 +0200)]
eolian gen2: add event generation

8 years agoeolian gen2: initial stubs for source writing
Daniel Kolesa [Thu, 22 Sep 2016 13:58:06 +0000 (15:58 +0200)]
eolian gen2: initial stubs for source writing

8 years agoeolian gen2: generate docs for funcs/events
Daniel Kolesa [Wed, 21 Sep 2016 15:20:52 +0000 (17:20 +0200)]
eolian gen2: generate docs for funcs/events

8 years agoeolian gen2: generate docs for types
Daniel Kolesa [Wed, 21 Sep 2016 13:49:22 +0000 (15:49 +0200)]
eolian gen2: generate docs for types

8 years agoeolian gen2: add code to handle doxygen generation
Daniel Kolesa [Wed, 21 Sep 2016 13:29:28 +0000 (15:29 +0200)]
eolian gen2: add code to handle doxygen generation

8 years agoeolian gen2: only generate eo c/h by default
Daniel Kolesa [Tue, 20 Sep 2016 14:38:19 +0000 (16:38 +0200)]
eolian gen2: only generate eo c/h by default

8 years agoeolian gen2: feature complete header generator (eo and legacy)
Daniel Kolesa [Tue, 20 Sep 2016 13:50:37 +0000 (15:50 +0200)]
eolian gen2: feature complete header generator (eo and legacy)

8 years agoeolian gen2: generate fully functional eo headers
Daniel Kolesa [Tue, 20 Sep 2016 12:22:05 +0000 (14:22 +0200)]
eolian gen2: generate fully functional eo headers

8 years agoeolian gen2: initial header generation
Daniel Kolesa [Mon, 19 Sep 2016 15:36:48 +0000 (17:36 +0200)]
eolian gen2: initial header generation

8 years agoeolian gen2: full type generator
Daniel Kolesa [Thu, 15 Sep 2016 14:56:43 +0000 (16:56 +0200)]
eolian gen2: full type generator

8 years agoeolian gen2: generate stub headers
Daniel Kolesa [Thu, 15 Sep 2016 14:36:24 +0000 (16:36 +0200)]
eolian gen2: generate stub headers

8 years agoeolian gen2: use length_get when enclosing include guards
Daniel Kolesa [Thu, 15 Sep 2016 13:49:16 +0000 (15:49 +0200)]
eolian gen2: use length_get when enclosing include guards

8 years agoeolian gen2: initial type gen subroutine
Daniel Kolesa [Thu, 15 Sep 2016 13:48:15 +0000 (15:48 +0200)]
eolian gen2: initial type gen subroutine

8 years agoeolian gen2: initial type generation bits
Daniel Kolesa [Thu, 15 Sep 2016 13:30:07 +0000 (15:30 +0200)]
eolian gen2: initial type generation bits

8 years agoeolian gen2: add file read
Daniel Kolesa [Thu, 15 Sep 2016 13:11:14 +0000 (15:11 +0200)]
eolian gen2: add file read

8 years agoeolian gen2: include guard func
Daniel Kolesa [Wed, 14 Sep 2016 15:07:37 +0000 (17:07 +0200)]
eolian gen2: include guard func

8 years agoeolian gen2: parse input file properly
Daniel Kolesa [Wed, 14 Sep 2016 14:44:51 +0000 (16:44 +0200)]
eolian gen2: parse input file properly

8 years agoeolian gen2: add stubs for file writing
Daniel Kolesa [Wed, 14 Sep 2016 14:00:10 +0000 (16:00 +0200)]
eolian gen2: add stubs for file writing

8 years agoeolian gen2: add logging and main.h
Daniel Kolesa [Wed, 14 Sep 2016 13:28:29 +0000 (15:28 +0200)]
eolian gen2: add logging and main.h

8 years agoeolian gen2: prepare gen/arguments/file infra
Daniel Kolesa [Tue, 13 Sep 2016 16:01:05 +0000 (18:01 +0200)]
eolian gen2: prepare gen/arguments/file infra

8 years agoeolian gen: initial infra for new C generator
Daniel Kolesa [Tue, 13 Sep 2016 12:18:09 +0000 (14:18 +0200)]
eolian gen: initial infra for new C generator

8 years agonaviframe: Fix to add SIG_ITEM_ACTIVATED in smart callbacks.
Jaehyun Cho [Fri, 7 Oct 2016 08:54:55 +0000 (17:54 +0900)]
naviframe: Fix to add SIG_ITEM_ACTIVATED in smart callbacks.

This commit fixes commit 3a0eb75bda1bd9274e4c9de1b6ce9143b24cfc80.

8 years agonaviframe: Add "item,activated" smart callback.
Jaehyun Cho [Fri, 7 Oct 2016 08:07:48 +0000 (17:07 +0900)]
naviframe: Add "item,activated" smart callback.

"item,activated" smart callback is added to notice when an item is
activated.

"item,activated" smart callback is called as follows.
1. Item push is finished and the new item is activated.
2. Item pop is finished and the previous item is activated.

void *event_info in smart callback is the activated item pointer.

8 years agoRevert "naviframe: Add "push,finished" and "pop,finished" smart callbacks."
Jaehyun Cho [Fri, 7 Oct 2016 07:39:14 +0000 (16:39 +0900)]
Revert "naviframe: Add "push,finished" and "pop,finished" smart callbacks."

This reverts commit 17ac58a081a05f6e96b248f80c007e67d1f4ff44.

Instead, "item,activated" smart callback will be added.

8 years agoeo: Fix deadlocks with composite objects
Jean-Philippe Andre [Thu, 6 Oct 2016 07:27:28 +0000 (16:27 +0900)]
eo: Fix deadlocks with composite objects

This happens with shared objects.

The situation seems to be:
1. object has composited object a of class A in thread 1
2. call something on object a from thread 2, deadlock
In fact, do anything from thread 2 on a shared object and you deadlock.

8 years agoeo: Fix deadlock in efl_parent_set
Jean-Philippe Andre [Thu, 6 Oct 2016 07:19:12 +0000 (16:19 +0900)]
eo: Fix deadlock in efl_parent_set

If the object is shared and the given parent is invalid (eg. deleted)
then we will deadlock later. This also adds a test case with it.

8 years agoeo: Test deadlock after finalize (shared objects)
Jean-Philippe Andre [Thu, 6 Oct 2016 06:42:03 +0000 (15:42 +0900)]
eo: Test deadlock after finalize (shared objects)

This is a test case for 258cfbbe8013b50a7d3f89ab863dab73fce
Unfortunately there are many other functions that we should
be testing, not just efl_finalized_get().

8 years agoevas: Fix async filters following changes in EO
Jean-Philippe Andre [Thu, 6 Oct 2016 03:09:53 +0000 (12:09 +0900)]
evas: Fix async filters following changes in EO

EO is now extremely restrictive wrt. threads so that efl_data_scope_get()
can't work outside the main loop. This patch fixes the usage to create
sw buffers as shared objects (accessible from both the main loop and evas
async thread) and use plain old pointers where possible.

The buffers now have no parent because efl_add(CLASS, obj_from_mainloop)
does not work with shared objects. This is bad, as the buffers conceptually
belong to the main loop, and only need to be accessible from the draw thread
for a few calls. The main loop determines their lifecycle.

Fixes T4628

8 years agoeo: Fix deadlock with shared objects
Jean-Philippe Andre [Thu, 6 Oct 2016 02:55:03 +0000 (11:55 +0900)]
eo: Fix deadlock with shared objects

The object pointer was passed to EO_OBJ_DONE, rather than its
eo id.

8 years agofileselector: Fix crash on file select
Jean-Philippe Andre [Thu, 6 Oct 2016 01:59:27 +0000 (10:59 +0900)]
fileselector: Fix crash on file select

Fixes T4686 (further fix)

8 years agoEfl.Loop.User: Use prefix to rename efl_loop_user_loop_get
Jean-Philippe Andre [Thu, 6 Oct 2016 01:19:25 +0000 (10:19 +0900)]
Efl.Loop.User: Use prefix to rename efl_loop_user_loop_get

efl_loop_user_loop_get is idiotic. efl_loop_get should be good enough.

8 years agoecore-evas - x fix intial iconified state so terminology -I works
Carsten Haitzler (Rasterman) [Thu, 6 Oct 2016 01:58:04 +0000 (10:58 +0900)]
ecore-evas - x fix intial iconified state so terminology -I works

this fixes intitial iconic state for x11 as demonstrated by

terminology -I

but enlightenment is broken though... xterm -iconic also shows the
same break with a black window.

@fix

8 years agoecore_evas x - dont set withdrawn to fals on show but wait for wm state
Carsten Haitzler (Rasterman) [Thu, 6 Oct 2016 01:41:48 +0000 (10:41 +0900)]
ecore_evas x - dont set withdrawn to fals on show but wait for wm state

so we handled override cases and set withdrawn to false on show, but
when normally managed it might be nicer to wait for a state change via
the wm state property to know we are "normal"

this should fix T4699

@fix

8 years agofileselector: Fix eio model usage (future_all)
Jean-Philippe Andre [Wed, 5 Oct 2016 11:16:36 +0000 (20:16 +0900)]
fileselector: Fix eio model usage (future_all)

The value stored by efl_future_all is an accessor, not an
iterator. This fixes the usage of promises internally to
the fileselector widget.

See 1a2014a12234593f4ba27f2f76f87dc481447e7c

Fixes T4686

8 years agoeio_model: Provide main loop even without parent
Jean-Philippe Andre [Wed, 5 Oct 2016 11:53:26 +0000 (20:53 +0900)]
eio_model: Provide main loop even without parent

An eio model (and I believe most other models as well, in fact)
require a Efl.Loop.User as parent in order for efl future/promises
to work. This adds a fallback code directly inside eio model. The
alternative was to parent and efl_del all models in fileselector.

See T4686

8 years agoevas: Provide loop from Evas.Canvas
Jean-Philippe Andre [Wed, 5 Oct 2016 10:51:42 +0000 (19:51 +0900)]
evas: Provide loop from Evas.Canvas

And indirectly also Efl.Canvas.Object.

I believe those two classes should even inherit from Efl.Loop.User.
Right now this patch relies on the new dependence of Evas over Ecore,
and is maybe a bit ugly as is.

Ping @cedric

See T4686

8 years agoRevert "ecore_evas x - dont set withdrawn to fals on show but wait for wm state"
Carsten Haitzler (Rasterman) [Wed, 5 Oct 2016 23:53:19 +0000 (08:53 +0900)]
Revert "ecore_evas x - dont set withdrawn to fals on show but wait for wm state"

This reverts commit 2c736adc873bfb998103da60650ebc156cba70ad.

well that was totally unexpected. - efl app windows dont show at all..
wtf? this should not have affected that at all..

8 years agoecore_evas x - dont set withdrawn to fals on show but wait for wm state
Carsten Haitzler (Rasterman) [Wed, 5 Oct 2016 23:37:28 +0000 (08:37 +0900)]
ecore_evas x - dont set withdrawn to fals on show but wait for wm state

so we handled override cases and set withdrawn to false on show, but
when normally managed it might be nicer to wait for a state change via
the wm state property to know we are "normal"

this should fix T4699

8 years agoepp: fix memory corruption when using #warning and #error
Jean Guyomarc'h [Wed, 5 Oct 2016 10:00:38 +0000 (12:00 +0200)]
epp: fix memory corruption when using #warning and #error

The epp instructions #warning and #error would led to a segmentation
fault (invalid free) because the malloced buffer's base pointer was
moved.

@fix

8 years agoUi text: port link anchors from entry
Daniel Hirt [Wed, 5 Oct 2016 14:10:20 +0000 (17:10 +0300)]
Ui text: port link anchors from entry

This is without the viewport optimization in the meantime.

8 years agoCanvas text: add annotation_positions_get method
Daniel Hirt [Wed, 5 Oct 2016 14:10:14 +0000 (17:10 +0300)]
Canvas text: add annotation_positions_get method

We need a method that allows us to place the cursors at the start and end of an
annotation. This is required for things like getting the geometry of a range.

@feature

8 years agoEfl canvas text: fix api doc a bit
Daniel Hirt [Wed, 5 Oct 2016 14:10:06 +0000 (17:10 +0300)]
Efl canvas text: fix api doc a bit

8 years agoCanvas text cursor: add simple_geometry_get method
Daniel Hirt [Wed, 5 Oct 2016 14:09:59 +0000 (17:09 +0300)]
Canvas text cursor: add simple_geometry_get method

The ported geometry_get was actually the legacy simple_geometry_get.
For getting simple geometries like selection this was enough, but I forgot that
we also need to query more complex geometries e.g. links.
This is required to implement link anchors in Ui Text.

Now geometry_get and simple_geometry_get are the same as their legacy
counterparts.

@feature

8 years agoUi text: update all decorations on resize
Daniel Hirt [Wed, 5 Oct 2016 14:09:53 +0000 (17:09 +0300)]
Ui text: update all decorations on resize

8 years agoUi text: port atspi implementation
Daniel Hirt [Wed, 5 Oct 2016 14:09:46 +0000 (17:09 +0300)]
Ui text: port atspi implementation

8 years agoeina: Fix compilation with clang
Jean-Philippe Andre [Wed, 5 Oct 2016 07:27:46 +0000 (16:27 +0900)]
eina: Fix compilation with clang

It's not because the bug with __builtin_prefetch is inside
clang/llvm that we must break the build for people who prefer it
over gcc. As soon as a non-broken version is out, the ifdef must
be either removed (and ask people to update their clang install)
or add a version check based on __clang_xxx__.

Compilation tested with clang 3.8.1 and gcc 6.2.1.

8 years agonaviframe: Add "push,finished" and "pop,finished" smart callbacks.
Jaehyun Cho [Tue, 4 Oct 2016 06:50:42 +0000 (15:50 +0900)]
naviframe: Add "push,finished" and "pop,finished" smart callbacks.

"push,finished" and "pop,finished" smart callbacks are added to notice
when push and pop operation is finished.

New smart callback signals are added as follows.

"push,finished,item,activated" : Called when item push is finished and
void *event_info in smart callback is activated item (new item).

"push,finished,item,deactivated" : Called when item push is finished and
void *event_info in smart callback is deactivated item (current item).

"pop,finished,item,activated" : Called when item pop is finished and
void *event_info in smart callback is activated item (previous item).

"pop,finished,item,deactivated" : Called when item pop is finished and
void *event_info in smart callback is deactivated item (current item).

8 years agonaviframe: Fix to show/hide item view.
Jaehyun Cho [Wed, 5 Oct 2016 08:30:42 +0000 (17:30 +0900)]
naviframe: Fix to show/hide item view.

Naviframe item view did not become visible if top item view is deleted
by elm_object_item_del().
To resolve this problem, program for "elm,state,visible" is fixed and
"elm,state,invisible" is added.

8 years agonaviframe: Remove redundant programs.
Jaehyun Cho [Wed, 5 Oct 2016 05:12:44 +0000 (14:12 +0900)]
naviframe: Remove redundant programs.

The redundant programs emit duplicate signals incorrectly.

8 years agonaviframe: Fix to reset pushing flag of pushed item.
Jaehyun Cho [Tue, 4 Oct 2016 09:55:06 +0000 (18:55 +0900)]
naviframe: Fix to reset pushing flag of pushed item.

If multiple items are pushed, then pushing flag of the pushed item is
not reset.
To resolve this problem, pushing flag of the pushed item is reset.

8 years agoevas/vg: renamed the legacy vg shape apis
Subhransu Mohanty [Wed, 5 Oct 2016 02:07:11 +0000 (11:07 +0900)]
evas/vg: renamed the legacy vg shape apis

Reviewers: Hermet, cedric, jpeg

Subscribers: cedric, jpeg

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

8 years agoeina_cpu: Fix arm build
Derek Foreman [Tue, 4 Oct 2016 19:29:36 +0000 (14:29 -0500)]
eina_cpu: Fix arm build

commit e2875cefc49768f919919fbfa478f81570168688 accidentally removed
some unrelated headers needed for testing ARM NEON support on linux.

8 years agoevas-software-x11: Remove unused variable and mark unused parameters
Chris Michael [Tue, 4 Oct 2016 13:41:53 +0000 (09:41 -0400)]
evas-software-x11: Remove unused variable and mark unused parameters

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore_file/ipc: clean up documentation
Jee-Yong Um [Tue, 4 Oct 2016 12:08:17 +0000 (21:08 +0900)]
ecore_file/ipc: clean up documentation

Summary: move comment from c source to header and adjust ingroup relationship

Reviewers: cedric, jpeg, Hermet

Reviewed By: Hermet

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

8 years agoeio - put in fix by disabling some fallback code
Al Poole [Tue, 4 Oct 2016 06:01:40 +0000 (15:01 +0900)]
eio - put in fix by disabling some fallback code

as per https://phab.enlightenment.org/T4619

fixes 4619

@fix

8 years agoecore_x - remove ecore_x_vsync tool as it isnt enabled or used runtime
Carsten Haitzler (Rasterman) [Mon, 3 Oct 2016 15:10:29 +0000 (00:10 +0900)]
ecore_x - remove ecore_x_vsync tool as it isnt enabled or used runtime

so ecore_x_vsync as a tool uses glx for nvidia drivers plut "wait for
vblank" extensions to try vsync "sync". the problem is this is flakey
because the drivers may or may not continue vsyncing after screen off
or syspend/resume or vt changes and all the workarounds dont seem to
be reliable, so since this causes this to be disabled, no point
keeping all the code and build stuff around, so remove this "unused
junk" we have in the tree.

8 years agoEdje_Edit: add forgotten part_item_index API into header
Vitalii Vorobiov [Mon, 3 Oct 2016 17:07:13 +0000 (20:07 +0300)]
Edje_Edit: add forgotten part_item_index API into header

It was already implemented but looks like forgotten to be added into
Edje_Edit header, so we got banch of unused and unavailable API

@fix

8 years agoeina_list prefetch macros - handle misstyped list ptr by casting
Carsten Haitzler (Rasterman) [Sun, 2 Oct 2016 03:05:07 +0000 (12:05 +0900)]
eina_list prefetch macros - handle misstyped list ptr by casting

so it seems enlightenment someqhere uses a void * as a list per for
EINA_LIST_FREE ... so do some casing of that type to handle such badness

8 years agotests: oops, remove invalid trailing slash
Jean Guyomarc'h [Sat, 1 Oct 2016 19:26:16 +0000 (21:26 +0200)]
tests: oops, remove invalid trailing slash

8 years agotests: add missing symbols
Jean Guyomarc'h [Sat, 1 Oct 2016 19:09:54 +0000 (21:09 +0200)]
tests: add missing symbols

make check failed on OSX (clang) because of missing symbols.

8 years agotests: check for the presence of clock_gettime()
Jean Guyomarc'h [Sat, 1 Oct 2016 15:32:13 +0000 (17:32 +0200)]
tests: check for the presence of clock_gettime()

macOS Sierra provides clock_gettime().
Instead of testing for the Mach kernel to re-implement clock_gettime(),
let first check that clock_gettime() is not already declared. Older OSX
versions will have the Mach-only fallback.

@fix

8 years agotests: mimic POSIX API in clock_gettime()
Jean Guyomarc'h [Sat, 1 Oct 2016 15:29:24 +0000 (17:29 +0200)]
tests: mimic POSIX API in clock_gettime()

Let the clock_gettime() re-implementation have the same signature than
its POSIX definition.

8 years agoeina: fix macos spinlocks and upgrade API to sierra
Jean Guyomarc'h [Sat, 1 Oct 2016 13:09:37 +0000 (15:09 +0200)]
eina: fix macos spinlocks and upgrade API to sierra

8 years agoeo - eo ptr lookup - do some prefetches to get some micro-speedups
Carsten Haitzler (Rasterman) [Sat, 1 Oct 2016 14:37:34 +0000 (23:37 +0900)]
eo - eo ptr lookup - do some prefetches to get some micro-speedups

prefetching a bit helps.. a bit like 0.2% or so... but it does help. :)

8 years agoeina list - make use of prefetch for minor speedups
Carsten Haitzler (Rasterman) [Sat, 1 Oct 2016 08:51:25 +0000 (17:51 +0900)]
eina list - make use of prefetch for minor speedups

i see a speedup of about 8% over a series of list walking and freeing
functions given this change. it's a small speedup but still not too
shabby just for some prefetches thrown in. ymmv depending on memory
subsystem, memory speed itself, cpu and architecture.

@optimize

8 years agoeina - add prefetch macros to map to compiler builtins if they exist
Carsten Haitzler (Rasterman) [Sat, 1 Oct 2016 06:36:00 +0000 (15:36 +0900)]
eina - add prefetch macros to map to compiler builtins if they exist

this allows you to portably use prefetch compiler builtins. this adds
EINA_PREFETCH(), EINA_PREFETCH_WRITE(), EINA_PREFETCH_NOCACHE() and
EINA_PREFETCH_NOCACHE_WRITE() macros to do this that are "nothing" if
your compiler doesnt support it. of course it also requires your
compielr compile instructions for your architecture and it can only do
so if the architecture it compiles for has these instructions, so be
aware.

@feat

8 years agoEvas_Device: Fix API name.
Guilherme Iscaro [Thu, 29 Sep 2016 20:51:14 +0000 (17:51 -0300)]
Evas_Device: Fix API name.

Summary:
It should be evas_device_add_full() in order to follow the EFL
name pattern.

Reviewers: DaveMDS, bdilly

Reviewed By: DaveMDS, bdilly

Subscribers: cedric, jpeg

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

8 years agoefl: Update Efl.Model to use new Efl_Promise and Efl_Future
Felipe Magno de Almeida [Thu, 29 Sep 2016 16:12:09 +0000 (13:12 -0300)]
efl: Update Efl.Model to use new Efl_Promise and Efl_Future

Replaced all Eina_Promise_Owner and Eina_Promise with Efl_Promise and
Efl_Future.

8 years agoeo - goto-ify a chunk iof code moving debug printfs out of hot paths
Carsten Haitzler (Rasterman) [Thu, 29 Sep 2016 06:29:34 +0000 (15:29 +0900)]
eo - goto-ify a chunk iof code moving debug printfs out of hot paths

this moves a lot of error case handling into goto's so the code gets
out of the hot path and this should help expecially since variou
smacros do things like:

   do { char buf[256]; sprintf(buf, fmt, ptr); _eo_pointer_error(buf); } while (0)

   _Efl_Class *klass; \
   do { \
      klass = _eo_class_pointer_get(klass_id); \
      if (!klass) { \
         _EO_POINTER_ERR("Class (%p) is an invalid ref.", klass_id); \
      return ret; \
   } \
} while (0)

so putting quite a chunk of code inside a rare "if this errors"
handler that will cause l1 cache misses and this we don't want, thus
moving stuff in eo core out of hot paths to cut down on overhead. yes
it might not be pretty but it's kind of the right thing at such a core
level of efl. this also does the same to the eo base class as this is
also going to be relatively hot given it's the core of every other
object.

8 years agoeo - fix error case lock not unlocking with shared objects from coverity
Carsten Haitzler (Rasterman) [Thu, 29 Sep 2016 05:14:43 +0000 (14:14 +0900)]
eo - fix error case lock not unlocking with shared objects from coverity

this fixes CID 1363294

8 years agoeo - remove pointless if found by coverity
Carsten Haitzler (Rasterman) [Thu, 29 Sep 2016 02:36:03 +0000 (11:36 +0900)]
eo - remove pointless if found by coverity

fix CID 1363295

8 years agoeo - silence coverit "leak" on eo init if eoid table tls alloc fails
Carsten Haitzler (Rasterman) [Thu, 29 Sep 2016 00:50:02 +0000 (09:50 +0900)]
eo - silence coverit "leak" on eo init if eoid table tls alloc fails

creating a new tls for the eoid table should just never fail so this
is moot anyway, but it silences CID 1362735

8 years agoelm: nstate - cleanup edje signal cb
Amitesh Singh [Thu, 29 Sep 2016 04:59:58 +0000 (10:29 +0530)]
elm: nstate - cleanup edje signal cb

@fix

8 years agoelementary: refactor elm_atspi_bridge function
Bruno Dilly [Wed, 28 Sep 2016 21:23:05 +0000 (18:23 -0300)]
elementary: refactor elm_atspi_bridge function

In order to avoid the following build warning:

lib/elementary/elm_atspi_bridge.c: In function
  ‘_children_changed_signal_send’:
lib/elementary/elm_atspi_bridge.c:3971:4: warning: ‘idx’ may
  be used uninitialized in this function [-Wmaybe-uninitialized]
    _bridge_signal_send(data, event->object, ATSPI_DBUS_INTERFACE_EVENT_OBJECT

A little refactoring was done to function _children_changed_signal_send.
Actually I wasn't able to see a codepath to use idx unintialized,
but this way is more clear and avoid compiler possible confusion.

8 years agoexamples/elementary: drop generated.h from SOURCES
Bruno Dilly [Wed, 28 Sep 2016 01:54:58 +0000 (22:54 -0300)]
examples/elementary: drop generated.h from SOURCES

Remove codegen_example_generated.h from codegen_example_SOURCES
and let it only on nodist_codegen_example_SOURCES and
on BUILT_SOURCES.

Also add dependency between codegen_example.c
and codegen_example_generated.h since it's required
to compile.

Avoid the following build error:
  CODEGEN      codegen_example_generated.c
  codegen_example.c:26:39: fatal error: codegen_example_generated.h:
      No such file or directory
  compilation terminated.
  Makefile:4960: recipe for target 'codegen_example.o' failed

8 years agoexamples/ecore: add example suffix to ecore_evas_vnc
Bruno Dilly [Tue, 27 Sep 2016 22:17:12 +0000 (19:17 -0300)]
examples/ecore: add example suffix to ecore_evas_vnc

Make its name similar to all the other example
files on this folder.

8 years agoconfigure: show if vnc server was enabled or not
Bruno Dilly [Tue, 27 Sep 2016 21:29:43 +0000 (18:29 -0300)]
configure: show if vnc server was enabled or not

So we can see by configure log if it should be working =)

8 years agoexamples/ecore: fix vnc example build
Bruno Dilly [Tue, 27 Sep 2016 21:17:07 +0000 (18:17 -0300)]
examples/ecore: fix vnc example build

Fix missing dependency.

Get rid of the following error:

/usr/bin/ld: ecore_evas_vnc.o: undefined reference
  to symbol 'ECORE_EVENT_MOUSE_BUTTON_UP'
src/lib/ecore_input/.libs/libecore_input.so.1: error adding symbols:
  DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:2306: recipe for target 'ecore_evas_vnc' failed

8 years agodata: elm: images: fix double data file definitions leading to races
Stefan Schmidt [Wed, 28 Sep 2016 12:33:18 +0000 (14:33 +0200)]
data: elm: images: fix double data file definitions leading to races

For a while now I had strange races during make install on Jenkins where some
image files either already existed or chmod was called on files not there yet.

It took some digging but it turns out commit
8dcd5207cc61e604efc942a62137bdeda4060aa0 broke this as a side effect. The black
magic that already installed the files JP refers to is sitting in
data/Makefile.am. It is plain autofoo stuff and just includes the images
Makefile to get the list of files.

JP was correct though that the glayer files have not been installed into the
correct subdir. Fixing this as well here.

8 years agoedje_cc: don't warn when image attributes are missing in inherit_only group
Youngbok Shin [Wed, 28 Sep 2016 06:49:23 +0000 (15:49 +0900)]
edje_cc: don't warn when image attributes are missing in inherit_only group

Summary:
The inherit_only groups could be used for template of other groups.
So, even if it has image part, it dose not need to have image attributes.
@fix

Test Plan: N/A

Reviewers: cedric, conr2d, jpeg, raster

Reviewed By: raster

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

8 years agoupdate gitignore to ignore eo_dbug output script from .in file
Carsten Haitzler (Rasterman) [Wed, 28 Sep 2016 06:29:04 +0000 (15:29 +0900)]
update gitignore to ignore eo_dbug output script from .in file

8 years agoector: make the ector objects as shared object after eo changes.
Subhransu Mohanty [Wed, 28 Sep 2016 06:28:27 +0000 (15:28 +0900)]
ector: make the ector objects as shared object after eo changes.
 As ector objects are acessed by draw thread we need to create it as
 shared object in order to access it from other thread.
 Note: there is some performance lag...

Summary: make ector object as shared eo object to acess from other thread.

Reviewers: cedric, jpeg, raster

Reviewed By: jpeg, raster

Subscribers: cedric, jpeg

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

8 years agoelementary: remove unused part in segmentcontrol theme
Jean Guyomarc'h [Wed, 28 Sep 2016 06:12:03 +0000 (08:12 +0200)]
elementary: remove unused part in segmentcontrol theme

The empty ("") state was never used, and is actually just an alias to
the "default" state, so let's just remove it.

8 years agoelementary: fix invalid state in segmentcontrol
Jean Guyomarc'h [Wed, 28 Sep 2016 06:10:13 +0000 (08:10 +0200)]
elementary: fix invalid state in segmentcontrol

This fixes runtime errors such as:

ERR<29027>:edje lib/edje/edje_calc.c:756 _edje_part_description_apply()
Cannot find description "normal" in part "text2" from group
"elm/segment_control/item/default". Fallback to default description.

The "normal" (non-existant) state corresponds to a disabled state,
which is provided by the "default" state.

8 years agoedje_program: add NULL checking
Jaehwan Kim [Wed, 28 Sep 2016 05:47:26 +0000 (14:47 +0900)]
edje_program: add NULL checking

8 years agoeo id and shared domain objects - do locking properly and better
Carsten Haitzler (Rasterman) [Wed, 28 Sep 2016 04:25:26 +0000 (13:25 +0900)]
eo id and shared domain objects - do locking properly and better

so there were a few issues. one we had a spinlokc on the eoid table
for shared objects AND then had a mutex for accessing those objects
(released on return from any eo function). BUT this missed some funcs
like eo_ref, eo_unref and so on in eo.c ... oops. so fixed. but then i
realized there was a race condition. we locked the eoid table then
unlocked with our pointer THEN locked the sharted object mutex ...
then unlocked it. that was a race condtion gap. so we should share the
same lock anyway - if it's a shared object, grab the shared object
mutex then do a lookup and if the lookup does not fail, KEEP the lock
until it is released by the return from eo function or by some special
macro/funcs that released a matching lock. since its a recursive lock
this is all fine. as its also a universal single lock for all objects
we just need the eoid to know if it's shared and needs locking based
on the domain bits. so now do this locking properly with just a single
mutex, not both a spinlock and mutex and keep the lock around until
totally done with the object. this plugs the race condition holes and
goes from 1 spinlock lock and unlock then a mutex lock and unlokc to
just a single mutex lock and unlock. this means shared objects are
actually truly safe across threads and only have the overhead of a
single recursive mutex to lock and unlock in every api call.