platform/upstream/efl.git
7 years agoevas/elm: Remove function group_resize
Jean-Philippe Andre [Tue, 11 Oct 2016 07:54:31 +0000 (16:54 +0900)]
evas/elm: Remove function group_resize

This is an override of efl_gfx_size_set. Same as before, the
order of operations matter so it is possible that a corner
case will break. In particular, legacy code was:
 - intercept
 - smart resize (do stuff), super, super, super
 - evas object resize

The new code is more like:
 - intercept
 - super, super, super, evas object resize
 - do stuff

But unfortunately this broke elm_widget (read: all widgets) as
the internal resize was done before the object resize. So,
inside the resize event cb, the resize_obj size would not match
the smart object size. >_<

7 years agoevas/elm: Remove function group_move
Jean-Philippe Andre [Tue, 11 Oct 2016 03:39:05 +0000 (12:39 +0900)]
evas/elm: Remove function group_move

This is an override of efl_gfx_position_set.
As for the other patches, I hope I didn't break anything.

A problem likely to happen is that the super call was inserted
too early or too late in the call flow. For instance:

  _myclass_position_set(obj, x, y) {
    position_set(super(obj), x, y);
    position_get(obj, &prevx, &prevy);
    do_something_with_delta_xy();
  }

The above code flow is obvisouly wrong, but may have crept in this
patch (such a bug sneaked in inside smart object, breaking
everything at first).

7 years agoevas: Move move_children_relative to legacy only
Jean-Philippe Andre [Tue, 11 Oct 2016 03:02:20 +0000 (12:02 +0900)]
evas: Move move_children_relative to legacy only

While this kind of API seems to make sense with smart objects
(relative coordinates), it is currently not used apart from
the smart object class itself.

So, for now, I'm moving this to legacy to clean up Efl.Canvas.Group
and we can later add the equivalent in a clean "group" API.

7 years agoevas/elm: Remove group_show and group_hide
Jean-Philippe Andre [Mon, 10 Oct 2016 09:59:42 +0000 (18:59 +0900)]
evas/elm: Remove group_show and group_hide

These should be just overrides of Efl.Gfx.visible.set. Many
widgets were handling smart show() and hide() manually, which
means this patch is quite large.

Hopefully this doesn't break anything, obviously. But here are
some widgets known to be problematic, as the old code flow was
really strange (sometimes not calling the efl_super function):
 - window
 - notify

7 years agoevas: Move clip_unset to legacy, remove group_clip
Jean-Philippe Andre [Mon, 10 Oct 2016 07:44:48 +0000 (16:44 +0900)]
evas: Move clip_unset to legacy, remove group_clip

Similarly to group_color_set, group_clip_[un]set should not
exist and should be a result of efl_super and inheritance.

This patch also removes clip_unset from the EO API and keeps
only clip_set(NULL). The reason is that it will avoid bad overrides
of clip_unset() vs. clip_unset(NULL). This also simplifies the code
a bit. Ideally we should be able to reintroduce clip_unset in EO
if we can have a "@final" tag (like java's final keyword), to
prevent overrides.

7 years agoevas: Remove inexisting private function declarations
Jean-Philippe Andre [Mon, 10 Oct 2016 09:24:20 +0000 (18:24 +0900)]
evas: Remove inexisting private function declarations

7 years agoevas: Remove method group_color_set
Jean-Philippe Andre [Fri, 7 Oct 2016 07:25:49 +0000 (16:25 +0900)]
evas: Remove method group_color_set

Widgets should simply override efl_gfx_color_set and call
super all the way up to evas object.

Legacy compatibility with call interceptors and early call
abortion (eg. delete_me or obj->layer == NULL) are implemented
with an internal call. See the previous commit introducing the
API.

7 years agoevas: Add pseudo-internal API to intercept basic calls
Jean-Philippe Andre [Fri, 7 Oct 2016 03:43:21 +0000 (12:43 +0900)]
evas: Add pseudo-internal API to intercept basic calls

This is a poor man's solution to get rid of group functions such
as clip_set, clip_unset, color_set, etc... See the following
commits.

This API needs to be EAPI for elementary but shouldn't be used
outside EFL. This is required purely for legacy compatibility.

Here's the call flow, inside show(obj):
1. if (intercept_show(obj)) return;
2. show(super(obj));
3. do other stuff

7 years agoevas: Simplify code with intercept macros
Jean-Philippe Andre [Fri, 7 Oct 2016 03:34:24 +0000 (12:34 +0900)]
evas: Simplify code with intercept macros

7 years agoevas: Move intercept function types to legacy header
Jean-Philippe Andre [Fri, 7 Oct 2016 02:37:00 +0000 (11:37 +0900)]
evas: Move intercept function types to legacy header

7 years agoevas_data: Fix safety checks in evas_object_data
Jean-Philippe Andre [Wed, 7 Sep 2016 07:44:03 +0000 (16:44 +0900)]
evas_data: Fix safety checks in evas_object_data

This relies on efl_isa rather than the broken magic check
(by broken I mean it only checks for NULL).

7 years agoevas: Move group color_set after checking for change
Jean-Philippe Andre [Wed, 7 Sep 2016 05:47:33 +0000 (14:47 +0900)]
evas: Move group color_set after checking for change

I can't see why the group (smart object) color_set function
was called even if the color hadn't change. Let's test and
see if this breaks anything :)

