platform/upstream/efl.git
7 years agoupdate according to cedrics review comments
Marcel Hollerbach [Fri, 23 Dec 2016 12:48:00 +0000 (13:48 +0100)]
update according to cedrics review comments

7 years agofocus: update object definition
Marcel Hollerbach [Wed, 21 Dec 2016 23:28:24 +0000 (00:28 +0100)]
focus: update object definition

Summary: This introduces a new focus system and the migration to this system.

Test Plan: run elementary_test

Reviewers: cedric

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

7 years agoelm_widget: add unfocusable to debug informations
Marcel Hollerbach [Wed, 21 Dec 2016 20:40:52 +0000 (21:40 +0100)]
elm_widget: add unfocusable to debug informations

7 years agoefl_ui_focus_manager: make setting a order easier
Marcel Hollerbach [Wed, 21 Dec 2016 19:23:55 +0000 (20:23 +0100)]
efl_ui_focus_manager: make setting a order easier

7 years agoelm_box,grid,table: take the resize object as evas object
Marcel Hollerbach [Wed, 21 Dec 2016 18:30:21 +0000 (19:30 +0100)]
elm_box,grid,table: take the resize object as evas object

7 years agoefl_ui_focus_manager: if there is no normal item then just do nothing
Marcel Hollerbach [Wed, 21 Dec 2016 12:19:47 +0000 (13:19 +0100)]
efl_ui_focus_manager: if there is no normal item then just do nothing

7 years agoefl_ui_flip: migrate to new focus system
Marcel Hollerbach [Wed, 21 Dec 2016 12:06:54 +0000 (13:06 +0100)]
efl_ui_flip: migrate to new focus system

7 years agoelm_grid: migrate to new focus system
Marcel Hollerbach [Wed, 21 Dec 2016 11:29:06 +0000 (12:29 +0100)]
elm_grid: migrate to new focus system

7 years agoefl_ui_focus_manager: there is the case that n can be NULL
Marcel Hollerbach [Wed, 21 Dec 2016 11:28:44 +0000 (12:28 +0100)]
efl_ui_focus_manager: there is the case that n can be NULL

7 years agoefl_ui_focus_manager_sub: do not update if parent is NULL
Marcel Hollerbach [Wed, 21 Dec 2016 10:42:41 +0000 (11:42 +0100)]
efl_ui_focus_manager_sub: do not update if parent is NULL

is is actually a dangerous case, and should NEVER happen

7 years agoefl_ui_frame: migrate to new focus system
Marcel Hollerbach [Wed, 21 Dec 2016 10:41:55 +0000 (11:41 +0100)]
efl_ui_frame: migrate to new focus system

when collapsed the subtree is unfocusable

7 years agoelm_table: migrate to new focus system
Marcel Hollerbach [Wed, 21 Dec 2016 10:05:49 +0000 (11:05 +0100)]
elm_table: migrate to new focus system

7 years agoelm_interface_scrollable: fix bringing in of items
Marcel Hollerbach [Tue, 20 Dec 2016 17:21:58 +0000 (18:21 +0100)]
elm_interface_scrollable: fix bringing in of items

7 years agoelm_scroller: migrate to new focus system
Marcel Hollerbach [Tue, 20 Dec 2016 16:34:08 +0000 (17:34 +0100)]
elm_scroller: migrate to new focus system

the scrollable interface is doing most of the work, if we know that
something is already focused we just leave the action_move.

7 years agoelm_widget: evalulate show flag and call focus on super
Marcel Hollerbach [Tue, 20 Dec 2016 16:31:33 +0000 (17:31 +0100)]
elm_widget: evalulate show flag and call focus on super

7 years agoelm_menu: mirgrate to the new focus
Marcel Hollerbach [Tue, 20 Dec 2016 16:29:26 +0000 (17:29 +0100)]
elm_menu: mirgrate to the new focus

this just means the menu is registering a new manager, it is not really
doing anything, its just there so the children which are searching for
one are finiding one. Elm menu has not handled anything with keys in the
past and will later learn to do so.

