platform/upstream/efl.git
6 years agowl2_surface_dmabuf: improve surface flush
Derek Foreman [Tue, 30 Jan 2018 22:29:32 +0000 (16:29 -0600)]
wl2_surface_dmabuf: improve surface flush

We used to abandon all buffers even if they were locked. This can't
actually free them until they're all released by the compositor.

Instead just free any buffer the compositor doesn't have locked, so we can
still re-use them when they're released without needing a full redraw.

There's probably room for additional cleverness here.  If we get a new
frame event before the buffer release we may want to keep it, and if we
get the release first we may want to abandon it.

6 years agoecore_wl2: Add new event for windows not displayed on any output
Derek Foreman [Tue, 30 Jan 2018 21:19:43 +0000 (15:19 -0600)]
ecore_wl2: Add new event for windows not displayed on any output

When a window leaves all outputs we can free its render buffers to save
memory.  This new event is generated when a window leaves all outputs.

6 years agoecore_wl2: Track outputs a surface is present on
Derek Foreman [Tue, 30 Jan 2018 20:52:55 +0000 (14:52 -0600)]
ecore_wl2: Track outputs a surface is present on

Keep a list of Ecore_Wl2_Output * a surface is present on.

6 years agoecore_wl2: Add internal _ecore_wl2_output_find
Derek Foreman [Tue, 30 Jan 2018 20:46:23 +0000 (14:46 -0600)]
ecore_wl2: Add internal _ecore_wl2_output_find

This finds the Ecore_Wl2_Output * for a given struct wl_output *

6 years agoecore: add function for prepending an event handler
Mike Blumenkrantz [Mon, 29 Jan 2018 18:56:28 +0000 (13:56 -0500)]
ecore: add function for prepending an event handler

@feature

6 years agoeolian: deferred parsing of inherits + better static checks
Daniel Kolesa [Tue, 30 Jan 2018 16:03:37 +0000 (17:03 +0100)]
eolian: deferred parsing of inherits + better static checks

This change finally introduces deferred parsing of inherits to
Eolian, after a long time and many iterations. That means instead
of parsing inherits directly as part of the main file's parse pass,
they're pushed into a queue and parsed later. The validation engine
was modified to properly fill in the remaining info afterwards.

This may introduce breakages but I haven't noticed any. It also
properly unlocks cyclic dependency support in Eolian.

Additionally, this also introduces checks for duplicates in class
inherits (class Foo(Bar, Bar) is no longer possible) and it adds
stricter name checks, so you can no longer have a class Foo.Bar
and refer to it as Foo_Bar in implements. This was actually never
meant to be supported, but the check was previously broken.

@feature

6 years agoeolian: move impl/ctor fill to validation stage
Daniel Kolesa [Tue, 30 Jan 2018 13:01:40 +0000 (14:01 +0100)]
eolian: move impl/ctor fill to validation stage

6 years agoEina test: delete tempory file on Windows in eina_test_file_mktemp
Vincent Torri [Mon, 29 Jan 2018 13:51:07 +0000 (14:51 +0100)]
Eina test: delete tempory file on Windows in eina_test_file_mktemp

6 years agoEvil: remove "symlink" code (it was for .lnk files anyway...)
Vincent Torri [Mon, 29 Jan 2018 13:49:54 +0000 (14:49 +0100)]
Evil: remove "symlink" code (it was for .lnk files anyway...)

6 years agoEio: disable the symlink code on Windows
Vincent Torri [Mon, 29 Jan 2018 12:45:51 +0000 (13:45 +0100)]
Eio: disable the symlink code on Windows

6 years agoEfreet_Mime: update comment about symlinks on Windows
Vincent Torri [Mon, 29 Jan 2018 12:39:28 +0000 (13:39 +0100)]
Efreet_Mime: update comment about symlinks on Windows

6 years agoEina: ignore EINA_FILE_LNK on Windows
Vincent Torri [Sat, 27 Jan 2018 14:18:59 +0000 (15:18 +0100)]
Eina: ignore EINA_FILE_LNK on Windows

6 years agoEcore_File: remove symlinks support on Windows (library and test)
Vincent Torri [Sat, 27 Jan 2018 14:17:17 +0000 (15:17 +0100)]
Ecore_File: remove symlinks support on Windows (library and test)

