platform/upstream/efl.git
6 years agoefl_mono: Reject the promise when it's disposed.
Lauro Moura [Thu, 17 May 2018 22:46:57 +0000 (19:46 -0300)]
efl_mono: Reject the promise when it's disposed.

Summary:
As futures are tied to a given promises and are usually handled in
a 'attach and forget' scheme, we can't cancel them as it would cancel
the whole chain.

Reviewers: felipealmeida, vitor.sousa

Reviewed By: vitor.sousa

Subscribers: cedric, #committers, zmike

Tags: #efl

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

6 years agoecore-evas-buffer: defer resize callback until pre-render
Mike Blumenkrantz [Wed, 23 May 2018 21:35:18 +0000 (17:35 -0400)]
ecore-evas-buffer: defer resize callback until pre-render

Summary:
this mimics other engines, all of which have the same mechanics due
to display server interactions. it also avoids unnecessary recalcs before
pre-render if the canvas size was changing repeatedly

fix T6924
ref D6019

Reviewers: cedric, JackDanielZ

Reviewed By: JackDanielZ

Subscribers: #committers, JackDanielZ

Tags: #efl

Maniphest Tasks: T6924

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

6 years agoefl_mono: Fix events after Event_Description rename.
Lauro Moura [Wed, 23 May 2018 13:07:05 +0000 (10:07 -0300)]
efl_mono: Fix events after Event_Description rename.

6 years agoefl: rename Efl.Ui.Zoom.Mode -> Efl.Ui.Zoom_Mode
Xavi Artigas [Wed, 23 May 2018 10:39:57 +0000 (12:39 +0200)]
efl: rename Efl.Ui.Zoom.Mode -> Efl.Ui.Zoom_Mode

6 years agoefl: rename Efl.Ui.Widget.Orientation_Mode -> Efl.Ui.Widget_Orientation_Mode
Xavi Artigas [Wed, 23 May 2018 10:39:08 +0000 (12:39 +0200)]
efl: rename Efl.Ui.Widget.Orientation_Mode -> Efl.Ui.Widget_Orientation_Mode

6 years agoefl: rename Efl.Ui.Text.Change_Info -> Efl.Ui.Text_Change_Info
Xavi Artigas [Wed, 23 May 2018 10:37:35 +0000 (12:37 +0200)]
efl: rename Efl.Ui.Text.Change_Info -> Efl.Ui.Text_Change_Info

6 years agoefl: rename Efl.Ui.Tab_Page.* -> Efl.Ui.Tab_Page_*
Xavi Artigas [Wed, 23 May 2018 10:34:44 +0000 (12:34 +0200)]
efl: rename Efl.Ui.Tab_Page.* -> Efl.Ui.Tab_Page_*

6 years agoefl: rename Efl.Ui.Stack.Event_* -> Efl.Ui.Stack_Event_*
Xavi Artigas [Wed, 23 May 2018 10:30:26 +0000 (12:30 +0200)]
efl: rename Efl.Ui.Stack.Event_* -> Efl.Ui.Stack_Event_*

6 years agoefl: rename Efl.Ui.Slider.Indicator_Visible_Mode -> Efl.Ui.Slider_Indicator_Visible_Mode
Xavi Artigas [Wed, 23 May 2018 10:27:16 +0000 (12:27 +0200)]
efl: rename Efl.Ui.Slider.Indicator_Visible_Mode -> Efl.Ui.Slider_Indicator_Visible_Mode

6 years agoefl: rename Efl.Ui.Pager.Loop -> Efl.Ui.Pager_Loop
Xavi Artigas [Wed, 23 May 2018 10:23:13 +0000 (12:23 +0200)]
efl: rename Efl.Ui.Pager.Loop -> Efl.Ui.Pager_Loop

6 years agoefl: rename Efl.Ui.Focus.Composition.Adapter -> Efl.Ui.Focus.Composition_Adapter
Xavi Artigas [Wed, 23 May 2018 09:54:12 +0000 (11:54 +0200)]
efl: rename Efl.Ui.Focus.Composition.Adapter -> Efl.Ui.Focus.Composition_Adapter

6 years agoefl: rename Efl.Ui.Drag.Dir -> Efl.Ui.Drag_Dir
Xavi Artigas [Wed, 23 May 2018 09:52:03 +0000 (11:52 +0200)]
efl: rename Efl.Ui.Drag.Dir -> Efl.Ui.Drag_Dir

6 years agoefl: rename Efl.Ui.*_Legacy.Part -> Efl.Ui.*_Legacy_Part
Xavi Artigas [Wed, 23 May 2018 09:50:45 +0000 (11:50 +0200)]
efl: rename Efl.Ui.*_Legacy.Part -> Efl.Ui.*_Legacy_Part

6 years agoefl: rename Efl.Text.Bidirectional_Type -> Efl.Text_Bidirectional_Type
Xavi Artigas [Wed, 23 May 2018 09:48:56 +0000 (11:48 +0200)]
efl: rename Efl.Text.Bidirectional_Type -> Efl.Text_Bidirectional_Type