7 years agoelm_hover: migrate to new focus system
Marcel Hollerbach [Tue, 20 Dec 2016 16:28:36 +0000 (17:28 +0100)]
elm_hover: migrate to new focus system

the hover will set itself as redirect once it is visible. And unset
itself once it is hidden.

7 years agoefl_ui_win: migrate to the new focus system
Marcel Hollerbach [Tue, 20 Dec 2016 16:27:45 +0000 (17:27 +0100)]
efl_ui_win: migrate to the new focus system

this means, focus requests are redirected to the new focus manager.

7 years agoelm_interface_scrollable: use the submanager to register the children
Marcel Hollerbach [Tue, 20 Dec 2016 16:25:57 +0000 (17:25 +0100)]
elm_interface_scrollable: use the submanager to register the children

this adds the registered elements at the broder of the scrollable to the
parents manager. scroller and gengrid works for registering

7 years agoelm_box: set the correct order
Marcel Hollerbach [Tue, 20 Dec 2016 16:25:31 +0000 (17:25 +0100)]
elm_box: set the correct order

7 years agoefl_ui_focus_manager: allow settings of subsets
Marcel Hollerbach [Tue, 20 Dec 2016 16:24:09 +0000 (17:24 +0100)]
efl_ui_focus_manager: allow settings of subsets

those subsets will just be prepended.

7 years agoefl_ui_focus_manager: handle logical end correctly.
Marcel Hollerbach [Mon, 19 Dec 2016 20:18:42 +0000 (21:18 +0100)]
efl_ui_focus_manager: handle logical end correctly.

7 years agoefl_ui_focus_manager: fix error message
Marcel Hollerbach [Mon, 19 Dec 2016 18:56:06 +0000 (19:56 +0100)]
efl_ui_focus_manager: fix error message

7 years agoefl_ui_focus_manager: return the new candidate
Marcel Hollerbach [Mon, 19 Dec 2016 18:53:01 +0000 (19:53 +0100)]
efl_ui_focus_manager: return the new candidate

7 years agoefl_ui_focus_manager: handle redirect objects in logical better
Marcel Hollerbach [Mon, 19 Dec 2016 18:26:33 +0000 (19:26 +0100)]
efl_ui_focus_manager: handle redirect objects in logical better

7 years agoefl_ui_focus_manager: be more secure
Marcel Hollerbach [Mon, 19 Dec 2016 18:24:45 +0000 (19:24 +0100)]
efl_ui_focus_manager: be more secure

7 years agoefl_ui_focus_manager: fix sub manager logical handling
Marcel Hollerbach [Mon, 19 Dec 2016 18:23:12 +0000 (19:23 +0100)]
efl_ui_focus_manager: fix sub manager logical handling

7 years agoefl_ui_focus_manager: better error messages
Marcel Hollerbach [Mon, 19 Dec 2016 18:21:04 +0000 (19:21 +0100)]
efl_ui_focus_manager: better error messages

7 years agoefl_ui_focus_manager_sub: focus the item in sub and main manager
Marcel Hollerbach [Sat, 17 Dec 2016 18:45:56 +0000 (19:45 +0100)]
efl_ui_focus_manager_sub: focus the item in sub and main manager

7 years agoefl_ui_focus_manager: add log domain for focus movements
Marcel Hollerbach [Sat, 17 Dec 2016 10:55:59 +0000 (11:55 +0100)]
efl_ui_focus_manager: add log domain for focus movements

7 years agoefl_ui_focus_manager: restructure node struct
Marcel Hollerbach [Mon, 12 Dec 2016 18:23:42 +0000 (19:23 +0100)]
efl_ui_focus_manager: restructure node struct

a redirect can happen for logical OR normal

7 years agoefl_ui_focus_manager: more debug information
Marcel Hollerbach [Mon, 12 Dec 2016 18:10:19 +0000 (19:10 +0100)]
efl_ui_focus_manager: more debug information

7 years agoefl_ui_focus_manager: do not depend on elm widget events
Marcel Hollerbach [Mon, 12 Dec 2016 19:03:53 +0000 (20:03 +0100)]
efl_ui_focus_manager: do not depend on elm widget events

