platform/upstream/efl.git
6 years agoector: fix property/method name conflict for "fill"
Mike Blumenkrantz [Mon, 12 Feb 2018 18:23:25 +0000 (13:23 -0500)]
ector: fix property/method name conflict for "fill"

Shape implements a property, sw/gl/cairo implements a method

rename method to op_fill

6 years agoeolian: convert all of cedric's tabs to spaces in .eo files
Mike Blumenkrantz [Mon, 12 Feb 2018 17:56:31 +0000 (12:56 -0500)]
eolian: convert all of cedric's tabs to spaces in .eo files

6 years agoeolian: stop build with EOLIAN_WARN_FUNC_DUPLICATES > 1
Daniel Kolesa [Mon, 12 Feb 2018 17:56:38 +0000 (18:56 +0100)]
eolian: stop build with EOLIAN_WARN_FUNC_DUPLICATES > 1

6 years agoecore_wl2: Send window hide in response to xdg popup done
Derek Foreman [Mon, 12 Feb 2018 17:27:11 +0000 (11:27 -0600)]
ecore_wl2: Send window hide in response to xdg popup done

Clients should be sent this event when the compositor sends popup done.

6 years agoefl_ui_win: move inital focus set to focus_in handler
Marcel Hollerbach [Sun, 11 Feb 2018 18:04:06 +0000 (18:04 +0000)]
efl_ui_win: move inital focus set to focus_in handler

it seems that focus changes to FOCUS=FALSE are causing autodel windows
to kill themself, so we only set the focus on the window if the window
manager calls focus in AND we dont have anything to focus and nothing is
focused yet.

6 years agoedje - entry - fix empty item handling
Carsten Haitzler (Rasterman) [Sun, 11 Feb 2018 10:20:46 +0000 (19:20 +0900)]
edje - entry - fix empty item handling

tjhis should fix empty items which might have a null item string...
deal with it

fixes T6668

@fix

6 years agoeina - tiler -= return true if rect alreadt there as its not a failure
Carsten Haitzler (Rasterman) [Sun, 11 Feb 2018 06:55:13 +0000 (15:55 +0900)]
eina - tiler -= return true if rect alreadt there as its not a failure

docs say return true on succesas, false on failure. adding a rect we
already added is not a failur. it's an optimization to a NOP. so fix.
this was brought up by and fixes T6669 ... but in the opposite way.

6 years agoelm - fix new em_config func prototypes in header to have real param decl
Carsten Haitzler (Rasterman) [Sun, 11 Feb 2018 05:53:28 +0000 (14:53 +0900)]
elm - fix new em_config func prototypes in header to have real param decl

6 years agoefl ui format - fix format checking to be correct
Carsten Haitzler (Rasterman) [Sat, 10 Feb 2018 07:26:15 +0000 (16:26 +0900)]
efl ui format - fix format checking to be correct

the format string checking was just ... wrong. it didnt' handle %%. it
didn't handle constant strings with no format in them... now it does.

fixes T6697

@fix

6 years agoelm progressbar - fix val set
Carsten Haitzler (Rasterman) [Sat, 10 Feb 2018 07:24:11 +0000 (16:24 +0900)]
elm progressbar - fix val set

set initial min and max to 0 and 1 respectively so val set works at
the start...

fixes T6697

@fix

6 years agoelm - make progress test code a little more solid and nice to read
Carsten Haitzler (Rasterman) [Sat, 10 Feb 2018 05:38:29 +0000 (14:38 +0900)]
elm - make progress test code a little more solid and nice to read

use sizeof the buffer rather than constant in snprint and 0.5 rather
than .50 which almost looks like a typo... :) also use correct escape
for % (%%%% so it becoems %% which is correct for a fmt string yto
produce %)

6 years agoelm: Fix double shutdowns of ecore_x and ecore_wl2
Derek Foreman [Fri, 9 Feb 2018 17:25:41 +0000 (11:25 -0600)]
elm: Fix double shutdowns of ecore_x and ecore_wl2

This is now done elsewhere.  wayland clients were ERRing on shutdown.

ref 9cf61c2f6d215e3adfa1567154a229eb49116769