7 years agoevas: Small simplification of object color_set
Jean-Philippe Andre [Tue, 6 Sep 2016 12:03:11 +0000 (21:03 +0900)]
evas: Small simplification of object color_set

7 years agogroup: Replace group_no_render by object no_render
Jean-Philippe Andre [Tue, 6 Sep 2016 11:02:34 +0000 (20:02 +0900)]
group: Replace group_no_render by object no_render

Most of the smart functions "Efl.Canvas.Group.group_xxx" should
not exist and be overrides of the base object function instead.
Cleaning this up is necessary if we want an EO API for custom
smart objects. This patch is the first attempt at removing a
method (the simplest one).

As for no_render, I wonder if propagating to the children
really is necessary. evas_render should skip them already.

7 years agoecore-drm2: Free Output modes on destroy
Chris Michael [Tue, 11 Oct 2016 15:30:13 +0000 (11:30 -0400)]
ecore-drm2: Free Output modes on destroy

When we destroy outputs, we should be freeing the Output's Modes also
as that was previously allocated memory.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Use Atomic Modesetting for resolution changes
Chris Michael [Tue, 11 Oct 2016 15:22:40 +0000 (11:22 -0400)]
ecore-drm2: Use Atomic Modesetting for resolution changes

Since we have atomic properties now, we can use those to set given
Output modes (resolutions).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoedje_calc: add rounding pixel calculation for transition.
Hosang Kim [Tue, 11 Oct 2016 12:11:14 +0000 (21:11 +0900)]
edje_calc: add rounding pixel calculation for transition.

Summary: when transition animation is working, sometimes one pixels loss occurs.

Reviewers: cedric, woohyun, jpeg, raster

Subscribers: jpeg

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

7 years agoedje_edit: proper work with part id's on part restack and del for map fields
Vitalii Vorobiov [Tue, 11 Oct 2016 11:54:24 +0000 (14:54 +0300)]
edje_edit: proper work with part id's on part restack and del for map fields

@fix

7 years agoevas: Fix no update issue if visiblity of smart object has change
jiin.moon [Tue, 11 Oct 2016 12:08:29 +0000 (21:08 +0900)]
evas: Fix no update issue if visiblity of smart object has change

Summary: If child has change about visibility, can't check it correctly.

Reviewers: jypark, cedric, jpeg, Hermet

Reviewed By: Hermet

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

7 years agowindows: remove expicit -levil flag
Andrii Kroitor [Tue, 11 Oct 2016 08:42:21 +0000 (11:42 +0300)]
windows: remove expicit -levil flag

Summary:
Built from sources version of evil is already added to linker flags and
adding extra -levil makes build fail if evil is not already installed in system.
Looks like this flag was here from old times when all efl libraries were separated.

Reviewers: vtorri, NikaWhite

Reviewed By: NikaWhite

Subscribers: cedric, jpeg

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

7 years agoevas: Fix not update issue with TBM surface
jiin.moon [Tue, 11 Oct 2016 00:28:52 +0000 (08:58 +0830)]
evas: Fix not update issue with TBM surface

Summary:
If the pixels of image object has updates
via native_suface_set api with TBM surface,
does not update on screen(no rendering)

Reviewers: jpeg, cedric

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

7 years agoMerge branch 'devs/iscaro/osx'
Bruno Dilly [Mon, 10 Oct 2016 18:25:33 +0000 (15:25 -0300)]
Merge branch 'devs/iscaro/osx'

Some fixes for OS X.

This series fixes two problems pointed by jayji and some other
compiler warnings.

