platform/upstream/efl.git
7 years agoeo: Add API efl_data_scope_safe_get
Jean-Philippe Andre [Wed, 14 Jun 2017 04:40:46 +0000 (13:40 +0900)]
eo: Add API efl_data_scope_safe_get

This is a safe version of efl_data_scope_get, meaning that it will
return NULL if the object is not of the required type, or if there
is no data for that class, or if the given class was used as an
interface (and isn't a mixin).

@feature

7 years agoscroller: Remove propagate_events to avoid name collision
Jeeyong Um [Wed, 14 Jun 2017 06:20:23 +0000 (15:20 +0900)]
scroller: Remove propagate_events to avoid name collision

7 years agoelm_radio, elc_multibuttonentry, elm_colorselector: "checked" signal sent
Shilpa Singh [Wed, 14 Jun 2017 04:04:51 +0000 (13:04 +0900)]
elm_radio, elc_multibuttonentry, elm_colorselector: "checked" signal sent

Summary:
Radio, MBE items, color selector items have ELM_ATSPI_ROLE_RADIO_BUTTON role, when one item
is selected the other items are automatically unselected, so a notification has to be sent in atspi mode
to read the status accordingly

Test Plan:
In ATSPI mode when radio, mbe item, color selector item is selected
status has to notified.

Reviewers: kimcinoo, cedric

Subscribers: govi, rajeshps, jpeg

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

7 years agoevas: Fix resize & move intercepts
Jean-Philippe Andre [Tue, 13 Jun 2017 02:13:03 +0000 (11:13 +0900)]
evas: Fix resize & move intercepts

Thanks @zmike for the report.
This in therory should restore behaviour from 1.18,
where the intercept function is called even if the geometry
isn't changed.

Test scenario, in E:
 1. remove bryces, shelves on a screen, or mark all as autohide
 2. open chromium or any CSD application as unmaximized
 3. maximize the window
 4. make it fullscreen (eg. with chromium: F11)

See 8a9f0bd603aaaf3abd3ca9a.

Ref T4749
Fixes T5573

@fix

7 years agowidget: Implement mirrored from Efl.Ui.Base
Jean-Philippe Andre [Tue, 13 Jun 2017 10:41:15 +0000 (19:41 +0900)]
widget: Implement mirrored from Efl.Ui.Base

Ref T5363

7 years agoelm config: add more NULL check
Thiep Ha [Wed, 14 Jun 2017 01:40:27 +0000 (10:40 +0900)]
elm config: add more NULL check

Add NULL check when we cannot allocate memory.

7 years agoecore-wl2: Group window functions together in header file
Chris Michael [Tue, 13 Jun 2017 17:23:54 +0000 (13:23 -0400)]
ecore-wl2: Group window functions together in header file

This patch just moves window related functions together in the
Ecore_Wl2_Window_Group

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas-wayland: Add support for setting auxiliary hints
Chris Michael [Tue, 13 Jun 2017 16:56:24 +0000 (12:56 -0400)]
ecore-evas-wayland: Add support for setting auxiliary hints

This patch adds function pointers to the Wayland Interface that can be
used for supporting auxiliary hints on a given window

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas: Fix return value in ecore_evas_aux_hint_val_set function
Chris Michael [Tue, 13 Jun 2017 16:55:01 +0000 (12:55 -0400)]
ecore-evas: Fix return value in ecore_evas_aux_hint_val_set function

Small patch to fix misleading return value when
ecore_evas_aux_hint_val_set fails. In the above code, we will return
EINA_TRUE already if the aux_hints_set works, so this return value at
the bottom of the function should be EINA_FALSE.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas: Support auxiliary hints for ecore-evas-wayland
Chris Michael [Tue, 13 Jun 2017 16:54:05 +0000 (12:54 -0400)]
ecore-evas: Support auxiliary hints for ecore-evas-wayland

Small patch to support using Ecore_Evas_Interface_Wayland in order to
add support for setting auxiliary hints on a surface

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Free auxiliary window hints when we destroy a window
Chris Michael [Tue, 13 Jun 2017 16:38:19 +0000 (12:38 -0400)]
ecore-wl2: Free auxiliary window hints when we destroy a window

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Add API to support deleting auxiliary window hints
Chris Michael [Tue, 13 Jun 2017 16:32:59 +0000 (12:32 -0400)]
ecore-wl2: Add API to support deleting auxiliary window hints

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Add API function to change auxiliary window hint
Chris Michael [Tue, 13 Jun 2017 16:23:49 +0000 (12:23 -0400)]
ecore-wl2: Add API function to change auxiliary window hint

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Add API to support adding auxiliary window hints
Chris Michael [Tue, 13 Jun 2017 16:18:01 +0000 (12:18 -0400)]
ecore-wl2: Add API to support adding auxiliary window hints

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Add API function to get list of supported auxiliary hints
Chris Michael [Tue, 13 Jun 2017 16:11:13 +0000 (12:11 -0400)]
ecore-wl2: Add API function to get list of supported auxiliary hints

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Add event and structure for auxiliary hints
Chris Michael [Tue, 13 Jun 2017 16:01:30 +0000 (12:01 -0400)]
ecore-wl2: Add event and structure for auxiliary hints

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas-wayland: Add aux_hint functions to Wayland Interface
Chris Michael [Tue, 13 Jun 2017 14:12:44 +0000 (10:12 -0400)]
ecore-evas-wayland: Add aux_hint functions to Wayland Interface

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoCanvas text cursor: add NULL checks for some functions
Daniel Hirt [Tue, 13 Jun 2017 11:48:50 +0000 (14:48 +0300)]
Canvas text cursor: add NULL checks for some functions

Passing a NULL cursor is permitted. Forgot to add to two functions
during port from EO.
Fixes some crashes.

7 years agoEfl.Ui.Slider: implement Efl.Ui.Progress.progress_min_max
Amitesh Singh [Tue, 13 Jun 2017 05:59:05 +0000 (14:59 +0900)]
Efl.Ui.Slider: implement Efl.Ui.Progress.progress_min_max

and move elm_slider_min_max_set/get as legacy APIs

ref T5361

7 years agointf: Efl.Ui.Progress: Add progress_min_max property
Amitesh Singh [Tue, 13 Jun 2017 05:42:27 +0000 (14:42 +0900)]
intf: Efl.Ui.Progress: Add progress_min_max property

We need this for slider and progressbar widgets

ref T5361

7 years agoRevert "evas: put events related pointer into a cow to reduce evas_object fat."
Carsten Haitzler (Rasterman) [Tue, 13 Jun 2017 02:08:55 +0000 (11:08 +0900)]
Revert "evas: put events related pointer into a cow to reduce evas_object fat."

This reverts commit f69686ba4023c7ddd83ea38000e8fa0c61818365.

this causes major crashes in e every time you move and resize a
window. i cant even debug it properly because i cant move or resize
windows to get terminals up to debug it... this is bad... so until a
fix is found better to go back to working...

7 years agoevas: put events related pointer into a cow to reduce evas_object fat.
Cedric Bail [Mon, 12 Jun 2017 18:41:25 +0000 (11:41 -0700)]
evas: put events related pointer into a cow to reduce evas_object fat.

7 years agoelementary: fix recursive content group calculation in genlist
SangHyeon Lee [Mon, 12 Jun 2017 17:13:02 +0000 (10:13 -0700)]
elementary: fix recursive content group calculation in genlist

Summary:
There are several problem is left on recursize content calc.
previously genlist only calculate size of layout class,
but after recursive content group calculation patch,
layout couldn't get proper size because sizing eval is
not pre-processed.

Test Plan: elementary test working fine.

Reviewers: jpeg, cedric, raster, conr2d

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
7 years agoevas: cleanup use of Eina_Cow during orientation set.
Cedric Bail [Mon, 12 Jun 2017 17:10:23 +0000 (10:10 -0700)]
evas: cleanup use of Eina_Cow during orientation set.

7 years agoevas: fix a stride value after calling evas_object_image_orient_set API
Jaeyong Hwang [Mon, 12 Jun 2017 17:06:14 +0000 (10:06 -0700)]
evas: fix a stride value after calling evas_object_image_orient_set API

Summary: Before the value of stride is calculated, the weight and height of the rotated image should be set.

Test Plan: {F1409510}

Reviewers: jpeg

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
7 years agoelementary: fix fallthrough warning.
Cedric Bail [Mon, 12 Jun 2017 17:04:27 +0000 (10:04 -0700)]
elementary: fix fallthrough warning.

7 years agoedje: fix unitialized warning.
Cedric Bail [Mon, 12 Jun 2017 17:04:10 +0000 (10:04 -0700)]
edje: fix unitialized warning.

7 years agoedje text: add a missing return macro
Youngbok Shin [Mon, 12 Jun 2017 13:33:00 +0000 (16:33 +0300)]
edje text: add a missing return macro

Summary:
RETURN_* macro does unref before exiting functions.
Must be called after using PROXY_DATA_GET macro.
@fix

Test Plan:
1. Run terminology
2. Open Setting
3. Check error messages when you change something from Setting.

Reviewers: herdsman, raster

Subscribers: cedric, jpeg

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

7 years agoevas textblock: fix evas test suite build errors
Youngbok Shin [Mon, 12 Jun 2017 13:31:04 +0000 (16:31 +0300)]
evas textblock: fix evas test suite build errors

Summary:
Fix build errors caused by recent patches for Text cursor.
@fix

Test Plan: run "make check"

Reviewers: herdsman, jpeg, raster

Subscribers: cedric

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

7 years agoText cursor: fix macOS build.
Mykyta Biliavskyi [Mon, 12 Jun 2017 10:44:55 +0000 (13:44 +0300)]
Text cursor: fix macOS build.

On macOS build failed with
lib/elementary/efl_ui_internal_text_interactive.c:801:50: error: too few
arguments to function call, expected 2, have 1

7 years agoevas: Fix use of invalid EO object
Jean-Philippe Andre [Mon, 12 Jun 2017 08:39:34 +0000 (17:39 +0900)]
evas: Fix use of invalid EO object

During a window destruction, the input devices are deleted and
removed from the internal devices list. Since 83d18617b4375
basic devices are children of a seat, which means that the seat
deletion was triggering the devices deletion as well. As a
consequence, we were walking an invalid list of devices.

I'm not sure we should have a list of children in the device
data and I'm also not sure we should have a list of devices in
evas, instead of just the list of seats. It's a bit messy right
now.

Ref T5540

7 years agoelm: rename elm slider to Efl.Ui.Slider
Amitesh Singh [Mon, 12 Jun 2017 07:06:22 +0000 (16:06 +0900)]
elm: rename elm slider to Efl.Ui.Slider

ref T5361

7 years agoelm slider: indicator_visible_mode - move API document at one place.
Amitesh Singh [Mon, 12 Jun 2017 06:02:14 +0000 (15:02 +0900)]
elm slider: indicator_visible_mode - move API document at one place.

7 years agoelm slider: remove *not* required set/get{} from eo file
Amitesh Singh [Mon, 12 Jun 2017 05:58:00 +0000 (14:58 +0900)]
elm slider: remove *not* required set/get{} from eo file

7 years agoelm hoversel: Clean up sizing_eval function
Jeeyong Um [Mon, 12 Jun 2017 06:55:25 +0000 (15:55 +0900)]
elm hoversel: Clean up sizing_eval function

7 years agoelm hoversel: Delay sizing_eval to prevent too frequent recalculations
Jeeyong Um [Mon, 12 Jun 2017 06:27:23 +0000 (15:27 +0900)]
elm hoversel: Delay sizing_eval to prevent too frequent recalculations

7 years agoefl.canvas: Add "seat" (by id) and "device" (by name) properties
Jean-Philippe Andre [Thu, 8 Jun 2017 02:49:07 +0000 (11:49 +0900)]
efl.canvas: Add "seat" (by id) and "device" (by name) properties

See d47197e65b59406e0f25c5a4db56e68da61bec30

@feature

7 years agoevas: Rename device Class to Type, remove Sub_Class
Jean-Philippe Andre [Mon, 12 Jun 2017 05:56:36 +0000 (14:56 +0900)]
evas: Rename device Class to Type, remove Sub_Class

1. The word "class" is a pain point with many languages where
   it's a keyword. Type is a little better. Also, the property
   was already named "device_type" and not "device_class".

2. Remove Efl.Input.Device.Sub_Class
   It's not used inside EFL upstream codebase, and unlikely to
   be used anywhere else (even in Tizen).

Hopefully no one used the Efl_ enum types. So far only the Evas_
types should be in used.

Ref T5540

7 years agoevas: Remove device "parent", "name" and "description" properties
Jean-Philippe Andre [Wed, 7 Jun 2017 08:36:50 +0000 (17:36 +0900)]
evas: Remove device "parent", "name" and "description" properties

Those are now merged with Efl.Object parent, name and comment.
The reasoning is that only seats can be parent devices; And name
and description are not only name clashes but also not extremely
useful anyway.

Tested with VNC.

Fixes T5540

7 years agoecore_evas: Document ecore_evas Wayland operations
Bryce Harrington [Mon, 12 Jun 2017 02:54:05 +0000 (11:54 +0900)]
ecore_evas: Document ecore_evas Wayland operations

Subscribers: cedric, jpeg

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

7 years agoevil: Fix edc scripts compilation on windows
Ivan Furs [Mon, 12 Jun 2017 02:50:54 +0000 (11:50 +0900)]
evil: Fix edc scripts compilation on windows

Fixes T5410

Summary: should fix the error T5410

Reviewers: vtorri, t.naumenko, cedric, raster, an.kroitor, rimmed, NikaWhite, FurryMyad

Subscribers: artem.popov, cedric, jpeg

Maniphest Tasks: T5410

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

7 years agoedje: Remove bool return from scale_set
Jean-Philippe Andre [Fri, 9 Jun 2017 07:51:43 +0000 (16:51 +0900)]
edje: Remove bool return from scale_set

It was always returning true. There is little point in returning
a bool here, an invalid scale value (eg. <= 0) wouuld lead to a
state where scale_get() != scale_set() and that's about it.

7 years agowidget: Implement scale from Efl.Ui.Base
Jean-Philippe Andre [Fri, 9 Jun 2017 07:47:42 +0000 (16:47 +0900)]
widget: Implement scale from Efl.Ui.Base

7 years agoedje: Move base_scale to Efl.Ui.Base
Jean-Philippe Andre [Fri, 9 Jun 2017 07:36:25 +0000 (16:36 +0900)]
edje: Move base_scale to Efl.Ui.Base

This API is used by elementary widgets like:
  edje_object_base_scale_get(elm_layout_edje_get(ly));

This means elm_layout in fact should also expose it directly.

Ref T5315

7 years agoelua - fix build for luajit2.1.0-beta3+
Carsten Haitzler (Rasterman) [Mon, 12 Jun 2017 02:14:16 +0000 (11:14 +0900)]
elua - fix build for luajit2.1.0-beta3+

it seems luajit (and lua) broke api again... removed a #define from
their headers from 5.1->5.2 of lua (and seemingly luajit2.1 too). :(

this should fix T2728

@fix

7 years agoelm test:image.zoomable: fix the compilation warnings
Amitesh Singh [Mon, 12 Jun 2017 01:19:28 +0000 (10:19 +0900)]
elm test:image.zoomable: fix the compilation warnings

this fixes below compile warnings.

"
 warning: format â€˜%s’ expects argument of type â€˜char *’,
 but argument 3 has type â€˜void *’ [-Wformat=]
 printf("Successfully set the edje file: %s, group: %s\n",
        file, eina_list_nth(grps, 0));
"

7 years agoEfl text: shorten naming of methods
Daniel Hirt [Sun, 11 Jun 2017 21:16:40 +0000 (00:16 +0300)]
Efl text: shorten naming of methods

eo_prefix are set to "efl_text".
Also, "Efl.Text.Format" is shortened to now include the "_format"
prefix.
"Efl.Text.Font" keeps the "_font" prefix, for better readability.

7 years agoCanvas text: disable legacy_newline by default
Daniel Hirt [Wed, 31 May 2017 07:04:18 +0000 (10:04 +0300)]
Canvas text: disable legacy_newline by default

7 years agoGfx filters: set multiline to Ui.Text widget
Daniel Hirt [Wed, 31 May 2017 07:36:54 +0000 (10:36 +0300)]
Gfx filters: set multiline to Ui.Text widget

By default, multiline is disabled, so needs to enable this.

7 years agoUi text: set some default font and size
Daniel Hirt [Wed, 31 May 2017 07:50:55 +0000 (10:50 +0300)]
Ui text: set some default font and size

This should later be setup through the theme.
One option will be to use global text classes.
Until the above is finalized, at least set this font and size to make
setup of the widget a bit easier.

7 years agogfx_filter: add efl_style_gfx_filter
Daniel Hirt [Tue, 30 May 2017 10:48:05 +0000 (13:48 +0300)]
gfx_filter: add efl_style_gfx_filter

Also, rename the format string to 'gfx_filterstr' to match the other
strings.

Update the filter test to use this property.

7 years agogfx_filter: null-out freed pointer
Daniel Hirt [Tue, 30 May 2017 10:47:48 +0000 (13:47 +0300)]
gfx_filter: null-out freed pointer

7 years agoText: remove leftover printfs
Daniel Hirt [Sun, 11 Jun 2017 20:26:00 +0000 (23:26 +0300)]
Text: remove leftover printfs

7 years agoElementary: bring back disabled tests
Daniel Hirt [Sun, 11 Jun 2017 20:25:39 +0000 (23:25 +0300)]
Elementary: bring back disabled tests

7 years agoCanvas layout: port 'part_text' to Efl.Text.*
Daniel Hirt [Fri, 9 Jun 2017 14:55:40 +0000 (17:55 +0300)]
Canvas layout: port 'part_text' to Efl.Text.*

The following API is now supported with efl_part:

  - Efl.Text.text { set; get; }
  - Efl.Text.Cursor.cursor { get; }
  - Efl.Text.Cursor.cursor_paragraph_first;
  - Efl.Text.Cursor.cursor_paragraph_last;
  - Efl.Text.Cursor.cursor_position { set; get; }
  - Efl.Text.Cursor.cursor_coord_set;
  - Efl.Text.Cursor.cursor_line_char_first;
  - Efl.Text.Cursor.cursor_line_char_last;
  - Efl.Text.Cursor.cursor_char_next;
  - Efl.Text.Cursor.cursor_char_prev;
  - Efl.Text.Cursor.cursor_line_jump_by;
  - Efl.Text.Cursor.cursor_copy;
  - Efl.Text.Cursor.cursor_content { get; }
  - Efl.Text.Cursor.cursor_geometry { get; }
  - Efl.Text.Cursor.cursor_text_insert;

Many of the 'part_text' functionality was moved to legacy, too.
See the edje_object.eo to see which ones are still supported.

7 years agoText: enhance cursor_get to ask for a "get type"
Daniel Hirt [Thu, 8 Jun 2017 13:46:42 +0000 (16:46 +0300)]
Text: enhance cursor_get to ask for a "get type"

7 years agoCanvas layout: port part_text to efl_part
Daniel Hirt [Tue, 30 May 2017 07:31:19 +0000 (10:31 +0300)]
Canvas layout: port part_text to efl_part

You now use the following:

  efl_text_set(efl_part(edje_obj, "part"), "text");
  const char *text = efl_text_get(efl_part(edje_obj, "part"));

The former method of edje_object_part_text_set/get is now legacy.

Also, adjusted 'tests/emotion/emotion_test_main-eo.c' with
this change.

7 years agoText: add annotate interface
Daniel Hirt [Thu, 8 Jun 2017 13:08:28 +0000 (16:08 +0300)]
Text: add annotate interface

7 years agoUi text: fix test style applying after cursor port
Daniel Hirt [Thu, 8 Jun 2017 11:31:42 +0000 (14:31 +0300)]
Ui text: fix test style applying after cursor port

7 years agoUi text: fix test inserting object
Daniel Hirt [Thu, 8 Jun 2017 11:19:58 +0000 (14:19 +0300)]
Ui text: fix test inserting object

7 years agoUi text: fix text initialization
Daniel Hirt [Thu, 8 Jun 2017 10:24:31 +0000 (13:24 +0300)]
Ui text: fix text initialization

It uses elm_layout's, where it shouldn't (it's legacy).
Also, it's not needed to to that there.

7 years agoText cursor: add interface and implement in Canvas.Text
Daniel Hirt [Thu, 8 Jun 2017 10:07:12 +0000 (13:07 +0300)]
Text cursor: add interface and implement in Canvas.Text

7 years agoUi text: fix leak of selection on destruction
Daniel Hirt [Thu, 8 Jun 2017 05:50:14 +0000 (08:50 +0300)]
Ui text: fix leak of selection on destruction

7 years agoUi text: initialize potentially unset variables
Daniel Hirt [Thu, 8 Jun 2017 05:10:19 +0000 (08:10 +0300)]
Ui text: initialize potentially unset variables

7 years agoUi text: free iterator once done
Daniel Hirt [Thu, 8 Jun 2017 05:09:41 +0000 (08:09 +0300)]
Ui text: free iterator once done

7 years agoUi text: fix leak in decorations
Daniel Hirt [Thu, 8 Jun 2017 05:08:56 +0000 (08:08 +0300)]
Ui text: fix leak in decorations

7 years agoCanvas text cursor: move to Efl.Canvas.Text namespace
Daniel Hirt [Mon, 5 Jun 2017 11:52:10 +0000 (14:52 +0300)]
Canvas text cursor: move to Efl.Canvas.Text namespace

Originally it was its own object.
There are some valid claims that there is no justification for it to
remain an object.
Furthermore, it's apparent that it added little benefit: changes of
each cursors, in practice, triggered a query for all objects of the
same textblock. There wasn't real advantage to have a finer resolution
of controlling the cursors with their own events.

This ports back a lot of code, and changes a lot of other code in the
higher-up widgets, such as Efl.Ui.Text and co.

The usage was replaces from:
  efl_canvas_text_cursor_char_next(cur_obj)
to
  efl_canvas_text_cursor_char_next(text_obj, cur_obj)
that is, it is an operations on the TEXT OBJECT, rather than on the
(now removed) cursor object.

So, one less efl object to worry about now.
Hopefully, the port went smooth.

7 years agoEina Debug: include Evil for realpath support
Daniel Zaoui [Sun, 11 Jun 2017 07:03:53 +0000 (10:03 +0300)]
Eina Debug: include Evil for realpath support

7 years agoRevert "efl_debugd: don't compile this on macOS"
Daniel Zaoui [Thu, 8 Jun 2017 22:31:37 +0000 (01:31 +0300)]
Revert "efl_debugd: don't compile this on macOS"

This reverts commit e9f727044b38b1e1897dc28161d355f0d18a4ecb.

This is not needed anymore as efl_debugd is now portable.

7 years agoRevert "efl_debugd: only compile this on Linux."
Daniel Zaoui [Thu, 8 Jun 2017 22:30:15 +0000 (01:30 +0300)]
Revert "efl_debugd: only compile this on Linux."

This reverts commit eafe0c74e13f1a379c219e03f754f8d47e237e27.

It is not needed anymore as the daemon is now portable.

7 years agoEina Debug: rewrite efl_debugd for portability
Daniel Zaoui [Thu, 8 Jun 2017 22:25:52 +0000 (01:25 +0300)]
Eina Debug: rewrite efl_debugd for portability

The previous version of the daemon was using functions specific to
Linux, such as epoll...

The daemon communication part has been rewritten to use Ecore
functionalities.

Sorry for the inconvenience guys

7 years agoEina Debug: fix a bug resulting in registering opcodes twice
Daniel Zaoui [Thu, 8 Jun 2017 22:09:38 +0000 (01:09 +0300)]
Eina Debug: fix a bug resulting in registering opcodes twice

The opcodes registration request is sent directly in case the connection
is already made. Otherwise, the request is waiting for the connection to
be made by the dedicated thread (not the main loop).
That's why the request can be sent by the two different threads at the
same time, leading to send it twice. It means a callback for an opcode
would be invoked twice everytime a request with this opcode is received.

This patch fixes it by checking if the request has already been sent.

7 years agoelm_inwin: set the redirect manager on the correct object
Marcel Hollerbach [Sat, 10 Jun 2017 15:43:00 +0000 (17:43 +0200)]
elm_inwin: set the redirect manager on the correct object

otherwise the redirect is never set on the window which does not work

7 years agoefl_ui_focus_manager: enhance documentation of the semantics of that
Marcel Hollerbach [Sat, 10 Jun 2017 15:00:41 +0000 (17:00 +0200)]
efl_ui_focus_manager: enhance documentation of the semantics of that
function

7 years agoelm_naviframe: this is not handling focus
Marcel Hollerbach [Sat, 10 Jun 2017 11:45:58 +0000 (13:45 +0200)]
elm_naviframe: this is not handling focus

the widgets that are used to compose the naviframe are handling it, not
the naviframe itself.

7 years agoefl_ui_focus_manager: use focus geometry for the shortest distance
Marcel Hollerbach [Sat, 10 Jun 2017 09:20:45 +0000 (11:20 +0200)]
efl_ui_focus_manager: use focus geometry for the shortest distance

7 years agoelm_toolbar: do not focus a separator
Marcel Hollerbach [Sat, 10 Jun 2017 09:20:14 +0000 (11:20 +0200)]
elm_toolbar: do not focus a separator

7 years agoelm_code: Fix possible crash when deleting a selection
Andy Williams [Sat, 10 Jun 2017 06:40:40 +0000 (23:40 -0700)]
elm_code: Fix possible crash when deleting a selection

If there was a multiline selection that ended at the end of a line this could crash
@fix

7 years agoRevert "Revert "Edje calc: Fix textblock size calculation logic""
Mike Blumenkrantz [Sat, 10 Jun 2017 00:20:47 +0000 (20:20 -0400)]
Revert "Revert "Edje calc: Fix textblock size calculation logic""

This reverts commit 0392cd3c489ee1c69dc768b2c3e8ac01ba1854c1.

oops this was supposed to just be local

7 years agotheme: add signal to e border theme to set NOGRAB on titlebar part
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:08 +0000 (20:16 -0400)]
theme: add signal to e border theme to set NOGRAB on titlebar part

for compatibility reasons this can only be changed in a signal callback
in the default theme.

all themes should now use NOGRAB for parts which can be used to trigger
window_move signal bindings

ref T5552

7 years agoedje: add set_pointer_mode() to embryo functions
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:08 +0000 (20:16 -0400)]
edje: add set_pointer_mode() to embryo functions

this should probably be a description-level property

7 years agoevas: add new event_grabber smart-ish object
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:08 +0000 (20:16 -0400)]
evas: add new event_grabber smart-ish object