6 years agoWindows: remove symlink() usage in edje_decc and evil binaries
Vincent Torri [Thu, 25 Jan 2018 18:03:10 +0000 (19:03 +0100)]
Windows: remove symlink() usage in edje_decc and evil binaries

6 years agoeina: Cleanup grammar in eina_hash doxygen
Bryce Harrington [Tue, 30 Jan 2018 05:42:34 +0000 (14:42 +0900)]
eina: Cleanup grammar in eina_hash doxygen

Summary:
Corrects some grammatical errors, and rephrases wording of some passages
for better clarity.  Also fix a few doxygen formatting inconsistencies.

Subscribers: cedric, jpeg

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

6 years agoedje_object: fix typo in EAPI edje_object_color_class_description_get
Sungtaek Hong [Tue, 30 Jan 2018 05:25:39 +0000 (14:25 +0900)]
edje_object: fix typo in EAPI edje_object_color_class_description_get

Reviewers: woohyun, jpeg, cedric, conr2d

Reviewed By: jpeg

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

6 years agoelm_test: add elementary_test for Efl.Ui.Button
Sungtaek Hong [Mon, 29 Jan 2018 04:22:26 +0000 (13:22 +0900)]
elm_test: add elementary_test for Efl.Ui.Button

Test Plan: Run elementary_test->Efl.Ui.Button

Reviewers: jpeg, cedric, Jaehyun_Cho

Reviewed By: jpeg

Subscribers: jsuya

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

6 years agoEfl.Ui.Image: remove previous image when NULL is set
Sungtaek Hong [Mon, 29 Jan 2018 04:21:49 +0000 (13:21 +0900)]
Efl.Ui.Image: remove previous image when NULL is set

Summary:
when Efl.Ui.Image has an image,
         efl_file_set(efl_added, NULL, NULL) is not working.
         I think this should remove prevous image and go back to empty image.
         @fix

Reviewers: jpeg, cedric, eunue, woohyun, Jaehyun_Cho

Subscribers: Blackmole

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

6 years agoelm_index: fix documentation of wrong param name
Sungtaek Hong [Mon, 29 Jan 2018 12:17:26 +0000 (21:17 +0900)]
elm_index: fix documentation of wrong param name

Reviewers: jpeg, woohyun, eunue, conr2d, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric

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

6 years agoefl_ui_bg_widget_legacy: ignore ELM_SCALE
Sungtaek Hong [Mon, 29 Jan 2018 07:57:41 +0000 (16:57 +0900)]
efl_ui_bg_widget_legacy: ignore ELM_SCALE

Summary:
For legacy efl_ui_bg_widget or elm_bg, ELM_SCALE is ignored
when calculating internal image size.

Test Plan:
compare elementary_test->bg option with
ELM_SCALE=2.0 elementary_test->bg option

Reviewers: woohyun, jpeg, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, id213sin

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

6 years agoelm: make elm_layout_text_set use efl_text_markup_set
Shinwoo Kim [Mon, 29 Jan 2018 03:25:18 +0000 (12:25 +0900)]
elm: make elm_layout_text_set use efl_text_markup_set

The elm_layout_text_get is using efl_text_markup_get by following commit.

    commit c07a40c745c5df1b1f6f0bbf666b233d8d072ca7
    elm: make elm_object_text_get return markup info as well.

    This commit solves following issue

    https://phab.enlightenment.org/T6642

    If I set object text as below
    elm_object_text_set(btn, "Some<br>text");
    then elm_object_text_get(btn) returns "Some text" not "Some<br>text".

So using efl_text_markup_set makes sense.

6 years agoedje_cc: check HAVE_SYS_RESOURCE_H presence for rlimit usage
Mike Blumenkrantz [Sat, 27 Jan 2018 16:55:40 +0000 (11:55 -0500)]
edje_cc: check HAVE_SYS_RESOURCE_H presence for rlimit usage

fix T6645

6 years agoefl_ui_focus_manager_calc: keep the entry for the redirect seperated
Marcel Hollerbach [Sat, 27 Jan 2018 12:00:04 +0000 (13:00 +0100)]
efl_ui_focus_manager_calc: keep the entry for the redirect seperated

