platform/upstream/efl.git
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>
7 years agoecore-drm2: Add API functions for atomic commit test and commit
Chris Michael [Mon, 27 Mar 2017 17:56:03 +0000 (13:56 -0400)]
ecore-drm2: Add API functions for atomic commit test and commit

This patch adds 2 new API functions, one which we can use to test atomic
commits before actually applying them, and another which does the
actual Atomic commit.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Add library symlink to merge atomic commit requests
Chris Michael [Mon, 27 Mar 2017 17:35:36 +0000 (13:35 -0400)]
ecore-drm2: Add library symlink to merge atomic commit requests

Small commit to symlink to drmModeAtomicMerge function so we can use
that for atomic commit tests.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Add API function to set plane destination
Chris Michael [Mon, 27 Mar 2017 17:30:56 +0000 (13:30 -0400)]
ecore-drm2: Add API function to set plane destination

When we do an atomic commit, we need to know where to place a given
plane (in the case of overlays) in relation to the CRTC, so provide an
API function that can be used for that purpose.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Store plane src values on assign
Chris Michael [Mon, 27 Mar 2017 17:28:06 +0000 (13:28 -0400)]
ecore-drm2: Store plane src values on assign

As we will need the plane state source values when we do an atomic
commit, we can store them when plane_assign is called as we already
have the FBO available.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Add hardware plane functions
Chris Michael [Mon, 27 Mar 2017 15:54:38 +0000 (11:54 -0400)]
ecore-drm2: Add hardware plane functions

This patch adds a new file where we can store any additional functions
we may need to work with hardware planes. Currently the file contains
a public function that can be used to assign a given Ecore_Drm2_Fb to
a hardware plane

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Cleanup list of output planes on output_destroy
Chris Michael [Mon, 27 Mar 2017 15:53:54 +0000 (11:53 -0400)]
ecore-drm2: Cleanup list of output planes on output_destroy

Small patch to make sure we free memory previously allocated for
hardware planes when we destroy an output

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Move defines for CAP_CURSOR sizes to private header
Chris Michael [Mon, 27 Mar 2017 15:52:44 +0000 (11:52 -0400)]
ecore-drm2: Move defines for CAP_CURSOR sizes to private header

As we may need these defines in other files, move them to the private
header so there is access to them.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Store cursor size on device
Chris Michael [Mon, 27 Mar 2017 14:56:50 +0000 (10:56 -0400)]
ecore-drm2: Store cursor size on device

As we will need these values later to determine if an FBO can go onto
the cursor plane, we should store this in the device structure to
avoid having to refetch them later.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Support multiple planes on a given output
Chris Michael [Mon, 27 Mar 2017 14:53:01 +0000 (10:53 -0400)]
ecore-drm2: Support multiple planes on a given output

Various hardware can support multiple planes on a given output. As
such, we need to be able to store multiple plane states per-output.
This small patch adds support for that.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Add support for plane formats
Chris Michael [Mon, 27 Mar 2017 14:50:52 +0000 (10:50 -0400)]
ecore-drm2: Add support for plane formats

Small patch to store supported formats on a given plane state. This
will be used for assigning dmabuf clients to a hardware plane based on
size and supported format.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Remove old atomic flipping code
Chris Michael [Mon, 27 Mar 2017 13:27:19 +0000 (09:27 -0400)]
ecore-drm2: Remove old atomic flipping code

As we are refactoring the usage of hardware planes and atomic commits,
we need to remove the old usage of atomic flipping for ecore_drm2_fb
because atomic flipping will be handled differently.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Add opaque structure to represent a hardware plane
Chris Michael [Fri, 24 Mar 2017 12:01:51 +0000 (08:01 -0400)]
ecore-drm2: Add opaque structure to represent a hardware plane

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Disable driver whitelist tests
Chris Michael [Thu, 23 Mar 2017 15:52:15 +0000 (11:52 -0400)]
ecore-drm2: Disable driver whitelist tests

While having the ability to test for specific driver and kernel
versions is nice to ensure that Atomic is supported, it quickly can
get out of hand trying to maintain this whitelist so (for now) disable
it and rely on the kernel results from drmSetCap.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore_drm2: Add ecore_drm2_fb_dmabuf_import
Derek Foreman [Tue, 21 Mar 2017 20:44:46 +0000 (15:44 -0500)]
ecore_drm2: Add ecore_drm2_fb_dmabuf_import

Imports a set of dmabuf buffers as a single Ecore_Drm2_Fb

7 years agoecore_drm2: store 4 handles, strides, and planes
Derek Foreman [Tue, 21 Mar 2017 19:22:40 +0000 (14:22 -0500)]
ecore_drm2: store 4 handles, strides, and planes