6 years agoefl: rename Efl.Task.* -> Efl.Task_*
Xavi Artigas [Wed, 23 May 2018 09:46:44 +0000 (11:46 +0200)]
efl: rename Efl.Task.* -> Efl.Task_*

6 years agoefl: rename Efl.Selection.* -> Efl.Selection_*
Xavi Artigas [Wed, 23 May 2018 09:43:22 +0000 (11:43 +0200)]
efl: rename Efl.Selection.* -> Efl.Selection_*

6 years agoefl: rename Efl.Observable.Tuple -> Efl.Observable_Tuple
Xavi Artigas [Wed, 23 May 2018 09:22:38 +0000 (11:22 +0200)]
efl: rename Efl.Observable.Tuple -> Efl.Observable_Tuple

6 years agoefl: rename Efl.Net.*.* -> Efl.Net.*_*
Xavi Artigas [Wed, 23 May 2018 09:21:10 +0000 (11:21 +0200)]
efl: rename  Efl.Net.*.* ->  Efl.Net.*_*

6 years agoefl: rename Efl.Input.Device.Type -> Efl.Input.Device_Type
Xavi Artigas [Wed, 23 May 2018 08:56:08 +0000 (10:56 +0200)]
efl: rename Efl.Input.Device.Type -> Efl.Input.Device_Type

6 years agoefl: rename Efl.Gfx.*.* -> Efl.Gfx.*_*
Xavi Artigas [Wed, 23 May 2018 08:48:21 +0000 (10:48 +0200)]
efl: rename Efl.Gfx.*.* -> Efl.Gfx.*_*

6 years agoefl: rename Efl.Gfx.Color_Class.Layer -> Efl.Gfx.Color_Class_Layer
Xavi Artigas [Wed, 23 May 2018 08:36:38 +0000 (10:36 +0200)]
efl: rename Efl.Gfx.Color_Class.Layer -> Efl.Gfx.Color_Class_Layer

6 years agoefl: rename Efl.Exe.* -> Efl.Exe_*
Xavi Artigas [Tue, 22 May 2018 15:29:59 +0000 (17:29 +0200)]
efl: rename Efl.Exe.* -> Efl.Exe_*

6 years agoefl: rename Efl.Event.Description -> Efl.Event_Description
Xavi Artigas [Tue, 22 May 2018 15:24:06 +0000 (17:24 +0200)]
efl: rename Efl.Event.Description -> Efl.Event_Description

6 years agoefl: rename Efl.Event.Animator_Tick -> Efl.Event_Animator_Tick
Xavi Artigas [Tue, 22 May 2018 15:11:31 +0000 (17:11 +0200)]
efl: rename Efl.Event.Animator_Tick -> Efl.Event_Animator_Tick

6 years agoefl: rename Efl.Canvas.Gesture.* -> Efl.Canvas.Gesture_*
Xavi Artigas [Tue, 22 May 2018 11:18:52 +0000 (13:18 +0200)]
efl: rename Efl.Canvas.Gesture.* -> Efl.Canvas.Gesture_*

6 years agoefl: rename Efl.Canvas.Object.Animation.* -> Efl.Canvas.Object_Animation_*
Xavi Artigas [Tue, 22 May 2018 11:02:18 +0000 (13:02 +0200)]
efl: rename Efl.Canvas.Object.Animation.* -> Efl.Canvas.Object_Animation_*

6 years agoefl: rename Efl.Canvas.Animation.* -> Efl.Canvas.Animation_*
Xavi Artigas [Tue, 22 May 2018 11:01:34 +0000 (13:01 +0200)]
efl: rename Efl.Canvas.Animation.* -> Efl.Canvas.Animation_*

6 years agoevas: fix a map rendering problem.
Hermet Park [Wed, 23 May 2018 13:57:16 +0000 (22:57 +0900)]
evas: fix a map rendering problem.

When map of a smart object is turned off, redraw-updation area could be incorrect.
This results in a mirror image problem.

for fixing this, let smart object request update-area in render_pre() properly only in case of map changed.

Thanks to akanad for reviewing together.

@fix

6 years agoelm: fix backward compatibility for "default" name part
YeongJong Lee [Wed, 23 May 2018 10:35:18 +0000 (19:35 +0900)]
elm: fix backward compatibility for "default" name part

Summary:
If you use legacy content/text set/get/unset with "default" part name,
_elm_layout_part_aliasing_eval change the part name to "elm.swallow.content".
Because internal _content_set/get/unset checked only "default" string,
legacy content/test set/get/unset with "default" part name was not working.
This patch fixes that bug.

Test Plan: elm_object_part_content/text_set(obj, "default", content)

Reviewers: Jaehyun_Cho, woohyun

Reviewed By: Jaehyun_Cho

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoefl_ui_win: always force resize job on first pre-render
Mike Blumenkrantz [Wed, 23 May 2018 08:28:05 +0000 (10:28 +0200)]
efl_ui_win: always force resize job on first pre-render