adding an "event rect" is a common use case for rectangles, but I needed
a smarter event rect so I sent one off to school and it came back like this.

an event_grabber is a smart object which functions like a normal event rect
which has color(0,0,0,0), but with an important difference: it can have smart
members. event propagation works differently for an event_grabber:

normal:
event -> layer -> smart(obj1,obj2,obj3) ->(?) other objects
in this case, obj1,obj2,obj3 are all "inside" the smart object and their stacking
will always be considered as being inside the smart object. rendering is also
tied to the smart object in this case, as is clipping.
an event which reaches a smart object will be sent to the objects inside,
and then may continue through the smart object if there are no objects which
block repeating.

event_grabber:
event -> layer -> event_grabber -> obj1,obj2,obj3 -> STOP
in this case, obj1,obj2,obj3 are unmodified after being added to the event_grabber
and can be stacked, rendered, and clipped completely independently of the
event_grabber.
the event_grabber is considered an "event_parent" for this case. member objects
are not "inside" the event_grabber, and they are unable to receive events on
their own. instead, the event_grabber, which must be stacked above all its
members, receives events and propagates them top->down through its member objects.
if none of the member objects block the repeat of an event then the event will
still be blocked from further propagation past the event_grabber.

object lifetimes are independent of the event_grabber; deleting the event_grabber
has no effect on its members.