6 years agowayland_imf: Clear hide timer when deleting context
Derek Foreman [Fri, 9 Feb 2018 17:11:24 +0000 (11:11 -0600)]
wayland_imf: Clear hide timer when deleting context

Otherwise the callback can fire after the module is unloaded leading to some
very entertaining to debug crashes at shutdown.

6 years agoElm Progressbar test: Add in examples of efl regressions to progressbar.
Stephen Houston [Fri, 9 Feb 2018 16:21:55 +0000 (10:21 -0600)]
Elm Progressbar test: Add in examples of efl regressions to progressbar.

6 years agoecore_wl2: Destroy offscreen event handler in surface destroy
Derek Foreman [Fri, 9 Feb 2018 15:49:52 +0000 (09:49 -0600)]
ecore_wl2: Destroy offscreen event handler in surface destroy

Or we can get the event after destroying the surface and crash.

6 years agoefl_mono: Distcheck fixes
Lauro Moura [Thu, 1 Feb 2018 18:38:48 +0000 (15:38 -0300)]
efl_mono: Distcheck fixes

- Export required sources
- Avoid generated sources being passed as static ones

6 years agoeina_mono: Avoid calling eina_init directly from the modules.
Lauro Moura [Tue, 6 Feb 2018 19:10:36 +0000 (16:10 -0300)]
eina_mono: Avoid calling eina_init directly from the modules.

They must be initialized from the eina.Config.Init() method.

6 years agoci: make sure we fail the build and pass on the non zero exit code
Stefan Schmidt [Thu, 8 Feb 2018 09:45:24 +0000 (10:45 +0100)]
ci: make sure we fail the build and pass on the non zero exit code

So far we just kept going on when one of the make targets failed with
the next one.

6 years agoefl_part: call Efl.Text of each class' part
Sungtaek Hong [Thu, 8 Feb 2018 09:37:51 +0000 (11:37 +0200)]
efl_part: call Efl.Text of each class' part

Summary:
Macro ELM_PART_TEXT_DEFAULT_IMPLEMENT calls
super class' Efl.Text interface, rather than this class.

Reviewers: jpeg, woohyun, Jaehyun_Cho, herdsman

Subscribers: cedric, id213sin

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

6 years agoefl_part: use efl_ui_widget's default_part_get
Sungtaek Hong [Thu, 8 Feb 2018 05:53:59 +0000 (14:53 +0900)]
efl_part: use efl_ui_widget's default_part_get

Summary:
efl_part macros are using each widget's internally defined
default_part_get() functions to get default part name.
This might potentially cause errors when future widgets
inherits the widget but not overriding Efl.Text.text and
Efl.Content.content.

Reviewers: jpeg, cedric, woohyun, Jaehyun_Cho

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

6 years agoector: Updated the ector_buffer_pixels_set() api with stride info
subhransu mohanty [Thu, 8 Feb 2018 05:27:15 +0000 (14:27 +0900)]
ector: Updated the ector_buffer_pixels_set() api with stride info

Reviewers: jypark, jpeg

Subscribers: cedric

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

6 years agoelm: remove ecore-x init from quicklaunch post-fork
Mike Blumenkrantz [Wed, 7 Feb 2018 18:32:08 +0000 (13:32 -0500)]
elm: remove ecore-x init from quicklaunch post-fork

this is invalid for basically every possible case. allow components
to naturally call this function as needed

@fix

6 years agoelm: call ecore_app_args_set() after quicklaunch fork
Mike Blumenkrantz [Wed, 7 Feb 2018 18:30:37 +0000 (13:30 -0500)]
elm: call ecore_app_args_set() after quicklaunch fork

ensure that apps get expected behavior when calling args_get()

@fix

6 years agoecore-imf: do ecore-x init during ctx creation instead of module init
Mike Blumenkrantz [Wed, 7 Feb 2018 17:09:35 +0000 (12:09 -0500)]
ecore-imf: do ecore-x init during ctx creation instead of module init

this avoids a number of issues with efl under wayland, msot notably the
automatic triggering of xwayland during every app startup

@fix