7 years agoefl_ui_focus_manager: unset redirect when focusing new item
Marcel Hollerbach [Mon, 12 Dec 2016 20:01:18 +0000 (21:01 +0100)]
efl_ui_focus_manager: unset redirect when focusing new item

7 years agoefl_ui_focus_manager: make next and prev searching deadlock prove
Marcel Hollerbach [Mon, 12 Dec 2016 18:09:34 +0000 (19:09 +0100)]
efl_ui_focus_manager: make next and prev searching deadlock prove

7 years agoefl_ui_focus_manager: unset redirect when destroyed
Marcel Hollerbach [Mon, 12 Dec 2016 18:09:03 +0000 (19:09 +0100)]
efl_ui_focus_manager: unset redirect when destroyed

7 years agoefl_ui_focus_manager: allow flushing of one single node
Marcel Hollerbach [Mon, 12 Dec 2016 12:56:52 +0000 (13:56 +0100)]
efl_ui_focus_manager: allow flushing of one single node

this gives a massive performance boost

7 years agoefl_ui_focus_manager_sub: register the forwared itself
Marcel Hollerbach [Wed, 7 Dec 2016 21:27:36 +0000 (22:27 +0100)]
efl_ui_focus_manager_sub: register the forwared itself

7 years agoefl_ui_focus_manager: handle redirect managers in a better way
Marcel Hollerbach [Wed, 7 Dec 2016 19:12:11 +0000 (20:12 +0100)]
efl_ui_focus_manager: handle redirect managers in a better way

7 years agoelm_widget: update focus register work
Marcel Hollerbach [Wed, 7 Dec 2016 15:59:13 +0000 (16:59 +0100)]
elm_widget: update focus register work

now it trackes changes of the parent manager. And registers more
reliable.

7 years agoefl_ui_focus_manager: fix up tracking and returning of data
Marcel Hollerbach [Wed, 7 Dec 2016 15:48:00 +0000 (16:48 +0100)]
efl_ui_focus_manager: fix up tracking and returning of data

a logical parent should not be in the border elements. The child should
also be not deleted itself. If we do so correct deletion could fail.

7 years agotests: update to recent changes
Marcel Hollerbach [Sat, 17 Dec 2016 18:51:35 +0000 (19:51 +0100)]
tests: update to recent changes

7 years agoefl_ui_focus_manager_sub: update to recenent changes
Marcel Hollerbach [Tue, 6 Dec 2016 13:36:37 +0000 (14:36 +0100)]
efl_ui_focus_manager_sub: update to recenent changes

7 years agoefl_ui_focus_manager_sub: register children correctly
Marcel Hollerbach [Sun, 4 Dec 2016 20:37:07 +0000 (21:37 +0100)]
efl_ui_focus_manager_sub: register children correctly

7 years agoelm_widget: add logical parent to interface
Marcel Hollerbach [Sat, 19 Nov 2016 11:46:21 +0000 (12:46 +0100)]
elm_widget: add logical parent to interface

and evaluate all values correctly and emit the correct events

7 years agoelm_widget: make sure we dont have a destructed logical parent
Marcel Hollerbach [Fri, 18 Nov 2016 12:28:11 +0000 (13:28 +0100)]
elm_widget: make sure we dont have a destructed logical parent

7 years agoefl_ui_focus_manager_sub: register the root as logical
Marcel Hollerbach [Fri, 18 Nov 2016 12:26:24 +0000 (13:26 +0100)]
efl_ui_focus_manager_sub: register the root as logical

7 years agoefl_ui_focus_manager: a logical item should never get focus.
Marcel Hollerbach [Thu, 17 Nov 2016 13:55:43 +0000 (14:55 +0100)]
efl_ui_focus_manager: a logical item should never get focus.

7 years agoefl_ui_focus_manager: use data iterator not key iterator
Marcel Hollerbach [Wed, 16 Nov 2016 19:50:20 +0000 (20:50 +0100)]
efl_ui_focus_manager: use data iterator not key iterator

this saves one call to node_get

7 years agoelm_widget: enhance focus handling of the widget
Marcel Hollerbach [Wed, 16 Nov 2016 18:01:30 +0000 (19:01 +0100)]
elm_widget: enhance focus handling of the widget