@feature

7 years agoevas: remove null check, passthrough list in _evas_event_object_list_in_get()
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:08 +0000 (20:16 -0400)]
evas: remove null check, passthrough list in _evas_event_object_list_in_get()

_evas_event_object_list_raw_in_get() already has a null check and uses the
last list member

no functional changes

7 years agoevas: split _evas_event_object_list_raw_in_get() into two functions
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:08 +0000 (20:16 -0400)]
evas: split _evas_event_object_list_raw_in_get() into two functions

slightly outdent code and prepare for pending features

no functional changes

7 years agoevas: add some functions for determining if pointer coords are inside an object
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:08 +0000 (20:16 -0400)]
evas: add some functions for determining if pointer coords are inside an object

@feature

7 years agoRevert "Edje calc: Fix textblock size calculation logic"
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:08 +0000 (20:16 -0400)]
Revert "Edje calc: Fix textblock size calculation logic"

This reverts commit a6fff5bc1e5e30a946e435369bcbaa406dd5d5ba.

7 years agoefl_input_device: add function for determining if a device has pointer caps
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:07 +0000 (20:16 -0400)]
efl_input_device: add function for determining if a device has pointer caps

this is useful when attempting to manage devices

@feature

7 years agoevas: handle focus setting with async input init
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:07 +0000 (20:16 -0400)]
evas: handle focus setting with async input init