6 years agoelm: move ecore-x and ecore-wl2 connection init to selection manager
Mike Blumenkrantz [Wed, 7 Feb 2018 17:03:41 +0000 (12:03 -0500)]
elm: move ecore-x and ecore-wl2 connection init to selection manager

this seems to be the only place where the related components are
explicitly used

neither of these components have fork-safe connections, so there is no
benefit to calling them during quicklaunch init

6 years agoelm: print error if setsid() fails during quicklaunch fork
Mike Blumenkrantz [Wed, 7 Feb 2018 17:03:00 +0000 (12:03 -0500)]
elm: print error if setsid() fails during quicklaunch fork

6 years agoeio: remove broken pid-based monitor reset copied from ecore-file
Mike Blumenkrantz [Wed, 7 Feb 2018 16:55:40 +0000 (11:55 -0500)]
eio: remove broken pid-based monitor reset copied from ecore-file

this has no technical basis for existing and should be handled by
individual monitor backends

@fix

6 years agoecore: fix event flushing to not erase+leak events
Mike Blumenkrantz [Wed, 7 Feb 2018 16:50:57 +0000 (11:50 -0500)]
ecore: fix event flushing to not erase+leak events

stealing the message data here prevents events which aren't being flushed from
ever being usable again and is unnecessary since the free callback will be
automatically called during the destructor

ref 5dd52fd09b7d79c70b3134423a87aa6400a2d994

6 years agoEvas: remove depth usage in GDI and DirectDraw engines
Vincent Torri [Wed, 7 Feb 2018 13:10:24 +0000 (22:10 +0900)]
Evas: remove depth usage in GDI and DirectDraw engines

Test Plan: compilation and elementary_test

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, raster

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

6 years agoelm_part_helper: Fix to use registered default text part
Jaehyun Cho [Wed, 7 Feb 2018 11:51:04 +0000 (20:51 +0900)]
elm_part_helper: Fix to use registered default text part

6 years agoEfl.Ui.Nstate: do not call "changed" callback
Shinwoo Kim [Wed, 7 Feb 2018 07:18:53 +0000 (16:18 +0900)]
Efl.Ui.Nstate: do not call "changed" callback

Before solving following problem in Efl.Ui.Check

https://phab.enlightenment.org/T6673

The changed callback is called with opposite value,
if application is using Efl.Ui.Check with state pointer.

The reason is that the changed callback is called in
efl_ui_nstate_activate, and the value refered by state pointer
is changed only after the efl_ui_nstate_activate is called.