logicals on the focus stack can cause there a lot of confusion.

This fixes a missed focus out event from the entry in elementary_test

6 years agoecore_wl2: Make surface managers modular
Derek Foreman [Fri, 26 Jan 2018 20:32:10 +0000 (14:32 -0600)]
ecore_wl2: Make surface managers modular

This allows loading modules to handle wayland surfaces, and makes the
existing dmabuf manager a module.

6 years agoeina_module: Drop ridiculous ERR messages from module_list_load/unload
Derek Foreman [Fri, 26 Jan 2018 20:29:03 +0000 (14:29 -0600)]
eina_module: Drop ridiculous ERR messages from module_list_load/unload

The documentation for these functions claims that passing a NULL array
results in doing nothing - that should also include logging nothing.

EINA_SAFETY_ON_NULL_RETURN() logs an ERR message and should be reserved
for usage when NULL is not actually a valid state.

Additionally, it's entirely possible to turn off EINA_SAFETY_CHECKS, at
which point these functions would stop behaving as the documentation
says they do.  Not great.

6 years agoecore_wl2: Use wl_buffer_get in dmabuf_surface_post
Derek Foreman [Fri, 26 Jan 2018 19:31:28 +0000 (13:31 -0600)]
ecore_wl2: Use wl_buffer_get in dmabuf_surface_post

This is the final place where this code was reliant on internal structures,
it now solely uses (beta) public api.

6 years agoecore_wl2: fix ecore_wl2_buffer_wl_buffer_get
Derek Foreman [Fri, 26 Jan 2018 19:30:31 +0000 (13:30 -0600)]
ecore_wl2: fix ecore_wl2_buffer_wl_buffer_get

It was currently only used internally and had the side effect of
creating a new buffer instead of just returning the existing one.

Now it's useful to external callers, as it only returns the existing
wl_buffer and has no freaky side effects.

6 years agoecore_wl2: Add surface_window_get api
Derek Foreman [Fri, 26 Jan 2018 19:15:45 +0000 (13:15 -0600)]
ecore_wl2: Add surface_window_get api

One of the last remaining blockers for compiling dmabuf support as a
plug-in.

6 years agoecore_wl2: Add API to remove surface managers
Derek Foreman [Fri, 26 Jan 2018 19:13:54 +0000 (13:13 -0600)]
ecore_wl2: Add API to remove surface managers

Someone might want to do this I guess.

6 years agoecore_wl2: Add a way to register new surface managers
Derek Foreman [Fri, 26 Jan 2018 19:00:35 +0000 (13:00 -0600)]
ecore_wl2: Add a way to register new surface managers

And use it for the existing dmabuf surface manager.

6 years agoecore_wl2: rename _surface_flush for consistency
Derek Foreman [Fri, 26 Jan 2018 18:39:01 +0000 (12:39 -0600)]
ecore_wl2: rename _surface_flush for consistency

It was originally thought that this could be common code for multiple
back-ends, but that doesn't really make sense now, so rename it to match
the other dmabuf functions.

6 years agoecore_wl2: Move private data allocation into back-end code
Derek Foreman [Fri, 26 Jan 2018 18:26:40 +0000 (12:26 -0600)]
ecore_wl2: Move private data allocation into back-end code

The backend should allocate its own private data and return it instead
of a bool.

This assumes all back-ends will need some manner of private data, which
is certanly true for the one back-end we provide.

6 years agoecore_wl2: Move backend specific members into a private data struct
Derek Foreman [Fri, 26 Jan 2018 18:06:40 +0000 (12:06 -0600)]
ecore_wl2: Move backend specific members into a private data struct

buffers and current buffers are really specific to the dmabuf backend,
another plug-in might not need them.

6 years agoecore_wl2: Move surface size update into generic code
Derek Foreman [Fri, 26 Jan 2018 17:18:06 +0000 (11:18 -0600)]
ecore_wl2: Move surface size update into generic code

This didn't have to be in backend code in the first place.

6 years agoecore_wl2: Add API surface_buffer_create
Derek Foreman [Fri, 26 Jan 2018 17:17:23 +0000 (11:17 -0600)]
ecore_wl2: Add API surface_buffer_create