Summary:
ensure that a resize eval occurs after the frame edje has been thawed
so that sizing will be correct in engines which either still have
broken size handling (D6019) or have sub-optimal size handling (D6145)

Reviewers: bu5hm4n, cedric

Reviewed By: bu5hm4n

Tags: #efl

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

6 years agoelm_entry: add elm_entry_prediction_hint_hash_set/del API
Jihoon Kim [Wed, 23 May 2018 02:26:30 +0000 (11:26 +0900)]
elm_entry: add elm_entry_prediction_hint_hash_set/del API

elm_entry_prediction_hint_hash_set API sets the prediction hint data at the specified key, and
elm_entry_prediction_hint_hash_del API is for deleting the prediction hint data identified by a key.

@feature

Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
6 years agoecore_wl2_window: Silence early commit ERR for mouse cursors
Derek Foreman [Tue, 22 May 2018 16:33:36 +0000 (12:33 -0400)]
ecore_wl2_window: Silence early commit ERR for mouse cursors

Summary:
Our wayland mouse cursor code can trigger commits with commit pending
when mousing into a window across CSD, which results in quickly setting
the default cursors then an animated resize cursor before the first commit
has finished.

Fixing this is non trivial, and the bug is just a harmless inefficiency
of little impact, so just disable the ERR for that specific case instead.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoeolian: push missing event type changes in tests
Daniel Kolesa [Mon, 21 May 2018 18:32:34 +0000 (20:32 +0200)]
eolian: push missing event type changes in tests

6 years agoefl_ui_tags: Fixed bug when setting format string.
Woochan Lee [Sat, 19 May 2018 18:58:41 +0000 (03:58 +0900)]
efl_ui_tags: Fixed bug when setting format string.

Summary:
efl_ui_format_string_set was not working well.

Changed default format text. ("++++ %d" text for test only.)

@fix

Reviewers: Jaehyun_Cho, cedric, woohyun

Reviewed By: Jaehyun_Cho

Subscribers: zmike, cedric

Tags: #efl

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

6 years agoefl_ui_spin: Added special value feature.
Woochan Lee [Sat, 19 May 2018 18:01:44 +0000 (03:01 +0900)]
efl_ui_spin: Added special value feature.

Summary:
User may want to set as meanignful words for the value instead of numberic value.

@feature

Test Plan: elementary_test->test_ui_spin_button.

Reviewers: cedric, woohyun, Jaehyun_Cho, herb

Reviewed By: Jaehyun_Cho

Subscribers: zmike, felipealmeida, cedric

Tags: #efl

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

6 years agoeolian: integrate event type requirement into eo file grammar
Daniel Kolesa [Fri, 18 May 2018 23:49:06 +0000 (01:49 +0200)]
eolian: integrate event type requirement into eo file grammar

6 years agoeolian: force-enable event type checks
Daniel Kolesa [Fri, 18 May 2018 23:45:38 +0000 (01:45 +0200)]
eolian: force-enable event type checks

Now that event types have all been fixed, force-enable the
validation check.

6 years agoefl: Add missing event types
Xavi Artigas [Fri, 11 May 2018 15:20:40 +0000 (17:20 +0200)]
efl: Add missing event types

Summary:
All events must have a type now, otherwise bindings don't know how to handle
the event_info field.
Most of the missing event types were actually "void" (no event_info present).
Some struct definitions had to be moved to eo instead of h files, so they
are available to bindings. Some have not, and are marked with FIXME.
Some namespaces have been fixed (like Efl_Event_Cb -> Efl.Event_Cb).

In general, there are hundreds of changed files, but mostly to add a type which
was not present before, so there's no harm done.
Also, A lot of FIXMEs have been added which should be, like, fixed.
For example, some events can send different types of event_info, which is
very inconvenient (and error prone).

Test Plan: make with c# bindings works, make check and make examples work too.

Reviewers: cedric, q66, lauromoura

Subscribers: zmike

Tags: #efl

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

6 years agoecore_con: add check for invalid space("") name
YeongJong Lee [Fri, 18 May 2018 17:47:03 +0000 (13:47 -0400)]
ecore_con: add check for invalid space("") name

Summary:
space("") name check had existed, but it was removed on f4306d654dc55e8a0449698da18f371644d656df
(in the _efl_network_connector_efl_object_finalize)
This patch restore the safety checks

Reviewers: barbieri, Hermet, Jaehyun_Cho, myoungwoon, zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoee_wayland: Fix device leak on disconnect
Derek Foreman [Fri, 18 May 2018 17:46:47 +0000 (13:46 -0400)]
ee_wayland: Fix device leak on disconnect

Summary:
A reference was taken on these when they were added, so by passing NULL
here we're not allowing that reference to be dropped.  This results in
not only leaking the device forever, but also potentially leaving it as
a default device after it's removed so that no new attach will replace it.

Under weston all devices are removed on a VT switch, and when you switch
back the default device is wrong, which leads to problems with events
like "mouse in" which, for legacy reasons, don't take a seat, but
instead look up the default seat.