static void
_activate(Evas_Object *obj)
{
   EFL_UI_CHECK_DATA_GET(obj, sd);

   efl_ui_nstate_activate(obj);
   if (sd->statep) *sd->statep = efl_ui_nstate_value_get(obj);

6 years ago elm_genlist: fix rebase build error related with on_focus_update to Focus.Object
Jiyoun Park [Wed, 4 Apr 2018 04:43:12 +0000 (13:43 +0900)]
   elm_genlist: fix rebase build error related with on_focus_update to Focus.Object

   widget: Move on_focus_update to Focus.Object

   Following @taxi2se's recommendation. This is indeed a focus method, and
   Widget already inherits from Focus.Object.

   Ping @bu5hm4n who probably wants to adapt this further.

   Ref T5363

6 years ago efl_spec: fix build error related with dmabuf of ecore_wl2
Jiyoun Park [Wed, 4 Apr 2018 01:41:22 +0000 (10:41 +0900)]
   efl_spec: fix build error related with dmabuf of ecore_wl2

6 years ago ecore_wl2_tbmsurface: modify tbmsurface based on ecore_wl2_surface change of opens...
Jiyoun Park [Wed, 4 Apr 2018 01:39:05 +0000 (10:39 +0900)]
   ecore_wl2_tbmsurface: modify tbmsurface based on ecore_wl2_surface change of opensource

6 years agoecore-drm2: Ensure output changed event is sent for removed outputs
Chris Michael [Tue, 6 Feb 2018 18:01:25 +0000 (13:01 -0500)]
ecore-drm2: Ensure output changed event is sent for removed outputs

If an output gets disconnected, we would still like to be notified of
that. In the _outputs_update function, we mark an output as
disconnected by setting output->connected and output->enabled to
FALSE. With this line in place (in the output_event_send function) we
would never get notified if an output was disconnected.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agodisable async mode (use sync mode) for ibus when keymap changes
Carsten Haitzler (Rasterman) [Tue, 6 Feb 2018 16:10:42 +0000 (01:10 +0900)]
disable async mode (use sync mode) for ibus when keymap changes

so scenario:

1. use ibus
2. have at least english input and japanese input (or korean etc.)
3. have 2 kbd layouts (english and greek).
4. enable "use system keyboard layout" in ibus advanced settings
5. switch to english input mode
6. switch to greek key layout
7. type and get english, not greek input as you should

@fix for both terminology and elm/efl entry/ytext input.

6 years agoelm: do not call "changed" callback when setting style
Shinwoo Kim [Tue, 6 Feb 2018 13:38:14 +0000 (22:38 +0900)]
elm: do not call "changed" callback when setting style

6 years agoefl.ui.progressbar: add checks for min & max value
Amitesh Singh [Tue, 6 Feb 2018 13:33:58 +0000 (22:33 +0900)]
efl.ui.progressbar: add checks for min & max value

this improves the validity check for min & max values
provided from user side.

6 years agoefl_ui: Disable includes that don't compile
Jean-Philippe Andre [Tue, 6 Feb 2018 12:23:45 +0000 (21:23 +0900)]
efl_ui: Disable includes that don't compile

Efl.Ui.Text:
The EO file contains a lot of references to legacy Elm types, which are
defined in elm_general. They should be checked and moved over to
efl_ui.eot if necessary.

Efl.Ui.Multibuttonentry:
This class was originally supposed to be based on a Model Item but as of
now the API is still uncertain, so MBE itself hasn't been worked on
more. Disable this from EO-only apps until its API is fixed.

Ref T6666

6 years agoeina_tiler: fix typo of rect comparing
Shinwoo Kim [Mon, 5 Feb 2018 11:02:06 +0000 (20:02 +0900)]
eina_tiler: fix typo of rect comparing

6 years agoeio: make inotify monitors fork-safe
Mike Blumenkrantz [Fri, 2 Feb 2018 21:59:56 +0000 (16:59 -0500)]
eio: make inotify monitors fork-safe

@fix

6 years agoeeze: simplify watch code and make it fork-safe
Mike Blumenkrantz [Fri, 2 Feb 2018 21:59:56 +0000 (16:59 -0500)]
eeze: simplify watch code and make it fork-safe

avoid reads from parent process's udev fds

6 years agoecore-file: make monitoring truly fork-safe
Mike Blumenkrantz [Fri, 2 Feb 2018 21:59:56 +0000 (16:59 -0500)]
ecore-file: make monitoring truly fork-safe

add a fork reset callback and attempt to preserve existing monitors
during reset

@fix

6 years agoelm: call ecore_event_init() during init
Mike Blumenkrantz [Fri, 2 Feb 2018 21:59:56 +0000 (16:59 -0500)]
elm: call ecore_event_init() during init

events from this component are used internally in elm, don't rely on
other components to do it

@fix

6 years agoecore: make dbus-using modules fork-safe
Mike Blumenkrantz [Fri, 2 Feb 2018 21:59:56 +0000 (16:59 -0500)]
ecore: make dbus-using modules fork-safe

reset dbus connections to ensure continued functionality

6 years agoeldbus: make connections fork-safe
Mike Blumenkrantz [Fri, 2 Feb 2018 21:59:56 +0000 (16:59 -0500)]
eldbus: make connections fork-safe

after a fork, any existing connection objects can no longer be used,
but it's up to the user to destroy them. internally, this prevents
existing connections from ever being returned as valid connections
and creates new ones after a fork

also destroy fd handlers for connections to ensure that no data is
accidentally clobbered before the connections are cleaned up

6 years agoefreet: reset ipc connection after fork
Mike Blumenkrantz [Fri, 2 Feb 2018 21:59:56 +0000 (16:59 -0500)]
efreet: reset ipc connection after fork

ensure that existing connection is not reused

6 years agoeldbus: do not require error return when adding/removing signal matches
Mike Blumenkrantz [Fri, 2 Feb 2018 21:59:56 +0000 (16:59 -0500)]
eldbus: do not require error return when adding/removing signal matches

this forces the functions to be synchronous and blocks (potentially forever)

6 years agoquicklaunch: use XDG_RUNTIME_DIR instead of hardcoded /tmp
Mike Blumenkrantz [Fri, 2 Feb 2018 21:59:56 +0000 (16:59 -0500)]
quicklaunch: use XDG_RUNTIME_DIR instead of hardcoded /tmp

6 years agoefl-wl: add function for passing ecore-exe flags to launched exes
Mike Blumenkrantz [Fri, 2 Feb 2018 21:59:56 +0000 (16:59 -0500)]
efl-wl: add function for passing ecore-exe flags to launched exes

@feature

6 years agoefl-wl: no need to check exe tag on app del, just remove pid always
Mike Blumenkrantz [Fri, 2 Feb 2018 21:59:56 +0000 (16:59 -0500)]
efl-wl: no need to check exe tag on app del, just remove pid always

6 years agoefl-wl: add functions for managing allowed client pids
Mike Blumenkrantz [Fri, 2 Feb 2018 21:59:56 +0000 (16:59 -0500)]
efl-wl: add functions for managing allowed client pids

@feature

6 years agoelm: fix typo - remove line to debug
Shinwoo Kim [Fri, 2 Feb 2018 10:07:04 +0000 (19:07 +0900)]
elm: fix typo - remove line to debug

6 years agoelm: use Dbus securely
Shinwoo Kim [Fri, 2 Feb 2018 09:56:58 +0000 (18:56 +0900)]
elm: use Dbus securely

The Efl.Access.Attribute is using key and value.
The value could be NULL. If the value is NULL, then following error occurs.

*error:
arguments to dbus_message_iter_append_basic() were incorrect,
assertion "_dbus_check_is_valid_utf8 (*string_p)" failed
in file ../../dbus/dbus-message.c line 2712.
This is normally a bug in some application using the D-Bus library.
Array or variant type requires that type string be written, but end_dict_entry
was written.
The overall signature expected here was 'a{ss}' and we are on byte 3 of that
signature.

6 years agoelm: fix for invalid attribute matching
Radoslaw Cybulski [Fri, 2 Feb 2018 07:53:42 +0000 (08:53 +0100)]
elm: fix for invalid attribute matching

Summary:
Fixes invalid attribute matching in at-spi's collection interface's GetMatches***
functions.

Reviewers: stanluk

Reviewed By: stanluk

Subscribers: lukasz.stanislawski, cedric

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

6 years agoevil: final step : remove completely the binary, useless now that the unit test is...
Vincent Torri [Thu, 1 Feb 2018 19:28:57 +0000 (20:28 +0100)]
evil: final step : remove completely the binary, useless now that the unit test is theree

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
6 years agoefl ui did - dont segv if createicon func is not provided
Carsten Haitzler (Rasterman) [Thu, 1 Feb 2018 11:09:05 +0000 (20:09 +0900)]
efl ui did - dont segv if createicon func is not provided

6 years agoUse ERR instead of CRI if *DATA_GET* returns NULL
Shinwoo Kim [Thu, 1 Feb 2018 05:20:20 +0000 (14:20 +0900)]
Use ERR instead of CRI if *DATA_GET* returns NULL

This patch set is for remains.

6 years agoelm: Use ERR instead of CRI if *DATA_GET* returns NULL
Shinwoo Kim [Thu, 1 Feb 2018 03:16:28 +0000 (12:16 +0900)]
elm: Use ERR instead of CRI if *DATA_GET* returns NULL

6 years agoeina tests: add missing semicolumn
Vincent Torri [Wed, 31 Jan 2018 12:35:55 +0000 (13:35 +0100)]
eina tests: add missing semicolumn

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
6 years agoevil: remove useless binary tests
Vincent Torri [Wed, 31 Jan 2018 12:35:03 +0000 (13:35 +0100)]
evil: remove useless binary tests

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
6 years agoeolian: no need to store 'parsed' table anymore either
Daniel Kolesa [Wed, 31 Jan 2018 18:14:15 +0000 (19:14 +0100)]
eolian: no need to store 'parsed' table anymore either

6 years agoeolian: simplify parsed checking
Daniel Kolesa [Wed, 31 Jan 2018 18:06:37 +0000 (19:06 +0100)]
eolian: simplify parsed checking

6 years agoeolian: no need to track currently parsing file anymore
Daniel Kolesa [Wed, 31 Jan 2018 17:10:06 +0000 (18:10 +0100)]
eolian: no need to track currently parsing file anymore

6 years agoeolian: all dependency parsing is now deferred
Daniel Kolesa [Wed, 31 Jan 2018 17:06:17 +0000 (18:06 +0100)]
eolian: all dependency parsing is now deferred

6 years agoefl_ui_focus_parent_provider_gen: code refactoring
YeongJong Lee [Wed, 31 Jan 2018 14:04:26 +0000 (15:04 +0100)]
efl_ui_focus_parent_provider_gen: code refactoring

Summary: remove needless function call and else statement

Reviewers: bu5hm4n

Subscribers: cedric, jpeg

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

6 years agoefl_ui_focus_manager_sub: avoid a call to NULL
YeongJong Lee [Wed, 31 Jan 2018 13:29:18 +0000 (14:29 +0100)]
efl_ui_focus_manager_sub: avoid a call to NULL

Summary:
we need to consider the manager change to NULL

@ref T6616

Reviewers: bu5hm4n

Subscribers: cedric

Maniphest Tasks: T6616

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

6 years agoelm_menu: avoid a call to NULL
YeongJong Lee [Wed, 31 Jan 2018 13:29:12 +0000 (14:29 +0100)]
elm_menu: avoid a call to NULL

Summary: the provider_find can be called before parent_set in constructor.

Test Plan:
1. EINA_LOG_LEVELS=eo:2 elementary_test -to menu
2. check that there is no warning message about efl_provider_find

Reviewers: jpeg, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric

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

6 years agoefl_ui_focus_composition: remove elements_flush
Marcel Hollerbach [Sat, 27 Jan 2018 16:57:43 +0000 (17:57 +0100)]
efl_ui_focus_composition: remove elements_flush

this can also be done when calling prepare_logical

6 years agoEfl.ui.progressbar: remove duplicate call
Amitesh Singh [Wed, 31 Jan 2018 09:04:39 +0000 (18:04 +0900)]
Efl.ui.progressbar: remove duplicate call

eina_value_set() was already getting called

6 years agoEfl.Ui.Progressbar: implement range min max
Amitesh Singh [Wed, 17 Jan 2018 06:52:58 +0000 (15:52 +0900)]
Efl.Ui.Progressbar: implement range min max

6 years agowl2_surface_dmabuf: Trim the buffer queue after a while
Derek Foreman [Tue, 30 Jan 2018 23:06:48 +0000 (17:06 -0600)]
wl2_surface_dmabuf: Trim the buffer queue after a while

If we have more buffers than we need for 100 frames then drop the oldest.

This can happen if we're on a hardware plane and then removed from it, or
really whenever the compositor feels like holding onto a few frames.

Trimming the queue too soon could result in having to do a costly full
frame redraw, so we wait a while to make sure we don't need one again.

Having more frames than we need costs us a little every draw since we
always use the oldest available.  It also wastes memory.

6 years agoecore_wl2_surface: Flush surfaces for offscreen windows
Derek Foreman [Tue, 30 Jan 2018 22:32:45 +0000 (16:32 -0600)]
ecore_wl2_surface: Flush surfaces for offscreen windows

When a surface leaves all outputs we can discard its buffers to save
memory.

Currently most compositors don't send leave events for iconify, so this
pretty much just saves us a cursor buffer under weston for now, but in
the future it could be used for freeing resources of offscreen (fully
occluded or iconified) windows.

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.