We're going to support multi-planar formats soon.

It'll be great, you'll love it.

7 years agoecore_drm2: Use library function instead of ioctl for addfb2
Derek Foreman [Tue, 21 Mar 2017 19:21:14 +0000 (14:21 -0500)]
ecore_drm2: Use library function instead of ioctl for addfb2

Minor clean up.

7 years agoeo: Use COW to save 8~16 bytes per object
Jean-Philippe Andre [Tue, 18 Apr 2017 05:16:31 +0000 (14:16 +0900)]
eo: Use COW to save 8~16 bytes per object

Summary:
This uses Eina_Cow to implement support for rarely used features
in EO objects. This covers:
- composite objects (eg. UI widgets: combobox, text, video, win)
- vtable for efl_object_override
- del_intercept

All of these features are quite tricky to get right and while
very useful, should still be used with great care. With this patch,
the size of an _Eo_Object struct comes down from 80 bytes (rounded
up from 72b) to 64 bytes (rounded up from 56b) on 64 bits.

Also I haven't measured precisely but I don't expect any performance
impact since the COW data is more likely to remain in L1/L2 cache,
as the default one will be used most often. Unfortunately, the
results of "make benchmark" have been quite inconsistent over
multiple runs.

This saves ~64kb in elementary_test (>4k objects) at the cost of
~100 calls to COW write (del intercept on some events).

@optimization

Reviewers: raster, cedric

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

7 years agoedje_cc: Clean up repeated code in color setter
Jeeyong Um [Tue, 18 Apr 2017 08:19:56 +0000 (17:19 +0900)]
edje_cc: Clean up repeated code in color setter

Summary: Remove duplicated code

Reviewers: jpeg, cedric

Reviewed By: jpeg

Subscribers: bu5hm4n

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

7 years agoecore_evas: Unnecessary to test p before calling free(p)
Bryce Harrington [Tue, 18 Apr 2017 07:18:56 +0000 (16:18 +0900)]
ecore_evas: Unnecessary to test p before calling free(p)

Summary:
Modern, standards-compliant compilers already test p, so as per the C
spec it is superfluous to do so before the call.

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

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

7 years agoelm_filselector: don't force the icon size
Vyacheslav Reutskiy [Tue, 18 Apr 2017 08:29:29 +0000 (11:29 +0300)]
elm_filselector: don't force the icon size

A icon in the files view, mode grid, should not apply size bigger then
swallow for it. This commit additional fix for
52ddf9331a6eceac4b11fade920a7c6e85fe8a38

7 years agoecore file - use eina_file_mkstmp to solve umask complaint
Carsten Haitzler (Rasterman) [Tue, 18 Apr 2017 08:27:21 +0000 (17:27 +0900)]
ecore file - use eina_file_mkstmp to solve umask complaint

this fixes coverity CID 1039614

7 years agogenlist - fix coverity complaint about null check
Carsten Haitzler (Rasterman) [Tue, 18 Apr 2017 07:58:04 +0000 (16:58 +0900)]
genlist - fix coverity complaint about null check

we checked for null and then just used a null return later inthe loop.
this fixes that. this should fix CID 1360955

7 years agoeina log - try and fix coverity complaint about integer overflow again
Carsten Haitzler (Rasterman) [Tue, 18 Apr 2017 07:49:39 +0000 (16:49 +0900)]
eina log - try and fix coverity complaint about integer overflow again

it seems coverity didn't like our checks like if end - start > 0xffff
then dont do anything. this should effectively stop any issues but
seemingly not, so try another way to keep coverity happy.

CID 1361219

7 years agoeina log - try and fix coverity complaint about integer overflow again
Carsten Haitzler (Rasterman) [Tue, 18 Apr 2017 07:40:04 +0000 (16:40 +0900)]
eina log - try and fix coverity complaint about integer overflow again

it seems coverity didn't like our checks like if end - start > 0xffff
then dont do anything. this should effectively stop any issues but
seemingly not, so try another way to keep coverity happy.

CID 1361220

7 years agoefreet cache create - check return values of i/o funcs
Carsten Haitzler (Rasterman) [Tue, 18 Apr 2017 06:55:12 +0000 (15:55 +0900)]
efreet cache create - check return values of i/o funcs

this is pretty harmless but it checks these and at least reports an
error...

this fixes CID 1361941 + 1361940

@fix

7 years agoevas key lock state set - remove dead code
Carsten Haitzler (Rasterman) [Tue, 18 Apr 2017 06:40:23 +0000 (15:40 +0900)]
evas key lock state set - remove dead code