This allows the delete callback to be fired for the first time ever,
and while I've tried to fix some bugs this has revealed, I'm not
actually sure I've caught them all.
Depends on D6182

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoevas_main: Fix deleting pointer data
Derek Foreman [Fri, 18 May 2018 17:46:36 +0000 (13:46 -0400)]
evas_main: Fix deleting pointer data

Summary:
This appears to be called from a delete callback that takes place well
after the eo parent relationship is deleted, however
efl_input_device_get_seat() finds the seat by finding the parent.  That
will always be NULL during this callback, so we'll leak the data.

Instead, search all seats for the pointer.
Depends on D6181

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoevas_device: Only remove pointer data on deletion of pointer devices
Derek Foreman [Fri, 18 May 2018 17:46:31 +0000 (13:46 -0400)]
evas_device: Only remove pointer data on deletion of pointer devices

Summary:
This delete callback is shared for mouse, pointer, touch, and seat.  We
should only delete pointer data when we're called on a pointer.

Note that (at least under wayland) this particular bug is irreproducible
right now because, due to a ref leak, this deletion callback can never
fire.
Depends on D6180

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoefl_input_device: Fix seat_get
Derek Foreman [Fri, 18 May 2018 17:46:28 +0000 (13:46 -0400)]
efl_input_device: Fix seat_get

Summary: This was testing the same thing twice.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

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

6 years agocursor: fix ABI break in widget item cursor APIs
SangHyeon Lee [Fri, 18 May 2018 16:13:43 +0000 (01:13 +0900)]
cursor: fix ABI break in widget item cursor APIs

Summary:
fix ABI break in widget item cursor APIs
by efl_ui_cursor interface implementing.

item's view were not elementary widget mostly,
reimplementing efl_ui_cursor on efl_ui_widget
cannot resolve item's cursor API call.

Test Plan:
check,
elm_object_item_cursor_XXX
API is working properly on elm_object_item.

Reviewers: cedric, jpeg, raster

Reviewed By: raster

Subscribers: stefan_schmidt, zmike

Tags: #efl

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

6 years agoeo: do not expose callback,add and del events in bindings
Xavi Artigas [Fri, 18 May 2018 14:41:45 +0000 (16:41 +0200)]
eo: do not expose callback,add and del events in bindings

These events have been removed from efl_object.eo. Bindings can
still use the EFL_EVENT_CALLBACK_ADD and EFL_EVENT_CALLBACK_DEL
events from C, but they won't be available to the bound language.
The rationale is that bound languages probably will have their
own way to handle callbacks and C function pointers will mean
very little to them. For example, the binding code could route
the native callback through a dispatcher so the received
function ptr would always be that of the dispatcher method.

Closes D6179.

6 years agoefl_mono: Remove callback,add from event tests.
Lauro Moura [Fri, 18 May 2018 13:52:54 +0000 (10:52 -0300)]
efl_mono: Remove callback,add from event tests.

Test Plan: make check

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoefl_mono: Start generating eina future in eolian_mono.
Lauro Moura [Mon, 7 May 2018 22:22:59 +0000 (19:22 -0300)]
efl_mono: Start generating eina future in eolian_mono.

Summary:
Besides the normal methods returning Futures, we now generate
a wrapper with the "Async" suffix. This wrapper returns a
Systems.Threading.Tasks.Task which can be awaited on and reflect the
status of the Future.

When an eina.Future fails with ECANCELED, TaskCanceledException is
raised in the Task. Otherwise, an efl.FutureException(eina.Error) is
raised.
Depends on D6174

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoefl_mono: Initial support for Futures/Promises
Lauro Moura [Fri, 20 Apr 2018 21:17:26 +0000 (18:17 -0300)]
efl_mono: Initial support for Futures/Promises

Summary:
Promise/Future cleanup:

In the promises, we use a wrapper Eina_Promise_Cancel_Cb to
invalidate the wrapper if it ever gets cancelled from outside. When
invalidating from C#, we can do it directly.

For the futures, likewise, in order to be able to invalidate the
wrapper when the chain it belongs to gets resolved we then() an
internal future with a callback to invalidate the wrapper we return to
C#. The return of this intermediate then() is the future we actually
return to the user.

Also added ECANCELED to the list of default eina.Errors
Depends on D6173

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoefl_mono: Fix eldbus warnings and typo.
Lauro Moura [Wed, 9 May 2018 13:19:49 +0000 (10:19 -0300)]
efl_mono: Fix eldbus warnings and typo.

Summary: Depends on D6172

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoefl_mono: Add support for Eina.Error/Empty in eina.Value
Lauro Moura [Mon, 23 Apr 2018 19:20:12 +0000 (16:20 -0300)]
efl_mono: Add support for Eina.Error/Empty in eina.Value

Summary:
eina.Value.Empty now means that we have an zeroed (empty) eina value.
For optional values that are empty use eina.Value.OptionalEmpty.

This was required to support the empty values passed with
EINA_VALUE_EMPTY in some Ecore futures.