The specific surface code only needs these generic surface bits to pass
to buffer_create, so make a helper function for that instead of queries
for w, h, and alpha.

6 years agoecore_wl2: Remove force from surface reconfigure
Derek Foreman [Fri, 26 Jan 2018 16:52:14 +0000 (10:52 -0600)]
ecore_wl2: Remove force from surface reconfigure

It no longer has any users or need to exist.

6 years agowayland_shm: remove dirty bit entirely
Derek Foreman [Fri, 26 Jan 2018 16:30:19 +0000 (10:30 -0600)]
wayland_shm: remove dirty bit entirely

Now that we're not using it for session recovery we can strip it out
entirely.

6 years agowayland_shm: Use surface flush instead of setting dirty
Derek Foreman [Fri, 26 Jan 2018 16:28:24 +0000 (10:28 -0600)]
wayland_shm: Use surface flush instead of setting dirty

The dirty bit was a dirty hack to let session recovery force reconfigures
on startup.

Now that we have a surface flush we can achieve the same thing by just
discarding all buffers immediately.

6 years agoecore_wl2: Move smarts from surface_map to buffer_map
Derek Foreman [Fri, 26 Jan 2018 16:13:25 +0000 (10:13 -0600)]
ecore_wl2: Move smarts from surface_map to buffer_map

This simplifies the surface code so that it no longer needs access to
buffer structure members.

6 years agoecore_wl2: Add buffer_fit API and use it from surface code
Derek Foreman [Thu, 25 Jan 2018 23:01:23 +0000 (17:01 -0600)]
ecore_wl2: Add buffer_fit API and use it from surface code

This tries to resize the buffer's useable area to fit the specified size -
this is possible if the stride of the buffer is larger than the current
width.

6 years agoecore_wl2: Add buffer age inc and use it in surface code
Derek Foreman [Thu, 25 Jan 2018 22:11:01 +0000 (16:11 -0600)]
ecore_wl2: Add buffer age inc and use it in surface code

Technically not necessary, since we could do this with get and set, but
it's a little more convenient to the user this way.

6 years agoecore_wl2: Add buffer_age_set and use it in surface code
Derek Foreman [Thu, 25 Jan 2018 22:09:19 +0000 (16:09 -0600)]
ecore_wl2: Add buffer_age_set and use it in surface code

6 years agoecore_wl2: Add buffer_age_get API and use it in surface code
Derek Foreman [Thu, 25 Jan 2018 22:08:20 +0000 (16:08 -0600)]
ecore_wl2: Add buffer_age_get API and use it in surface code

6 years agoecore_wl2: Add API for setting buffer busy status and use it
Derek Foreman [Thu, 25 Jan 2018 21:59:34 +0000 (15:59 -0600)]
ecore_wl2: Add API for setting buffer busy status and use it

Since surfaces will be managed by plug-ins, we need to make sure they
don't rely on internal structures.

6 years agoecore_wl2: Add API for querying buffer lock status and use it
Derek Foreman [Thu, 25 Jan 2018 21:58:35 +0000 (15:58 -0600)]
ecore_wl2: Add API for querying buffer lock status and use it

Since surfaces will be managed by plug-ins, we need to make sure they
don't rely on internal structures.

6 years agoecore_wl2: Make the surface interface a pointer
Derek Foreman [Thu, 25 Jan 2018 21:13:21 +0000 (15:13 -0600)]
ecore_wl2: Make the surface interface a pointer

6 years agoecore_wl2: Move surface manager interface into public API
Derek Foreman [Thu, 25 Jan 2018 20:57:03 +0000 (14:57 -0600)]
ecore_wl2: Move surface manager interface into public API

So people can write plug-ins for this stuff.

6 years agoecore_wl2: Call check function through a pointer
Derek Foreman [Thu, 25 Jan 2018 20:37:16 +0000 (14:37 -0600)]
ecore_wl2: Call check function through a pointer

We'll need this in the function array when we make surface managers
modular.