@fix

7 years agoecore-ipc: don't return dead clients in ecore_ipc_server_clients_get
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:07 +0000 (20:16 -0400)]
ecore-ipc: don't return dead clients in ecore_ipc_server_clients_get

@fix

fix T5383

7 years agoecore-evas: make focus-setting work with async device init
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:07 +0000 (20:16 -0400)]
ecore-evas: make focus-setting work with async device init

@fix

7 years agoecore-evas: safety -> normal null check in _ecore_evas_focus_device_set()
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:07 +0000 (20:16 -0400)]
ecore-evas: safety -> normal null check in _ecore_evas_focus_device_set()

when unsetting focus, if the specified seat doesn't exist then there is no
focus to unset

7 years agoecore-evas: safety -> normal null check in ecore_evas_cursor_device_unset
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:07 +0000 (20:16 -0400)]
ecore-evas: safety -> normal null check in ecore_evas_cursor_device_unset

if there is already no cursor then this is not an error

7 years agoefl: add EFL_VERSION_1_20
Mike Blumenkrantz [Sat, 10 Jun 2017 00:16:07 +0000 (20:16 -0400)]
efl: add EFL_VERSION_1_20

indicate that features from this version can be used

7 years agoLuncher theme: Allow preview size to be configurable.
Stephen 'Okra' Houston [Fri, 9 Jun 2017 19:20:29 +0000 (14:20 -0500)]
Luncher theme: Allow preview size to be configurable.