Also, returning an eina_value by value is not supported in eolian
for safety reasons, so we removed some tests that tried to use this
behavior.
Depends on D6171

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoefl_mono: Add documentation tag in part decl
Lauro Moura [Wed, 25 Apr 2018 14:36:24 +0000 (11:36 -0300)]
efl_mono: Add documentation tag in part decl

Summary: Depends on D6170

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoefl_mono: Fix generation of event arguments
Lauro Moura [Wed, 16 May 2018 20:35:21 +0000 (17:35 -0300)]
efl_mono: Fix generation of event arguments

Summary:
Event argument was getting its type name from another path, different
from the type_generator.

In later commits the other functions from name_helpers should use the
type_generator too.

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoeolian: add code to run static checks but don't enable yet
Daniel Kolesa [Thu, 17 May 2018 14:11:03 +0000 (16:11 +0200)]
eolian: add code to run static checks but don't enable yet

This adds code to run the Eolian static checker as part of tests,
but considering how many failures there are at this point, does
not enable it. Once they're all fixed, it can be enabled by
removing the #if 0.

6 years agoci: travis: tweak the IRC notification message template to our needs
Stefan Schmidt [Thu, 17 May 2018 13:36:04 +0000 (15:36 +0200)]
ci: travis: tweak the IRC notification message template to our needs

I wanted to have the commit subject in it. This could be further changed
if needed.

https://docs.travis-ci.com/user/notifications/#Configuring-IRC-notifications

6 years agoci: travis: enable IRC notifications to #edevelop
Stefan Schmidt [Wed, 25 Apr 2018 16:41:59 +0000 (18:41 +0200)]
ci: travis: enable IRC notifications to #edevelop

6 years agoefl_ui_scrollable: apply scroll_hold_push/pop and scroll_freeze_push/pop
Hosang Kim [Thu, 17 May 2018 09:17:44 +0000 (18:17 +0900)]
efl_ui_scrollable: apply scroll_hold_push/pop and scroll_freeze_push/pop

Test Plan: elementary_test -> Efl.Ui.Scroller -> move slider

Reviewers: jpeg, woohyun, akanad, cedric, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: zmike, Jaehyun_Cho, eagle001, cedric

Tags: #efl

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

6 years agoevas textblock: manage default style properly for new interfaces
Youngbok Shin [Wed, 16 May 2018 17:56:27 +0000 (20:56 +0300)]
evas textblock: manage default style properly for new interfaces

Summary:
Calling efl_canvas_text_style_set() with empty key means
setting a default style to object. But, it counldn't store style
as default properly. It caused a crash issue from elementary_test.
@fix

Test Plan:
New test case is included. Run test suite. Or,
1. Run elementary_test
2. Find and launch "Image Zoomable animation" test.
3. Close the image test window.
4. See the crash issue.

Reviewers: raster, herdsman, jpeg, cedric, zmike

Subscribers: zmike

Tags: #efl

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

Committer's note: rebased and removed unrelated test.

6 years agoevas textblock: update format nodes when a Evas Textblock Style is updated
Youngbok Shin [Wed, 16 May 2018 17:21:08 +0000 (20:21 +0300)]
evas textblock: update format nodes when a Evas Textblock Style is updated

Summary:
A style tag among a text has to be replcaed by its matched tag when
a format node is created. If the matched tag is changed, format nodes
should be updated.
But, if a style text for Evas Textblock Style is changed,
related format nodes are not updated without setting new text.
The patch changes to update format nodes when new style text is set.
@fix

Test Plan: Included in Evas Test Suite.

Reviewers: raster, tasn, herdsman, subodh6129, zmike

Subscribers: zmike, cedric, z-wony, Blackmole

Tags: #efl

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

Committer's note: rebased.

6 years agoefl_ui_win: hand-ref-count the provider object
Marcel Hollerbach [Wed, 16 May 2018 17:30:33 +0000 (13:30 -0400)]
efl_ui_win: hand-ref-count the provider object

Summary: Depends on D6108

Reviewers: cedric

Reviewed By: cedric

Subscribers: zmike

Tags: #efl

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

6 years agoIntroduce efl_ui_widget_focus_manager
Marcel Hollerbach [Wed, 16 May 2018 17:30:28 +0000 (13:30 -0400)]
Introduce efl_ui_widget_focus_manager

Summary:
The mixin encapsulates the correct
- creation
- composition attaching
- Lifecycle handling

of the focus managers that are assosiated with the object.

This fixes error messages on shutdown, and additionally lifetime issues
where the composite_attached object was deleted before the object was
deleted.

Reviewers: cedric, zmike

Reviewed By: zmike

Subscribers: segfaultxavi, zmike

Tags: #efl

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

6 years agobuild: ensure we delete all new check-results*xml files
Stefan Schmidt [Wed, 16 May 2018 15:03:51 +0000 (17:03 +0200)]
build: ensure we delete all new check-results*xml files

When we split up the tests to run them in parallel we also created a lot
more xml report files. Make sure we delete them when cleaning up.
Nicely spotted by distcheck by complaining about non removed files.