6 years agoecore_wl2: Move dmabuf surface specific tests into their own function
Derek Foreman [Thu, 25 Jan 2018 20:28:23 +0000 (14:28 -0600)]
ecore_wl2: Move dmabuf surface specific tests into their own function

Refactoring to allow non-dmabuf surface managers.

6 years agoecore_wl2: Make session recovery more robust
Derek Foreman [Fri, 26 Jan 2018 21:51:44 +0000 (15:51 -0600)]
ecore_wl2: Make session recovery more robust

Clear out the window callback when doing session recovery, and
make sure we have a valid on if we get a double commit.

This should stop a session recovery crash, and fix a small leak per
recovery.

6 years agoedje_cc: simplify thread tracking for exiting on signal
Mike Blumenkrantz [Fri, 26 Jan 2018 19:21:02 +0000 (14:21 -0500)]
edje_cc: simplify thread tracking for exiting on signal

6 years agoedje_cc: make -thread option
Mike Blumenkrantz [Fri, 26 Jan 2018 19:08:29 +0000 (14:08 -0500)]
edje_cc: make -thread option

this option was broken due to immediately triggering EMFILE errors
during thread initialization and then attempting to exit while threads
were still ongoing

some work is still needed to make this an improvement over the current
default of not using threads

@fix

6 years agoquicklaunch: return child pid from elm_quicklaunch_fork() on success
Mike Blumenkrantz [Thu, 25 Jan 2018 21:46:26 +0000 (16:46 -0500)]
quicklaunch: return child pid from elm_quicklaunch_fork() on success

6 years agoefl_ui_focus_manager_calc: prepare everything before border elem eval
Marcel Hollerbach [Fri, 26 Jan 2018 12:28:39 +0000 (13:28 +0100)]
efl_ui_focus_manager_calc: prepare everything before border elem eval

otherwise we might miss the elements that are registered on prepare.

6 years agoefl_ui_focus_manager_calc: check earlier for LOGICAL
Marcel Hollerbach [Fri, 26 Jan 2018 12:20:55 +0000 (13:20 +0100)]
efl_ui_focus_manager_calc: check earlier for LOGICAL

this safes us performance

6 years agoelm_gen****: do not call realize on items
Marcel Hollerbach [Wed, 24 Jan 2018 22:41:20 +0000 (23:41 +0100)]
elm_gen****: do not call realize on items

better rely on the adapter and wait for realization so the adapter is
wether created or not even created but used with content. This fixes
item content focus, crashes at startup and a freeze in genlist test!

6 years agopyolian: improve a bit the 2 example templates
Dave Andreoli [Thu, 25 Jan 2018 21:51:28 +0000 (22:51 +0100)]
pyolian: improve a bit the 2 example templates

6 years agoecore: prune existing thread_join callbacks during ecore_fork_reset
Mike Blumenkrantz [Thu, 25 Jan 2018 20:32:14 +0000 (15:32 -0500)]
ecore: prune existing thread_join callbacks during ecore_fork_reset

permitting these to persist and trigger at a later point will cause
the process to deadlock while attempting to join non-existent threads

@fix

6 years agoefl_mono: fix DLL instalation path on efl-mono.pc.in
Vitor Sousa [Thu, 25 Jan 2018 16:45:04 +0000 (14:45 -0200)]
efl_mono: fix DLL instalation path on efl-mono.pc.in

Destination of libefl_mono.dll is OS dependent, this was not translated
to efl-mono.pc.in. This commit fix this issue.

6 years agoeolian_cxx: Fix "unused parameter" warnings
Lauro Moura [Tue, 23 Jan 2018 23:55:50 +0000 (20:55 -0300)]
eolian_cxx: Fix "unused parameter" warnings

The Klass(Klass &&other) one was causing "synthesized method ... first
required here' warnings on Windows gcc-4.8.

6 years agoexamples: Remove duplicated build code for mono examples.
Lauro Moura [Tue, 23 Jan 2018 23:55:19 +0000 (20:55 -0300)]
examples: Remove duplicated build code for mono examples.

6 years agotests: Check return value in tests.
Lauro Moura [Mon, 22 Jan 2018 22:58:29 +0000 (19:58 -0300)]
tests: Check return value in tests.

GCC was complaining about ignored return values from realpath, chdir,
etc.