7 years agostatic_libs/libdrm: Update exynos header files
Chris Michael [Fri, 9 Jun 2017 18:52:41 +0000 (14:52 -0400)]
static_libs/libdrm: Update exynos header files

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelput: Document how keyboard events are processed
Bryce Harrington [Fri, 9 Jun 2017 18:35:51 +0000 (14:35 -0400)]
elput: Document how keyboard events are processed

Summary:
Add some light function docs and code comments to explain the steps
followed in processing hardware events for keyboard hits into actual
printable characters.  While this is internal functionality, the process
is important and involves a couple external dependencies (libinput and
libxkbcommon) so documenting this flow may help future developers avoid
introducing bugs.

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewers: zmike

Subscribers: cedric, jpeg

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

7 years agostatic_libs/libdrm: Update static libdrm headers
Chris Michael [Fri, 9 Jun 2017 18:23:57 +0000 (14:23 -0400)]
static_libs/libdrm: Update static libdrm headers

This patch updates our static_libs/libdrm header files to version
2.4.81-1 (from arch).

NB: derek, I don't have the exynos headers here. Please update them
when you can.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Remove check for drmModeAtomicCommit
Chris Michael [Fri, 9 Jun 2017 18:20:00 +0000 (14:20 -0400)]
ecore-drm2: Remove check for drmModeAtomicCommit

This check for drmModeAtomicCommit is no longer necessary as we have
moved to using static_libs/libdrm during compile time.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Remove #ifdef HAVE_ATOMIC_DRM
Chris Michael [Fri, 9 Jun 2017 18:20:05 +0000 (14:20 -0400)]
ecore-drm2: Remove #ifdef HAVE_ATOMIC_DRM

As we now use static_libs/libdrm for compiling ecore-drm2, we can
remove the atomic #ifdefs as we can run-time check this now.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Use static_libs/libdrm to build ecore-drm2 library
Chris Michael [Fri, 9 Jun 2017 17:52:58 +0000 (13:52 -0400)]
ecore-drm2: Use static_libs/libdrm to build ecore-drm2 library

This patch set allows us to use static_libs/libdrm files in order to
build ecore-drm2. This also allows us to remove a lot of the copied
drm header code from our source files and is easier to keep up-to-date.

Merge branch 'devs/devilhorns/drm_static'