l is checked for NULL twice. this removes the pointless second check.
@fix

7 years agoevas key modifier state set - remove dead code
Carsten Haitzler (Rasterman) [Tue, 18 Apr 2017 06:38:32 +0000 (15:38 +0900)]
evas key modifier state set - remove dead code

m is checked for NULL twice. this removes the pointless second check.
@fix

7 years agoevas - table - remove logically dead code
Carsten Haitzler (Rasterman) [Tue, 18 Apr 2017 06:13:28 +0000 (15:13 +0900)]
evas - table - remove logically dead code

this is right - it is dead code. this fixes CID 1372487

@fix

7 years agoAUTHORS: Add Sungtaek Hong to the authors file
Jeeyong Um [Tue, 18 Apr 2017 07:50:26 +0000 (16:50 +0900)]
AUTHORS: Add Sungtaek Hong to the authors file

7 years agoedje_cc: add short state handler for part.description.clip_to
Sungtaek Hong [Tue, 18 Apr 2017 07:48:04 +0000 (16:48 +0900)]
edje_cc: add short state handler for part.description.clip_to

Summary:
part.clip_to statement has short handler named "part.clip"
while part.description.clip_to does not.

Its short handler name should be "part.description.clip"
in order to have same experience with "part.clip".

Reviewers: cedric, Hermet, jpeg, conr2d

Reviewed By: conr2d

Subscribers: conr2d

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

7 years agoecore_imf: Added a new ecore_imf_context_keyboard_mode_get API and input_panel_event_...
Jihoon Kim [Tue, 18 Apr 2017 07:18:10 +0000 (16:18 +0900)]
ecore_imf: Added a new ecore_imf_context_keyboard_mode_get API and input_panel_event_callback type

Summary:
Applications want to know the current keyboard mode state to handle application's size manually.
So added a new ecore_imf_context_keyboard_mode_get API and input_panel_event_callback type for
keyboard mode.

Test Plan: Tested in Tizen device

Reviewers: jihoon, woohyun, id213sin

Reviewed By: jihoon

Subscribers: cedric, jsuya, z-wony, jpeg

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

7 years agoelm_fileselector: fix thumbnail size for other themes bisides default
Vyacheslav Reutskiy [Tue, 18 Apr 2017 06:25:51 +0000 (09:25 +0300)]
elm_fileselector: fix thumbnail size for other themes bisides default

Elm_fileselector has the hardcoded value for calculate the item size
with thumbail, this size was 16, it's looks like thumbnail size plus
labal text height, but hardcoded value haven't effect to scale. Other
problem with items without labels. As a result we have correct
thumbnail size only with default theme and with scale 1.0.

This commit made the item size accordingly to size what user set. It's
made more clearly this API behavior.

@fix

7 years agofileselector: apply style for files view
Vyacheslav Reutskiy [Fri, 14 Apr 2017 08:23:47 +0000 (11:23 +0300)]
fileselector: apply style for files view

By some reason style does not applyed to genlist/gengrid in
fileselector. Also fixed issue with applyed style for files view on
change mode.  Now this problem is fixed.

@fix

7 years agoeo/elm: Simplify box/grid EO API
Jean-Philippe Andre [Mon, 17 Apr 2017 04:41:29 +0000 (13:41 +0900)]
eo/elm: Simplify box/grid EO API

After talking with @eunue I realised that the way I'd first
implemented the box/grid "pack" API was simply too complicated.
I had tried to make it possible to change the layout function
at runtime, like good old evas box, but since there are no function
pointers in EO the final design was really convoluted.

If someone really needs to change the layout of a box at runtime,
just create your own subclass, or unpack all items and repack them
in a new box.

Note: there are still some issues with the layout params & flow

7 years agoeo: Fix crash in case of API misuse
Jean-Philippe Andre [Mon, 17 Apr 2017 10:39:42 +0000 (19:39 +0900)]
eo: Fix crash in case of API misuse

If efl_object_override() is called with a function that does
not exist in the original class, it may lead to a crash on
indexing an non-existing array in the vtable.

This is really just a safety check, as the usage was wrong:
 * You are only allowed to override functions that are defined in the
 * class or any of its interfaces (that is, efl_isa returning true).

7 years agoecore pipe - fix checking return of read for pipes in new code
Carsten Haitzler (Rasterman) [Tue, 18 Apr 2017 05:30:22 +0000 (14:30 +0900)]
ecore pipe - fix checking return of read for pipes in new code