Patches by iscaro.
Differential Revision: https://phab.enlightenment.org/D4339

7 years agoEcore Evas Cocoa: Properly unregister the window events.
Guilherme Iscaro [Sun, 9 Oct 2016 21:43:28 +0000 (18:43 -0300)]
Ecore Evas Cocoa: Properly unregister the window events.

Fix T4624

7 years agoEet example: Add the correct variable in the hash.
Guilherme Iscaro [Sun, 9 Oct 2016 17:52:02 +0000 (14:52 -0300)]
Eet example: Add the correct variable in the hash.

7 years agoEfl UI Win: Avoid unused variable.
Guilherme Iscaro [Sun, 9 Oct 2016 17:12:03 +0000 (14:12 -0300)]
Efl UI Win: Avoid unused variable.

It's only used under X11 and Wayland backends.

7 years agoEcore_Thread: Avoid compiler warning
Guilherme Iscaro [Sun, 9 Oct 2016 16:51:53 +0000 (13:51 -0300)]
Ecore_Thread: Avoid compiler warning

Use PRIuPTR to print the Eina_Thread handle.

7 years agoEcore Cocoa: Add missing modifiers field to Ecore Events
Guilherme Iscaro [Sat, 8 Oct 2016 20:29:08 +0000 (17:29 -0300)]
Ecore Cocoa: Add missing modifiers field to Ecore Events

Fix T4477

7 years agoEcore_Cocoa: Fix repeat modifers keys.
Guilherme Iscaro [Sat, 8 Oct 2016 20:20:28 +0000 (17:20 -0300)]
Ecore_Cocoa: Fix repeat modifers keys.

Some values were repeated.

7 years agoecore_ipc: fix typos in documentation group names
Jee-Yong Um [Mon, 10 Oct 2016 04:57:42 +0000 (13:57 +0900)]
ecore_ipc: fix typos in documentation group names

Summary: fix typos in documentation group names to grouping APIs correctly

Reviewers: cedric, jpeg, Hermet

Reviewed By: Hermet

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

7 years agoFDO icons: add missing system-file-manager icon
Dave Andreoli [Sun, 9 Oct 2016 19:42:53 +0000 (21:42 +0200)]
FDO icons: add missing system-file-manager icon

Fix T4638

(cherry picked from commit 3fe1429eee5568ef7af7bc47a9dc43ce65e084ca)

7 years agoelm_code: Don't allow cursor to be placed mid-tab
Andy Williams [Sat, 8 Oct 2016 13:44:02 +0000 (14:44 +0100)]
elm_code: Don't allow cursor to be placed mid-tab

7 years agoecore-wl2: add internal window flag for determining if opaque/input have been set
Mike Blumenkrantz [Fri, 7 Oct 2016 15:00:08 +0000 (11:00 -0400)]
ecore-wl2: add internal window flag for determining if opaque/input have been set

7 years agoecore-wl2: apply input+opaque regions after creating window surface
Mike Blumenkrantz [Fri, 7 Oct 2016 14:51:14 +0000 (10:51 -0400)]
ecore-wl2: apply input+opaque regions after creating window surface

@fix

7 years agoecore-wl2: avoid crashes when setting window attrs before surface creation
Mike Blumenkrantz [Fri, 7 Oct 2016 14:46:28 +0000 (10:46 -0400)]
ecore-wl2: avoid crashes when setting window attrs before surface creation

this is async anyway

@fix

7 years agocmake: update to the new eolian bin syntax
Marcel Hollerbach [Fri, 7 Oct 2016 14:16:32 +0000 (16:16 +0200)]
cmake: update to the new eolian bin syntax

7 years agoMerge branch 'devs/q66/eolian_gen_next'
Daniel Kolesa [Fri, 7 Oct 2016 11:36:15 +0000 (13:36 +0200)]
Merge branch 'devs/q66/eolian_gen_next'

This merges a rewritten Eolian C generator which replaces the previous
generator. The old generator did not properly reflect the design choices taken
in the Eolian library, which resulted in a sub-par codebase that was a lot more
complicated than it had to be which resulted in worse maintainability.

The new generator aims to remedy that; it has much simpler design that relies
on the Eolian library more and doesn't take certain design choices that were
made previously.

7 years agoeolian gen2: move to eolian gen (as the old one is gone)
Daniel Kolesa [Fri, 7 Oct 2016 11:34:47 +0000 (13:34 +0200)]
eolian gen2: move to eolian gen (as the old one is gone)