6 years agoci: test the installed parts of efl
Marcel Hollerbach [Tue, 15 May 2018 11:36:44 +0000 (13:36 +0200)]
ci: test the installed parts of efl

Summary:
ci for now was not testing if building against the installation of efl
was working, this builds the lifegame example which ensures that elm is
build correctly.

Reviewers: stefan_schmidt

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoci: travis: move macos build out of allowed failures
Stefan Schmidt [Wed, 16 May 2018 09:20:18 +0000 (11:20 +0200)]
ci: travis: move macos build out of allowed failures

It is working fine again and we want to know if something breaks it.

6 years agoci: travis: switch Ubuntu and Fedora builds to latest release
Stefan Schmidt [Wed, 16 May 2018 09:18:42 +0000 (11:18 +0200)]
ci: travis: switch Ubuntu and Fedora builds to latest release

6 years agoedje: Fix to support translation for textblock part
SubodhKumar [Tue, 15 May 2018 16:44:17 +0000 (12:44 -0400)]
edje: Fix to support translation for textblock part

Summary:
Text translation in edc for textblock is missing.
Added to support it.

@fix

Reviewers: cedric, zmike

Reviewed By: cedric, zmike

Subscribers: shilpasingh, zmike

Tags: #efl

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

6 years agoeolian: more useful namespace checks with no false negatives
Daniel Kolesa [Tue, 15 May 2018 14:42:01 +0000 (16:42 +0200)]
eolian: more useful namespace checks with no false negatives

6 years agoeolian: initial simple namespace conflict check
Daniel Kolesa [Tue, 15 May 2018 14:25:23 +0000 (16:25 +0200)]
eolian: initial simple namespace conflict check

6 years agoEo: introduce convenience macro efl_new()
Xavi Artigas [Tue, 15 May 2018 13:53:24 +0000 (09:53 -0400)]
Eo: introduce convenience macro efl_new()

Summary:
This is just a wrapper around efl_add_ref() with a NULL parent.
It only simplifies a bit object creation when no parent is desired, but it
simplifies a lot the explanation of the refcounting concepts (and tutorials).

Reviewers: cedric, bu5hm4n

Reviewed By: cedric, bu5hm4n

Subscribers: bu5hm4n, zmike

Tags: #efl

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

6 years agoremove potential double free
Andy Williams [Tue, 15 May 2018 13:47:36 +0000 (14:47 +0100)]
remove potential double free

6 years agoAdd missing continue keyword from Go definition
Andy Williams [Tue, 15 May 2018 13:45:55 +0000 (14:45 +0100)]
Add missing continue keyword from Go definition

6 years agoevas: error out when there appeared a object while a new one is focused
Marcel Hollerbach [Tue, 15 May 2018 13:32:20 +0000 (09:32 -0400)]
evas: error out when there appeared a object while a new one is focused

Summary:
this is on the one side error prone and race, as reacting to a focus out
with a new focused object leads to weird cases. On the other side we are
then using eina hash wrong which leads to later weirdness as the element
that is assosiated with &key is broken.

Reviewers: raster, zmike, stefan_schmidt, cedric

Reviewed By: zmike

Subscribers: cedric

Tags: #efl

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

6 years agoci: build with default prefix
Marcel Hollerbach [Tue, 15 May 2018 11:36:47 +0000 (13:36 +0200)]
ci: build with default prefix

Summary:
not building with a default prefix might end up that the installed
.pc files are not fetched automatically, which makes the building of the
example fail.
Depends on D6160

Reviewers: stefan_schmidt

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoelm_slider: fix test suite fail
Hosang Kim [Tue, 15 May 2018 11:13:06 +0000 (20:13 +0900)]
elm_slider: fix test suite fail

Summary: change legacy widget name.

Reviewers: Jaehyun, stefan_schmidt, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, zmike

Tags: #efl

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

6 years agoexamples: Fix slider cxx example based on Efl.Ui.Slider
Jaehyun Cho [Tue, 15 May 2018 10:59:45 +0000 (19:59 +0900)]
examples: Fix slider cxx example based on Efl.Ui.Slider

Unlike Elm_Slider, Efl.Ui.Slider does not support text_set,
format_cb_set, and format_string_set.
To support Efl.Ui.Slider, slider cxx example is modified.

6 years agoefl_ui_slider: refactor slider widget.
Hosang Kim [Tue, 15 May 2018 05:16:00 +0000 (14:16 +0900)]
efl_ui_slider: refactor slider widget.

Test Plan: elementary_test -> Efl.Ui.Slider, Efl.Ui.Slider_Interval, slider

Reviewers: woohyun, cedric, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: zmike, cedric

Tags: #efl

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

6 years agoelm: use build dir data when EFL_RUN_IN_TREE is set
Mike Blumenkrantz [Mon, 14 May 2018 15:26:09 +0000 (17:26 +0200)]
elm: use build dir data when EFL_RUN_IN_TREE is set