7 years agoecore pipe - fix new coverity complaint about using closed socket
Carsten Haitzler (Rasterman) [Tue, 18 Apr 2017 05:21:06 +0000 (14:21 +0900)]
ecore pipe - fix new coverity complaint about using closed socket

this should fix CID 1374297

7 years agoecore pipe - fix potential use of freed pipe data
Carsten Haitzler (Rasterman) [Tue, 18 Apr 2017 05:16:53 +0000 (14:16 +0900)]
ecore pipe - fix potential use of freed pipe data

new thanks to new patches so not an existing bug in the last release

7 years agoecore pipe - clean up formatting a bit
Carsten Haitzler (Rasterman) [Tue, 18 Apr 2017 00:55:50 +0000 (09:55 +0900)]
ecore pipe - clean up formatting a bit

7 years agoefl: Remove manual definitions of event "changed"
Jean-Philippe Andre [Tue, 18 Apr 2017 01:55:14 +0000 (10:55 +0900)]
efl: Remove manual definitions of event "changed"

Honestly I can't see why gfx & gfx.path "changed" need a manual
definition, instead of relying on EO. If the API needs to be
internal only, then EO needs to handle internal APIs. In this
case, the event was exposed as a C API but not a EO... why?

7 years agoelm_calendar: Improve code quality.
Woochan Lee [Tue, 18 Apr 2017 01:17:06 +0000 (10:17 +0900)]
elm_calendar: Improve code quality.

Summary:
The values(259200, 86400) are hard to know the meaning.
And we don't have to call gmtime() in for loop.

Test Plan: elementary_test -> calendar

Reviewers: jpeg, Hermet, shilpasingh, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

7 years agoFix sed error that changed "video" to "videfl"
Derek Foreman [Mon, 17 Apr 2017 22:06:28 +0000 (17:06 -0500)]
Fix sed error that changed "video" to "videfl"

commit c662934be8bcbaba60d1688e77533acbea5d09b9 seems to have accidentally
renamed a few instances of _video_ to _videfl_, this hopefully changes
them all back.

7 years agoecore_wl2: Remove unused code
Derek Foreman [Mon, 17 Apr 2017 19:45:14 +0000 (14:45 -0500)]
ecore_wl2: Remove unused code

ecore_wl2 contains a bunch of code for compositor side seat handling.
There's really no need for a client to do this, and E does the
compositor side seat stuff internally, so this code will never
be used.

This removes the unused code.

7 years agoRevert "ecore_imf: Add ecore_imf_context_keyboard_mode_get API"
Carsten Haitzler (Rasterman) [Mon, 17 Apr 2017 08:23:19 +0000 (17:23 +0900)]
Revert "ecore_imf: Add ecore_imf_context_keyboard_mode_get API"

This reverts commit 4533eef59b3b84c28ed6cd5814d753291df3f6f1.

this commit breaks efl's build and can't be fixed - missing types.

7 years agoecore pipe - fix cast warning by casting (validly)
Carsten Haitzler (Rasterman) [Mon, 17 Apr 2017 08:01:58 +0000 (17:01 +0900)]
ecore pipe - fix cast warning by casting (validly)

7 years agoecore: fix build on macOS
Jean Guyomarc'h [Mon, 17 Apr 2017 07:55:34 +0000 (09:55 +0200)]
ecore: fix build on macOS

Epoll/timerfd is not available on "everything but Windows".
This fixes a76ebea2d840ecc575efb025574c15503225b83f.

7 years agoecore_imf: Add ecore_imf_context_keyboard_mode_get API
Jihoon Kim [Mon, 17 Apr 2017 07:53:50 +0000 (16:53 +0900)]
ecore_imf: Add ecore_imf_context_keyboard_mode_get API

Summary:
When the keyboard mode state is changed, the keyboard_mode_event_cb will be called, too.
But there is no way to get keyboard mode manually.

Test Plan: Tested in Tizen device

Reviewers: jihoon, woohyun, id213sin

Reviewed By: jihoon

Subscribers: jpeg, z-wony, jsuya, cedric

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

7 years agoecore_pipe - fix recent patch to close on exec the epoll fd
Carsten Haitzler (Rasterman) [Mon, 17 Apr 2017 05:23:33 +0000 (14:23 +0900)]
ecore_pipe - fix recent patch to close on exec the epoll fd

7 years agoecore_pipe: added epoll
Ivan Furs [Mon, 17 Apr 2017 03:28:41 +0000 (12:28 +0900)]
ecore_pipe: added epoll

Summary: integration epoll in ecore_pipe

Reviewers: cedric, NikaWhite, rimmed, an.kroitor, vtorri, raster

Reviewed By: raster

Subscribers: artem.popov, cedric, jpeg

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