widgets will now use there widget parent as logical parent.

7 years agoelm_widget: add debugging informations for a manager in a widget
Marcel Hollerbach [Wed, 16 Nov 2016 17:58:57 +0000 (18:58 +0100)]
elm_widget: add debugging informations for a manager in a widget

7 years agoefl_ui_focus_manager: new api for adding a logical widget
Marcel Hollerbach [Wed, 16 Nov 2016 17:54:26 +0000 (18:54 +0100)]
efl_ui_focus_manager: new api for adding a logical widget

a widget which is registered logically will not be used for right left
top or down relations.

7 years agoefl_ui_win: make it a focus manager
Marcel Hollerbach [Fri, 4 Nov 2016 16:44:37 +0000 (17:44 +0100)]
efl_ui_win: make it a focus manager

Added a focusmanager with the window itself as the root.

7 years agoelm_widget: make it a efl_ui_focus_object
Marcel Hollerbach [Fri, 4 Nov 2016 16:43:40 +0000 (17:43 +0100)]
elm_widget: make it a efl_ui_focus_object

it will register based on it can_focus flag

7 years agoefl_ui_focus_manager: add new api to receive child configuration
Marcel Hollerbach [Fri, 4 Nov 2016 16:42:26 +0000 (17:42 +0100)]
efl_ui_focus_manager: add new api to receive child configuration

7 years agofocus: fix compilation
Marcel Hollerbach [Thu, 27 Oct 2016 17:06:17 +0000 (19:06 +0200)]
focus: fix compilation

it seems like eolian changed, so i need to import the eina_types

7 years agomanagersub: remove the select_set call
Marcel Hollerbach [Mon, 24 Oct 2016 15:16:34 +0000 (17:16 +0200)]
managersub: remove the select_set call

this can be done directly be inheriting border_elements and cutting down
the set.

7 years agofocus: update documentation on all eo files
Marcel Hollerbach [Mon, 24 Oct 2016 10:59:59 +0000 (12:59 +0200)]
focus: update documentation on all eo files

we should now have a complete documentation of those eo files

7 years agofocus: update object definition
Marcel Hollerbach [Mon, 24 Oct 2016 10:58:30 +0000 (12:58 +0200)]
focus: update object definition

the event is now a bit better, since you only need to subscribe to one
event instead of two, the new state is passed in the event.

7 years agoefl_ui: introduce a focus manager and sub manager object
Marcel Hollerbach [Thu, 20 Oct 2016 20:59:05 +0000 (22:59 +0200)]
efl_ui: introduce a focus manager and sub manager object

The Efl.Ui.Focus.Manager abstracts the creation of a localization graph
and a logical tree. The localization graph is used to find a object
right left up or down of a given object. The logical tree is used to
iterate throuw the containers which are used to build a ui.

Those managers can be used bound to some layer in the ui, so for
example the window is a layer, the content of a scroller is a layer.
With those layers, we can make sure that movements of a scroller for
example just means that this graph of objects in the scroller needs to
be recalculated, and not the complete ui.

The advantage of having this to layer bound datastructures is that you
can easily debug those graphs, since the complete layer of this
managerobject can be calculated completly.

7 years agoedje_cc: Keep script block during group inheritance
Jeeyong Um [Thu, 20 Apr 2017 11:26:17 +0000 (20:26 +0900)]
edje_cc: Keep script block during group inheritance

Currently, script block is removed when an edje group inherits from other group
after defining its own script block.
  group { "somegroup";
    script {
       ...
    }
    parts {
       ...
    }
    inherit: "othergroup"; // <= previous script block is removed here.
  }

If parent group doesn't have script block, it doesn't need to overwrite previous
one. This will keep script block and print warning when script block is overwritten.

7 years agoelm_image: Fix file_set when preload is disabled
Jean-Philippe Andre [Thu, 20 Apr 2017 09:29:26 +0000 (18:29 +0900)]
elm_image: Fix file_set when preload is disabled

If we disable preload, then the second file set on an elm_image
object would not trigger a deletion of the first image. As a
consequence, both images would be visible... really bad if there's
alpha or different dimensions!