Summary:
this prevents tests from loading user configs and providing inconsistent
results or accidentally modifying a user's config

fix T6863
Depends on D6013

Reviewers: cedric, stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: stefan_schmidt

Tags: #efl

Maniphest Tasks: T6863

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

6 years agobuild: move config/ to data/elementary/config
Mike Blumenkrantz [Mon, 14 May 2018 15:26:06 +0000 (17:26 +0200)]
build: move config/ to data/elementary/config

Summary:
this is part of the datadir distribution, it should not be in a different
directory than the rest of the datadir distribution

the gnu coding standards (https://www.gnu.org/prep/standards/html_node/Directory-Variables.html)
define 'datadir' as:

The directory for installing idiosyncratic read-only architecture-independent
data files for this program. This is usually the same place as ‘datarootdir’,
but we use the two separate variables so that you can move these program-specific
files without altering the location for Info files, man pages, etc.

This should normally be /usr/local/share, but write it as $(datarootdir).
(If you are using Autoconf, write it as ‘@datadir@’.)

The definition of ‘datadir’ is the same for all packages, so you should install your
data in a subdirectory thereof. Most packages install their data under $(datadir)/package-name/.

while this text has no clear requirement or suggestion for a corresponding
repository layout, projects typically employ a certain consistency in their
repository layout both for ease of maintenance and ease of learning for new
contributors.

this project has both a data/ directory, which contains the datadir distribution,
as well as the config/ directory, which also contains the datadir distribution.
this complicates matters both for active maintainers/developers who must
remember that the repository and build tree layouts have this exception,
and for new contributors who will initially be confused by this exception

other well-organized open source projects, such as wayland, have chosen to not
use a data/ directory. these projects have the datadir distribution in the base
directory of the repositor, which is a fine practice as it maintains consistency
for the project since all the files for the datadir distribution are in the same
directory.

by applying this patch, the project will move towards a more easily readable and
learnable layout. current and future developers will no longer need to wonder why
this directory is outside of the data/ directory, and anyone attempting to reference
these files from the source/build trees will be able to do so more easily

Reviewers: cedric, stefan_schmidt, raster

Reviewed By: stefan_schmidt, raster

Tags: #efl

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

6 years agoedje_cc: do not keep the filedescriptor
Marcel Hollerbach [Mon, 14 May 2018 13:42:10 +0000 (15:42 +0200)]
edje_cc: do not keep the filedescriptor

we have a limited number of filedescriptors available, a theme can
consist out of a number of groups with scripts, keeping the fd for later
use is going above the maximum number of open files, thus use the path
of the file, not the fd to access the file.

fix  T6922

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

6 years agoelm_multibuttonentry: Fix to install eo header files
Jaehyun Cho [Mon, 14 May 2018 13:22:55 +0000 (22:22 +0900)]
elm_multibuttonentry: Fix to install eo header files

Move elm_multibuttonentry and its sub eo files to the correct location
in Makefile_Elementary.am to install eo header files.

@fix

6 years agoedje: return proper value from the function.
SubhransuSekhar Mohanty [Mon, 14 May 2018 04:26:54 +0000 (13:26 +0900)]
edje: return proper value from the function.

@fix

6 years agoelm_code: add EOAPI to refresh theme after a user layout change.
Alastair Poole [Sun, 13 May 2018 16:14:01 +0000 (17:14 +0100)]
elm_code: add EOAPI to refresh theme after a user layout change.

Hopefully this retains the object hierarchy. Gives us a method
to update the widget theme after a layout change.

6 years agoeolian: second batch of unused import removals
Daniel Kolesa [Sun, 13 May 2018 16:12:26 +0000 (18:12 +0200)]
eolian: second batch of unused import removals

This fixes all remaining occurences introduced by false negatives
in 6bcd70f01d527cb05c16bfde0bf85ce79bef465e. The rest was already
fixed in 6be3809c04fad847e353edecf5b6eef3c8766df4.

6 years agoeolian: fix false negatives in unused dependency static checker
Daniel Kolesa [Sun, 13 May 2018 16:10:37 +0000 (18:10 +0200)]
eolian: fix false negatives in unused dependency static checker

It is not necessary to check entire classes/typedecls/variables
when referenced, as that also checks their contents and adds
false negatives. It is enough to simply add their own unit
as a 'used' dependency and let the system do the work, besides
for actual declarations in the checked file.

6 years agoeolian: first batch of unused import removals
Daniel Kolesa [Sun, 13 May 2018 15:28:47 +0000 (17:28 +0200)]
eolian: first batch of unused import removals

Initial results of our static analysis showed a bunch of unused
imports or imports used only for documentation references. In the
first case, remove entirely, in the second case, change to 'parse'
in order to keep references working.

The static analysis is not perfect and yields false negatives for
certain cases, so there will be a second batch later.

6 years agoeolian: cycle checks for all toplevel decls in static analyzer
Daniel Kolesa [Sun, 13 May 2018 14:57:42 +0000 (16:57 +0200)]
eolian: cycle checks for all toplevel decls in static analyzer

This is necessary because e.g. typedecls can introduce cycles into
the system by self-referencing in struct field expressions.

6 years agoeolian: always validate entire staging area
Daniel Kolesa [Sun, 13 May 2018 14:53:40 +0000 (16:53 +0200)]
eolian: always validate entire staging area

This is necessary even when parsing a single file because there
may be parsed results directly in the staging area introduced by
doc references, those wouldn't get correctly validated and would
be left in an inconsistent and unusable state.

6 years agoelua: add check API to eolian bindings
Daniel Kolesa [Sun, 13 May 2018 13:59:01 +0000 (15:59 +0200)]
elua: add check API to eolian bindings

6 years agoeolian: check does no changes, so take a const state
Daniel Kolesa [Sun, 13 May 2018 13:57:51 +0000 (15:57 +0200)]
eolian: check does no changes, so take a const state

6 years agoelm_code_widget: on theme change update the background widget.
Alastair Poole [Sun, 13 May 2018 12:43:08 +0000 (13:43 +0100)]
elm_code_widget: on theme change update the background widget.

This ensures consistency between the colours of the widget and
its parent. When theme changes the whole visible region changes
and matches so that it isn't bogus and ugly.

6 years agoefl_mono: Support type aliases.
Lauro Moura [Fri, 11 May 2018 01:00:07 +0000 (22:00 -0300)]
efl_mono: Support type aliases.

Summary:
Due to the absence of typedef from C#, we generate thin structs with
implicit operators to allow reference the data from their typedef'd name
from C#.

The other alternatives would be always converting to the lowest base on
the alias stack (losing the meaningfulness of the typedef name) or using
the 'using' directive. The latter has the restriction that it makes an
alias visible only in the file they are declared.

Reviewers: felipealmeida, cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: zmike

Tags: #efl

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

6 years agoeolian: introduce initial out-of-validation static checking
Daniel Kolesa [Fri, 11 May 2018 12:01:27 +0000 (14:01 +0200)]
eolian: introduce initial out-of-validation static checking

For now this checks for validity of explicitly imported
dependencies in eo/eot files. It will warn if the dependency
is unused.

6 years agoelm test - progress - add vertical wheel test...
Carsten Haitzler (Rasterman) [Fri, 11 May 2018 08:26:13 +0000 (17:26 +0900)]
elm test - progress - add vertical wheel test...

yes. in theory it can exist, so add a test for it. because for flat
theme i actually have an idea where vrtical vs horizontal do look
different and the theme already procvided both via an alias and code
would use them if needed... so... why not?

6 years agoefl: update arcconfig to be able to work with git-phab
Marcel Hollerbach [Fri, 11 May 2018 07:42:30 +0000 (09:42 +0200)]
efl: update arcconfig to be able to work with git-phab

Summary: Depends on D6109

Reviewers: cedric, zmike

Reviewed By: zmike

Subscribers: zmike

Tags: #efl

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

6 years agoedje_cc: Fix coverity issue of accessing invalid memory.
SubhransuSekhar Mohanty [Fri, 11 May 2018 04:49:23 +0000 (13:49 +0900)]
edje_cc: Fix coverity issue of accessing invalid memory.

6 years agoedje_cc: resolve possible dereferencing freed pointer
WooHyun Jung [Fri, 11 May 2018 01:44:55 +0000 (10:44 +0900)]
edje_cc: resolve possible dereferencing freed pointer

6 years agoelm_toolbar: only use the more_item if mode is correct
Marcel Hollerbach [Thu, 10 May 2018 11:25:43 +0000 (13:25 +0200)]
elm_toolbar: only use the more_item if mode is correct

the more item is only usefull for SHRINK_MENU and SHRINK_EXPAND,
otherwise the item should not be there.

6 years agoevas: introduce a log domain to monitor which object gets focus
Marcel Hollerbach [Thu, 10 May 2018 09:55:43 +0000 (11:55 +0200)]
evas: introduce a log domain to monitor which object gets focus

6 years agoefl_ui_focus_manager_root_focus: restructure state eval
Marcel Hollerbach [Wed, 9 May 2018 19:48:12 +0000 (21:48 +0200)]
efl_ui_focus_manager_root_focus: restructure state eval

registering and unregsitering caused a few issues.
- Relations are recalculated even if they should not be
- We unfocus a element just to refocus it again
- We loose any iinformation about custom chains that have been set meanwhile

This fixes it

6 years agoefl_ui_focus_manager_root_focus: support a custom canvas object
Marcel Hollerbach [Wed, 9 May 2018 19:10:47 +0000 (21:10 +0200)]
efl_ui_focus_manager_root_focus:  support a custom canvas object

6 years agoecore - dont rely on commons merge for func ptr
Carsten Haitzler (Rasterman) [Sun, 6 May 2018 06:58:52 +0000 (15:58 +0900)]
ecore - dont rely on commons merge for func ptr

use a proper extern delcaration to do this not a extern func ptr.
fixes compile errors with lto on.