6 years agoeldbus: Uncomment tests
Lauro Moura [Mon, 22 Jan 2018 22:57:38 +0000 (19:57 -0300)]
eldbus: Uncomment tests

These were commented out during the promises changes but seems to be
working now.

6 years agoefl_mono: Remove unneeded code from tests
Lauro Moura [Mon, 22 Jan 2018 21:13:32 +0000 (18:13 -0300)]
efl_mono: Remove unneeded code from tests

6 years agoeolian_mono: Add underlying pointer to ToString
Lauro Moura [Mon, 22 Jan 2018 21:12:33 +0000 (18:12 -0300)]
eolian_mono: Add underlying pointer to ToString

It'll make easier to track where an object is coming from.

6 years agoeolian_mono: Fix event argument for strings
Lauro Moura [Mon, 22 Jan 2018 17:56:38 +0000 (14:56 -0300)]
eolian_mono: Fix event argument for strings

6 years agoeolian_mono: Fix visibility of generated events
Lauro Moura [Fri, 19 Jan 2018 13:30:00 +0000 (10:30 -0300)]
eolian_mono: Fix visibility of generated events

Protected members do not make sense in sealed classes like the Concrete
ones.

Also document the placeholder field in extern structures.

6 years agomono: Fix AM_TESTS_ENVIRONMENT
Lauro Moura [Fri, 19 Jan 2018 04:28:40 +0000 (01:28 -0300)]
mono: Fix AM_TESTS_ENVIRONMENT

The export commands were messing up with the elm_suite, causing the
layout do fail to be loaded.

6 years agoecore_con: missed compiler warning.
Cedric BAIL [Thu, 25 Jan 2018 17:54:36 +0000 (09:54 -0800)]
ecore_con: missed compiler warning.

6 years agoecore_con: restore ability for negative port on local connection.
Cedric BAIL [Thu, 25 Jan 2018 17:40:20 +0000 (09:40 -0800)]
ecore_con: restore ability for negative port on local connection.

Thanks make check.

6 years agoecore-con pass port into err print
Carsten Haitzler (Rasterman) [Thu, 25 Jan 2018 16:53:58 +0000 (01:53 +0900)]
ecore-con pass port into err print

6 years agoecore_con - give error output if port num is invalid
Carsten Haitzler (Rasterman) [Thu, 25 Jan 2018 16:03:44 +0000 (01:03 +0900)]
ecore_con - give error output if port num is invalid

6 years agoelm: make elm_object_text_get return markup info as well.
Shinwoo Kim [Thu, 25 Jan 2018 13:10:32 +0000 (22:10 +0900)]
elm: make elm_object_text_get return markup info as well.

This commit solves following issue

https://phab.enlightenment.org/T6642

If I set object text as below
elm_object_text_set(btn, "Some<br>text");
then elm_object_text_get(btn) returns "Some text" not "Some<br>text".

6 years agowin: Fix legacy win type name
Jean-Philippe Andre [Thu, 25 Jan 2018 02:43:31 +0000 (11:43 +0900)]
win: Fix legacy win type name

Window constructor is hijacked by the finalize method, which messes up
the normal order of operations. As a result, the legacy type name for a
window object was "elm_widget" rather than "elm_win".