Thanks Anand Kumar for the report!

@fix

7 years agoexamples: Fix most trivial warnings
Jean-Philippe Andre [Thu, 20 Apr 2017 06:33:59 +0000 (15:33 +0900)]
examples: Fix most trivial warnings

This fixes all warnings for "make examples" for:
 -Wunused-parameter
 -Wshadow
 -Wformat-security
 -Wenum-conversion

Some remaining warnings include:
 -Wdeprecated-delcarations

7 years agoexamples/evas: Use printf instead of fprintf(stdout, ...)
Bryce Harrington [Thu, 20 Apr 2017 05:21:21 +0000 (14:21 +0900)]
examples/evas: Use printf instead of fprintf(stdout, ...)

Summary:
Applies the correction purely mechanically using the following shell
command-line:

    src/examples/evas$ grep -sr 'fprintf(stdout' . | cut -d: -f1 | uniq | \
        xargs sed -i "s/fprintf(stdout/printf(/"

This fixes a few warnings about lack of a format string:

    warning: format not a string literal and no format arguments [-Wformat-security]
        fprintf(stdout, commands);

Reviewers: cedric

Subscribers: cedric

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

7 years agoecore_wl2: destroy dmabuf global at shutdown
Derek Foreman [Wed, 19 Apr 2017 21:45:34 +0000 (16:45 -0500)]
ecore_wl2: destroy dmabuf global at shutdown

Fixes a small memory leak.

7 years agoecore_wl2: refactor global cleanup in shutdown paths
Derek Foreman [Wed, 19 Apr 2017 21:35:36 +0000 (16:35 -0500)]
ecore_wl2: refactor global cleanup in shutdown paths

Both session recovery and regular disconnect do this, so make
it a function to ensure they stay in sync.

7 years agoecore-drm2: Iterate plane formats properly
Chris Michael [Wed, 19 Apr 2017 18:56:27 +0000 (14:56 -0400)]
ecore-drm2: Iterate plane formats properly

This patch addresses an issue where plane formats were not being
properly copied into our Plane State structure and causing any usage
of our atomic code paths to crash and burn

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelput: Remove specific case for pointer wheel tilt
Chris Michael [Wed, 19 Apr 2017 18:13:29 +0000 (14:13 -0400)]
elput: Remove specific case for pointer wheel tilt

Since efl-jenkins does not have libinput >= 1.7.0, this commit broke
the jenkins build due to missing
LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT value. We should be able to
get by with letting 'default' case handle it....

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelm.hoversel: highlight selected item when auto update is enabled
Jeeyong Um [Wed, 19 Apr 2017 17:41:08 +0000 (10:41 -0700)]
elm.hoversel: highlight selected item when auto update is enabled

Summary:
When auto update is enabled, the label of the hoversel will be that of selected
item. This feature is usually used when changing state of something.
Highlighting item previous selected will show what is current state more
explicitly especailly hoversel has many items.

Test Plan: elementary_test -to hoversel

Reviewers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoedje_pick: fix a couple spelling errors
Bryce Harrington [Wed, 19 Apr 2017 17:40:37 +0000 (10:40 -0700)]
edje_pick: fix a couple spelling errors

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoecore_evas: fix some incorrect words
Bryce Harrington [Wed, 19 Apr 2017 17:40:03 +0000 (10:40 -0700)]
ecore_evas: fix some incorrect words

Summary:
 + whichever -> whatever
 + hyphenate pre-* and post-*
 + flowed -> followed

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoevas: fix several incorrect words
Bryce Harrington [Wed, 19 Apr 2017 17:39:22 +0000 (10:39 -0700)]
evas: fix several incorrect words

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoevas: fix spelling for "ptimitive"
Bryce Harrington [Wed, 19 Apr 2017 17:38:39 +0000 (10:38 -0700)]
evas: fix spelling for "ptimitive"

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoelput: Add case for wheel tilt when getting pointer axis value
Chris Michael [Wed, 19 Apr 2017 17:16:57 +0000 (13:16 -0400)]
elput: Add case for wheel tilt when getting pointer axis value