7 years agoeolian gen2: remove old eolian gen
Daniel Kolesa [Fri, 7 Oct 2016 11:26:08 +0000 (13:26 +0200)]
eolian gen2: remove old eolian gen

7 years agoeolian gen2: fix tests to match the new generator
Daniel Kolesa [Fri, 7 Oct 2016 11:13:27 +0000 (13:13 +0200)]
eolian gen2: fix tests to match the new generator

7 years agoeolian gen2: fix minor issues with c file generation
Daniel Kolesa [Fri, 7 Oct 2016 10:58:22 +0000 (12:58 +0200)]
eolian gen2: fix minor issues with c file generation

7 years agoeolian gen2: fix stub header include guard
Daniel Kolesa [Fri, 7 Oct 2016 10:31:01 +0000 (12:31 +0200)]
eolian gen2: fix stub header include guard

7 years agoeolian gen2: fix logging typo
Daniel Kolesa [Thu, 6 Oct 2016 14:36:33 +0000 (16:36 +0200)]
eolian gen2: fix logging typo

7 years agoeolian gen2: add newline between property get/set protos
Daniel Kolesa [Thu, 6 Oct 2016 14:35:25 +0000 (16:35 +0200)]
eolian gen2: add newline between property get/set protos

7 years agoeolian gen2: complete impl generator
Daniel Kolesa [Thu, 6 Oct 2016 14:33:45 +0000 (16:33 +0200)]
eolian gen2: complete impl generator

7 years agoeolian gen2: complete impl gen besides params
Daniel Kolesa [Thu, 6 Oct 2016 14:13:39 +0000 (16:13 +0200)]
eolian gen2: complete impl gen besides params

7 years agoeolian gen2: fix file read to actually trigger impl gen
Daniel Kolesa [Thu, 6 Oct 2016 12:56:49 +0000 (14:56 +0200)]
eolian gen2: fix file read to actually trigger impl gen

7 years agoeolian gen2: fully implement the main func for impl gen
Daniel Kolesa [Thu, 6 Oct 2016 12:46:07 +0000 (14:46 +0200)]
eolian gen2: fully implement the main func for impl gen

7 years agoeolian gen2: some initial impl generation
Daniel Kolesa [Wed, 5 Oct 2016 14:32:17 +0000 (16:32 +0200)]
eolian gen2: some initial impl generation

7 years agoeolian gen2: remove the unused append mode for file write
Daniel Kolesa [Wed, 5 Oct 2016 12:47:11 +0000 (14:47 +0200)]
eolian gen2: remove the unused append mode for file write

7 years agoeolian gen2: initial skeleton for impl gen
Daniel Kolesa [Wed, 5 Oct 2016 12:45:27 +0000 (14:45 +0200)]
eolian gen2: initial skeleton for impl gen

7 years agoeolian gen2: fix generation of legacy class method wrappers
Daniel Kolesa [Fri, 30 Sep 2016 12:27:22 +0000 (14:27 +0200)]
eolian gen2: fix generation of legacy class method wrappers

7 years agoeolian gen2: fix implement name generation
Daniel Kolesa [Fri, 30 Sep 2016 12:22:48 +0000 (14:22 +0200)]
eolian gen2: fix implement name generation

7 years agoeolian gen2: properly return from class initializer
Daniel Kolesa [Fri, 30 Sep 2016 12:16:59 +0000 (14:16 +0200)]
eolian gen2: properly return from class initializer

7 years agoeolian gen2: proper generation of inherits in class def
Daniel Kolesa [Fri, 30 Sep 2016 12:15:07 +0000 (14:15 +0200)]
eolian gen2: proper generation of inherits in class def

7 years agoeolian gen2: properly generate class type for desc too
Daniel Kolesa [Fri, 30 Sep 2016 12:07:16 +0000 (14:07 +0200)]
eolian gen2: properly generate class type for desc too

7 years agoeolian gen2: sanitize data type properly
Daniel Kolesa [Fri, 30 Sep 2016 11:59:22 +0000 (13:59 +0200)]
eolian gen2: sanitize data type properly

7 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

7 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

7 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

7 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)

7 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)

7 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

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

7 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

7 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

7 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

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

7 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

7 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

7 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

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

7 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

7 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

7 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

7 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

7 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

7 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)

7 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

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

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

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

7 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

7 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

7 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

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

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

7 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

7 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

7 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

7 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

7 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

7 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.

7 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.

7 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.

7 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.

7 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.

7 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().

7 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

7 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.

7 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)