This fixes a crash in E (as it checks the legacy type name to verify an
object's type).

See D5748

6 years agoeo: only call costly function _eo_op_desc_name_get when in debug mode.
Cedric BAIL [Wed, 24 Jan 2018 23:36:39 +0000 (15:36 -0800)]
eo: only call costly function _eo_op_desc_name_get when in debug mode.

6 years agoefl-wl: don't leak xkb mmaps when running under x11
Mike Blumenkrantz [Wed, 24 Jan 2018 21:28:49 +0000 (16:28 -0500)]
efl-wl: don't leak xkb mmaps when running under x11

ref a32735e9a7bc537430d155a4af853d498dda2009

6 years agopyolian: improve the doc generation
Dave Andreoli [Wed, 24 Jan 2018 21:26:29 +0000 (22:26 +0100)]
pyolian: improve the doc generation

6 years agoefl-wl: create and maintain xserver-based keymap and keyboard states under x11
Mike Blumenkrantz [Wed, 24 Jan 2018 21:16:17 +0000 (16:16 -0500)]
efl-wl: create and maintain xserver-based keymap and keyboard states under x11

when run in a non-wayland environment, it's necessary to do some extra work
in order to guarantee that the keymap remains the same in the compositor as
in the xserver and to also guarantee that modifier states are accurately
applied even when the compositor is not actively focused

fix T6631

6 years agoefl-wl: use image border to optimize surface rendering with 1 opaque rect
Mike Blumenkrantz [Wed, 24 Jan 2018 21:15:24 +0000 (16:15 -0500)]
efl-wl: use image border to optimize surface rendering with 1 opaque rect

6 years agoefl-wl: unset kbd mods changed flag after sending modifiers
Mike Blumenkrantz [Wed, 24 Jan 2018 21:14:23 +0000 (16:14 -0500)]
efl-wl: unset kbd mods changed flag after sending modifiers

@fix

6 years agoefl-wl: fix no-op of setting keyboard enter on already-entered surface
Mike Blumenkrantz [Wed, 24 Jan 2018 21:13:42 +0000 (16:13 -0500)]
efl-wl: fix no-op of setting keyboard enter on already-entered surface

@fix

6 years agoecore-x: add some useful xkb function wrappers
Mike Blumenkrantz [Wed, 24 Jan 2018 21:07:36 +0000 (16:07 -0500)]
ecore-x: add some useful xkb function wrappers

@feature

6 years agoecore-x: re-add implementation of ecore_x_connection_get()
Mike Blumenkrantz [Wed, 24 Jan 2018 21:06:29 +0000 (16:06 -0500)]
ecore-x: re-add implementation of ecore_x_connection_get()

this symbol has been missing since the removal of xcb

@fix

6 years agoecore-x: filter XkbNewKeyboardNotifyEvent before emitting ecore-x event
Mike Blumenkrantz [Wed, 24 Jan 2018 21:01:17 +0000 (16:01 -0500)]
ecore-x: filter XkbNewKeyboardNotifyEvent before emitting ecore-x event

this is only relevant to watchers of the ecore-x event if there is a keycode
change

@fix

6 years agoecore-x: add more info to Ecore_X_Event_Xkb event
Mike Blumenkrantz [Wed, 24 Jan 2018 20:58:28 +0000 (15:58 -0500)]
ecore-x: add more info to Ecore_X_Event_Xkb event

this event corresponds to xkb state changes which are useful when working
with xkb instances

@feature

6 years agoefl-wl: add functionality for directly passing through xkb objects
Mike Blumenkrantz [Tue, 23 Jan 2018 21:49:52 +0000 (16:49 -0500)]
efl-wl: add functionality for directly passing through xkb objects

when used in enlightenment, it's necessary to be able to directly use
the compositor's keyboard state to ensure consistency when keypress events
are not propagated

@feature

6 years agoefl-wl: add docs for smart callbacks
Mike Blumenkrantz [Tue, 23 Jan 2018 21:49:37 +0000 (16:49 -0500)]
efl-wl: add docs for smart callbacks

6 years agoelm - fix makefile to install missing header for elm_code
Carsten Haitzler (Rasterman) [Wed, 24 Jan 2018 14:39:03 +0000 (23:39 +0900)]
elm - fix makefile to install missing header for elm_code

6 years agoeolian_gen: remove reference to elm_entry because it is not installed
Sungtaek Hong [Wed, 24 Jan 2018 09:51:25 +0000 (18:51 +0900)]
eolian_gen: remove reference to elm_entry because it is not installed

Summary:
elm_entry.eo is not installed to system directory like
         "/usr/local/share/eolian/include/elementary-1", and
         eolian_gen tries to refer elm_entry.eo which results in failure.

Test Plan:
Create any eo class file which inherits Efl.Ui.Layout.
           eolian_gen eo_file.eo
           observe eolian_gen finishes

Reviewers: jpeg, herdsman, woohyun, Jaehyun_Cho, cedric

Subscribers: conr2d, id213sin, JongminLee

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

6 years agoefl_ui_focus_layer: avoid a call to NULL
YeongJong Lee [Wed, 24 Jan 2018 09:49:04 +0000 (18:49 +0900)]
efl_ui_focus_layer: avoid a call to NULL

Summary:
efl_ui_focus_layer_enable_set(obj, EINA_FALSE) can be called before
registered_manager assigned

Test Plan:
1. EINA_LOG_LEVELS=eo:2 elementary_test -to menu
2. terminate the elemetary_test
3. check that there is no focus_manager warning about a call to NULL

Reviewers: bu5hm4n

Subscribers: cedric, jpeg

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

6 years agoefl_ui_legacy: add new interface to indicate legacy widget
Sungtaek Hong [Wed, 24 Jan 2018 06:50:58 +0000 (15:50 +0900)]
efl_ui_legacy: add new interface to indicate legacy widget

Summary:
For now, how to check whether a widget is legacy or not
is to check flags in private data or static flag, which is set
during elm_legacy_add.
If Efl.Ui.Legacy interface is added, it can be easilly checked
by efl_isa(obj, EFL_UI_LEGACY_INTERFACE)

Reviewers: woohyun, jpeg, cedric, Jaehyun_Cho

Subscribers: conr2d, cedric, jpeg

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

6 years agoefl_ui_win: Avoid a call to NULL
YeongJong Lee [Wed, 24 Jan 2018 06:36:08 +0000 (15:36 +0900)]
efl_ui_win: Avoid a call to NULL

Summary:
parent_get and smart_parent_get are called in parent_widget_get
this also remove the duplicated code

Reviewers: jpeg

Subscribers: cedric

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

6 years agoeina: Make return doxygen consistent
Bryce Harrington [Wed, 24 Jan 2018 02:35:01 +0000 (11:35 +0900)]
eina: Make return doxygen consistent

Summary:
Ensure @return defines error returns consistently.  In several cases the
errors were explained in the body but not mentioned in the @return docs.

Drop redundant return value documentation for clarity.  Some routines
were defining the return values both in @return and in the doxygen body.

Subscribers: cedric, jpeg

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

6 years agopyolian test: just rename the main eolian state
Dave Andreoli [Tue, 23 Jan 2018 20:31:31 +0000 (21:31 +0100)]
pyolian test: just rename the main eolian state

6 years agoefl_ui_focus_manager: listen to deletion for regular and logical
Marcel Hollerbach [Tue, 23 Jan 2018 19:58:59 +0000 (20:58 +0100)]
efl_ui_focus_manager: listen to deletion for regular and logical

otherwise we might exit with a load of errors

6 years agoelm_genlist: prepare the item when its set
Marcel Hollerbach [Tue, 23 Jan 2018 19:58:59 +0000 (20:58 +0100)]
elm_genlist: prepare the item when its set

so the border element is set accordingly on the parent manager which
then can be picked up for focus relations.

ref T6453

6 years agoefl_ui_focus_composition: only rely on manager
Marcel Hollerbach [Tue, 23 Jan 2018 19:56:49 +0000 (20:56 +0100)]
efl_ui_focus_composition: only rely on manager

for the case of a custom manager this resulted in wrong behaviour.

6 years agoelput: Fix null pointer dereference
Chris Michael [Tue, 23 Jan 2018 12:00:19 +0000 (07:00 -0500)]
elput: Fix null pointer dereference

Coverity reports this as a null pointer dereference, so check for
'seat' existence before comparing with strcmp

Fixes CID1385369

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoelementary config: Fix to use ELEMENTARY_BASE_DIR for configure path
Youngbok Shin [Mon, 22 Jan 2018 12:01:27 +0000 (21:01 +0900)]
elementary config: Fix to use ELEMENTARY_BASE_DIR for configure path

Summary:
"--with-elementary-base-dir" option was ignored by recent patches on elm_config.
The macro is being used in elm_theme. It should be syncronized.
The default value of the macro is ".elementary".

@fix

Test Plan: N/A

Reviewers: raster, cedric, jpeg

Reviewed By: jpeg

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

6 years agoecore-x: add more null checks for functions
Mike Blumenkrantz [Mon, 22 Jan 2018 22:34:20 +0000 (17:34 -0500)]
ecore-x: add more null checks for functions

@fix