libinput >= 1.7.0 added support for
LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT, however we do not yet support
that in elput, thus gcc was spilling a warning about an unhandled
enumeration value here. We'll add a case for the above, plus a default
to cover any future additions.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelput: Remove unused variable
Chris Michael [Wed, 19 Apr 2017 17:15:02 +0000 (13:15 -0400)]
elput: Remove unused variable

Gcc reports 'flags' as unused here, so remove it

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-con: Remove unused variable
Chris Michael [Wed, 19 Apr 2017 14:57:43 +0000 (10:57 -0400)]
ecore-con: Remove unused variable

Gcc complains that 'flags' here may be used uninitialized. In looking
at the code, 'flags' does not seem to be needed in the debug prints
here. If we keep and initialize the variable to 0 during declaration,
it would only ever print out 0 anyway as 'flags' is never changed in the
code.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoeolian: fix buggy generation of auto/empty on properties
Daniel Kolesa [Wed, 19 Apr 2017 11:24:38 +0000 (13:24 +0200)]
eolian: fix buggy generation of auto/empty on properties

We only want to generate auto/empty function bodies on what is
specified inside the braces for properties, not for the whole
property.

7 years agoEvas.Table: Apply mirrored correctly when align is set
Jeeyong Um [Wed, 19 Apr 2017 07:47:39 +0000 (16:47 +0900)]
Evas.Table: Apply mirrored correctly when align is set

Summary:
When table items are left aligned and mirrored is set, items should be placed
from the right side, but align is not changed. (still left-aligned)

@fix

Test Plan: make and run attached example

Reviewers: cedric, jpeg

Subscribers: thiepha, woohyun

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

7 years agoelm_map: Fix elm_map_overlay_color_get
se.osadchy [Wed, 19 Apr 2017 05:45:04 +0000 (14:45 +0900)]
elm_map: Fix elm_map_overlay_color_get

Summary:
Add all supports types for overlay color (such as in Doc.)
@fix

Reviewers: cedric, Hermet, raster, NikaWhite, jpeg

Reviewed By: jpeg

Subscribers: jpeg, artem.popov

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

7 years agoeo: Micro-optimize function calls
Jean-Philippe Andre [Wed, 19 Apr 2017 04:51:27 +0000 (13:51 +0900)]
eo: Micro-optimize function calls

This is related to the previous changes to efl_super.

7 years agoeo: Remove super bit from eo id
Jean-Philippe Andre [Wed, 19 Apr 2017 02:41:15 +0000 (11:41 +0900)]
eo: Remove super bit from eo id

It is not required anymore as the super class and super bit can
be stored inside the object data. See the previous patches.

7 years agoeo: Add docs for efl_super and efl_cast (doxygen)
Jean-Philippe Andre [Wed, 19 Apr 2017 02:32:28 +0000 (11:32 +0900)]
eo: Add docs for efl_super and efl_cast (doxygen)

7 years agoeo: Add new API efl_cast
Jean-Philippe Andre [Tue, 18 Apr 2017 11:41:11 +0000 (20:41 +0900)]
eo: Add new API efl_cast

This is similar to efl_super but the specified class is the one
we want to call the function on. This is similar to dynamic_cast<>
in C++.

Note: both efl_super() and efl_cast() need documentation!

This is an experimental feature.

Fixes T5311

@feature

Maniphest Tasks: T5311

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

7 years agoeo: Remove lock from efl_super
Jean-Philippe Andre [Tue, 18 Apr 2017 10:57:53 +0000 (19:57 +0900)]
eo: Remove lock from efl_super

I've always really disliked this lock. If someone calls a non-eo
function by accident with efl_super() then you'll most likely end
up in a deadlock.

This adds the cur_klass pointer to the object itself, exploiting
the fact that we have 8 bytes of padding (on 64 bits, at least).

Also, this opens the door to efl_cast() which would be similar to
efl_super() except that only a dynamic cast is done, not a call
to the parent function.

make benchmark shows a performance improvement, surprisingly.

This is a bit experimental. See also the following commit (efl_cast)

7 years agoecore_pipe: Fixed dead lock with epoll
Ivan Furs [Wed, 19 Apr 2017 01:29:27 +0000 (10:29 +0900)]
ecore_pipe: Fixed dead lock with epoll

See a76ebea2d840ecc575efb025574c15503225b83f and the following
commits on this file.

The following test scenario let to easily reproducible
application hangs:

  elementary_test -to "Icon Desktops"
  # then scroll vigorously with the mouse wheel up/down

This patch was applied as a new revision on the below diff:

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

7 years agoecore: use new API eina_file_close_on_exec in example too.
Cedric BAIL [Tue, 18 Apr 2017 23:57:36 +0000 (16:57 -0700)]
ecore: use new API eina_file_close_on_exec in example too.

7 years agoevas: use new API eina_file_close_on_exec.
Cedric BAIL [Tue, 18 Apr 2017 23:57:23 +0000 (16:57 -0700)]
evas: use new API eina_file_close_on_exec.

7 years agoelementary: use new API eina_file_close_on_exec.
Cedric BAIL [Tue, 18 Apr 2017 23:57:11 +0000 (16:57 -0700)]
elementary: use new API eina_file_close_on_exec.

7 years agoelput: use new API eina_file_close_on_exec.
Cedric BAIL [Tue, 18 Apr 2017 23:56:56 +0000 (16:56 -0700)]
elput: use new API eina_file_close_on_exec.

7 years agoeio: use new API eina_file_close_on_exec.
Cedric BAIL [Tue, 18 Apr 2017 23:56:40 +0000 (16:56 -0700)]
eio: use new API eina_file_close_on_exec.

7 years agoecore_file: use new API eina_file_close_on_exec.
Cedric BAIL [Tue, 18 Apr 2017 23:56:18 +0000 (16:56 -0700)]
ecore_file: use new API eina_file_close_on_exec.

7 years agoecore_con: use new API eina_file_close_on_exec.
Cedric BAIL [Tue, 18 Apr 2017 23:56:01 +0000 (16:56 -0700)]
ecore_con: use new API eina_file_close_on_exec.

7 years agoecore: use new API eina_file_close_on_exec.
Cedric BAIL [Tue, 18 Apr 2017 23:55:31 +0000 (16:55 -0700)]
ecore: use new API eina_file_close_on_exec.

7 years agoevas: use new API eina_file_close_on_exec.
Cedric BAIL [Tue, 18 Apr 2017 23:55:03 +0000 (16:55 -0700)]
evas: use new API eina_file_close_on_exec.

7 years agoeet: use new API eina_file_close_on_exec.
Cedric BAIL [Tue, 18 Apr 2017 23:54:44 +0000 (16:54 -0700)]
eet: use new API eina_file_close_on_exec.

7 years agoeina: use new API eina_file_close_on_exec.
Cedric BAIL [Tue, 18 Apr 2017 23:54:03 +0000 (16:54 -0700)]
eina: use new API eina_file_close_on_exec.

7 years agoeina: add an API to correctly do close on exec.
Cedric BAIL [Tue, 18 Apr 2017 23:53:26 +0000 (16:53 -0700)]
eina: add an API to correctly do close on exec.

7 years agoecore-drm2: Add support for putting dmabuf clients into hardware planes
Chris Michael [Tue, 18 Apr 2017 11:57:56 +0000 (07:57 -0400)]
ecore-drm2: Add support for putting dmabuf clients into hardware planes

Small patch set which adds necessary API functions that we can use in
order to allow placing dmabuf clients into a hardware plane based on
supported format, size, etc.

Merge branch 'devs/devilhorns/planes'

7 years agoecore-drm2: Add fields to plane structure for current, next, pending
Chris Michael [Tue, 28 Mar 2017 15:18:05 +0000 (11:18 -0400)]
ecore-drm2: Add fields to plane structure for current, next, pending
FBOs

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Free any previous atomic request
Chris Michael [Tue, 28 Mar 2017 13:18:37 +0000 (09:18 -0400)]
ecore-drm2: Free any previous atomic request

If we fail the atomic request merge, cleanup any previous request and
just use the new one.

Signed-off-by: Chris Michael <cp.michael@samsung.com>