platform/upstream/efl.git
5 years agoecore_wl2: correct cb_pre_handle_data and cb_awake callbacks 67/196667/1
Sung-Jin Park [Thu, 3 Jan 2019 08:45:37 +0000 (17:45 +0900)]
ecore_wl2: correct cb_pre_handle_data and cb_awake callbacks

Fix : cb_pre_handle_data()
When there are any events remain in wayland event list, they
are going to be dispatched through wl_display_dispatch_pending().
By the way, if there is any error set in last_error in ewd->wl.display,
wl_display_dispatch_pending() will be failed and we must return directly
, unless ewd->prepare_read will be set true, wl_display_read_events()
will be called in _ecore_wl_cb_awake(). Calling wl_display_read_events()
without wl_display_prepare_read() will cause a deadlock in multi-threaded
wayland client.

Fix : cb_awake()
When there is an error on wayland display socket fd, _ecore_wl_cb_wake()
will also be called. Now when a error comes to _ecore_wl_cb_awake(),
it'll cause to call wl_display_read_events()/wl_display_cancel_events().
Calling those APIs will cause a deadlock in multi-threaded wayland clients.
Thus, we must return directly.

Change-Id: I6165989104038ff3b8435d18891dea3f7f979ac6
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
5 years ago[MIGRATION] FIX BUILD ERRORS
Shinwoo Kim [Thu, 3 Jan 2019 08:02:36 +0000 (17:02 +0900)]
[MIGRATION] FIX BUILD ERRORS

Collaboration between following commit and TIZEN ONLY commit occurs lots of
build errors. :/

94a681a elementary: rename Efl.Ui.Translatable -> Efl.Ui.L10n

5 years agoecore: add tests when not defining setter/getter/free in ModelView callback.
Cedric BAIL [Wed, 19 Dec 2018 22:50:11 +0000 (14:50 -0800)]
ecore: add tests when not defining setter/getter/free in ModelView callback.

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

5 years agoecore: define behavior when no getter/setter callback function is defined for ModelVi...
Cedric BAIL [Wed, 19 Dec 2018 22:49:23 +0000 (14:49 -0800)]
ecore: define behavior when no getter/setter callback function is defined for ModelView property logic.

This allow for simplifying the code that doesn't need to handle get/set/free
callback when not needed.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7489

5 years agoecore: test for Efl.ModelView.
Cedric BAIL [Thu, 13 Dec 2018 19:51:52 +0000 (11:51 -0800)]
ecore: test for Efl.ModelView.

This does cover pretty much everything that Efl.ModelView provide.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7488

5 years agoecore: add an helper class Efl.Model_View
Cedric BAIL [Thu, 29 Nov 2018 00:03:33 +0000 (16:03 -0800)]
ecore: add an helper class Efl.Model_View

With the advancement of our MVVM interfaces, we realize that it could be made easier,
especially for bindings, to write an Efl.Model that proxy another one without having to
necessarily implement the entire logic of propagating event and checking if the property
we are getting request for is actually handle by our own Efl.Model. To simplify this,
I introduce this class that allow to set new callback for each property you want to handle
on your object.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7487

5 years agoecore: correct object constness and documentation of future_resolved and future_rejec...
Cedric BAIL [Fri, 14 Dec 2018 20:18:16 +0000 (12:18 -0800)]
ecore: correct object constness and documentation of future_resolved and future_rejected functions.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7486

5 years agoecore: allow for not specifying any static string in Efl.Model.properties.get helper.
Cedric BAIL [Thu, 13 Dec 2018 18:01:34 +0000 (10:01 -0800)]
ecore: allow for not specifying any static string in Efl.Model.properties.get helper.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7485

5 years agoecore: don't forget to initialize structure.
Cedric BAIL [Thu, 13 Dec 2018 04:53:41 +0000 (20:53 -0800)]
ecore: don't forget to initialize structure.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7484

5 years agoecore: make sure that events are being forwarded first.
Cedric BAIL [Wed, 12 Dec 2018 22:12:28 +0000 (14:12 -0800)]
ecore: make sure that events are being forwarded first.

In case the model being set has already gotten some event callback
set on it, to avoid strange behavior, like event not propagating,
it seems best to make sure the event are forwarded first.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7483

5 years agocxx: fix build to generate Eina_Future.
Lauro Moura [Thu, 20 Dec 2018 22:13:14 +0000 (14:13 -0800)]
cxx: fix build to generate Eina_Future.

This doesn't enable future support in the C++ binding, just allow to build the binding.

Signed-off-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D7498

5 years agoeo: enable priority with event forwarder.
Cedric BAIL [Wed, 12 Dec 2018 22:07:52 +0000 (14:07 -0800)]
eo: enable priority with event forwarder.

Note: Their isn't any ability to do something like a static array of
events at the moment. It might lead to large memory being used when it
wouldn't be necessary. If that was the case, we could fix it, but it
would require a lot of dynamic hash operation I think.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7482

5 years agoeo: test that event cancel before emitting does propagate event.
Cedric BAIL [Thu, 20 Dec 2018 19:30:58 +0000 (11:30 -0800)]
eo: test that event cancel before emitting does propagate event.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7496

5 years agoeo: correctly allow for triggering the same event while the previous one was cancelled.
Cedric BAIL [Wed, 19 Dec 2018 19:57:38 +0000 (11:57 -0800)]
eo: correctly allow for triggering the same event while the previous one was cancelled.

If you are to trigger an event and just cancelled the one being processed, it would just
not propagate any event while it should. The code looks like more like it was forgotten line
or something.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7481

5 years agoelput: Verify pointer device is accel capable before setting speed
Christopher Michael [Wed, 2 Jan 2019 19:54:00 +0000 (14:54 -0500)]
elput: Verify pointer device is accel capable before setting speed

As we cannot set mouse accel speed unless an input device is capable,
we add a small test here to check that it supports acceleration.

5 years agoelementary: rename Efl.Ui.Translatable -> Efl.Ui.L10n
Cedric BAIL [Fri, 21 Dec 2018 22:46:10 +0000 (14:46 -0800)]
elementary: rename Efl.Ui.Translatable -> Efl.Ui.L10n

If we are to choose Efl.Ui.I18n for the internationalization support, the localization API
should be named accordingly L10n.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7507

5 years agoefl: rename Efl.Ui.Base -> Efl.Ui.I18n as that is really what it does.
Cedric BAIL [Fri, 21 Dec 2018 22:13:40 +0000 (14:13 -0800)]
efl: rename Efl.Ui.Base -> Efl.Ui.I18n as that is really what it does.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7506

5 years agoelementary: rename Efl.Selection -> Efl.Ui.Selection as it is only usable with User...
Cedric BAIL [Fri, 21 Dec 2018 21:46:06 +0000 (13:46 -0800)]
elementary: rename Efl.Selection -> Efl.Ui.Selection as it is only usable with User Interface related element.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7505

5 years agoecore: Fix promise cb signature
Lauro Moura [Wed, 2 Jan 2019 17:42:52 +0000 (17:42 +0000)]
ecore: Fix promise cb signature

After the loop_promise_new changes. Also fix unused var warning.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7531

5 years agoecore-drm2: Add support for specifying a particular drm card
Christopher Michael [Wed, 2 Jan 2019 15:33:42 +0000 (10:33 -0500)]
ecore-drm2: Add support for specifying a particular drm card

Summary:
There are cases where the drm card that we wish to run on is not
always the first card (ie: card1, card2, etc). In our previous code,
we would always start searching at card0 and if found we would always
use that card. This patch allows a card to be specified in the
environment that can be searched for and used. For example, if we
specify ECORE_DRM2_CARD=card1 than that card will be searched and used
if found. This also allows wildcard searches such as
ECORE_DRM2_CARD=card[1-9]* which can be used to skip the first card
(card0).

Reviewers: ManMower

Reviewed By: ManMower

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoecore-drm2: Fix drmModeSetCrtc call during fb flip
Christopher Michael [Wed, 2 Jan 2019 15:03:06 +0000 (10:03 -0500)]
ecore-drm2: Fix drmModeSetCrtc call during fb flip

drmModeSetCrtc x & y values are actually offsets into the framebuffer
memory. As such, we should not be sending output position here.

@fix

5 years agoecore-drm2: Minor formatting fixes
Christopher Michael [Wed, 2 Jan 2019 15:01:55 +0000 (10:01 -0500)]
ecore-drm2: Minor formatting fixes

NB: No functional changes

5 years agomeson-cxx: ecore must be build after efl
Marcel Hollerbach [Wed, 2 Jan 2019 11:43:36 +0000 (12:43 +0100)]
meson-cxx: ecore must be build after efl

5 years agoAdd support of Windows 8, 8.1 and 10
Vincent Torri [Wed, 2 Jan 2019 09:34:23 +0000 (10:34 +0100)]
Add support of Windows 8, 8.1 and 10

Reviewers: raster, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoexamples: make edje examples possible to run
Marcel Hollerbach [Sat, 29 Dec 2018 12:29:54 +0000 (13:29 +0100)]
examples: make edje examples possible to run

5 years agoexamples: remove setted but not used variable
Marcel Hollerbach [Sat, 29 Dec 2018 12:11:30 +0000 (13:11 +0100)]
examples: remove setted but not used variable

5 years agoexamples: fix warnings regarding multiple defines
Marcel Hollerbach [Sat, 29 Dec 2018 12:10:14 +0000 (13:10 +0100)]
examples: fix warnings regarding multiple defines

compiling them stand alone still defines the correct definitions

5 years agoexamples: fix eina_simple_xml_parser
Marcel Hollerbach [Sat, 29 Dec 2018 12:05:03 +0000 (13:05 +0100)]
examples: fix eina_simple_xml_parser

5 years agoexamples: fix ecore_fd_handler_gnutls_examples
Marcel Hollerbach [Sat, 29 Dec 2018 12:01:47 +0000 (13:01 +0100)]
examples: fix ecore_fd_handler_gnutls_examples

5 years agoexamples: evas-3d-obj provide a biffer string buffer
Marcel Hollerbach [Sat, 29 Dec 2018 11:58:11 +0000 (12:58 +0100)]
examples: evas-3d-obj provide a biffer string buffer

5 years agoecore: fix build by having proper parameters order.
Jaehyun Cho [Wed, 2 Jan 2019 06:04:50 +0000 (15:04 +0900)]
ecore: fix build by having proper parameters order.

5 years agoefl-csharp: Add implicit conversions for Eina.Value
Lauro Moura [Sun, 30 Dec 2018 15:57:16 +0000 (16:57 +0100)]
efl-csharp: Add implicit conversions for Eina.Value

Summary:
For basic types, this will make it easier to pass Eina.Values into
functions, without requiring to setup and later Set() or Get() calls.

As discussed on irc, this seems to be a better way to improve the Value
C# API than using method chaining.

Fixes T7388

Test Plan: run tests

Reviewers: segfaultxavi, felipealmeida

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7388

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

5 years agoefl-mono: Remove Flush from C# Value API.
Lauro Moura [Fri, 28 Dec 2018 17:13:51 +0000 (18:13 +0100)]
efl-mono: Remove Flush from C# Value API.

Summary: Fixes T7387

Test Plan: run tests

Reviewers: segfaultxavi, felipealmeida

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7387

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

5 years agoefl-mono: automatic code refs for event wrappers docs
Xavi Artigas [Fri, 28 Dec 2018 16:36:31 +0000 (17:36 +0100)]
efl-mono: automatic code refs for event wrappers docs

Summary:
Event wrappers have a comment saying:
///<summary>Event argument wrapper for event XxxEvt</summary>"

This patch simply adds a link to that comment:
///<summary>Event argument wrapper for event <see cref="Fully.Qualified.XxxEvt"/></summary>"

Test Plan: Generate the C# files and enjoy fully-linked doc comments for event wrappers.

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agodocs: Misc typos and code references
Xavi Artigas [Fri, 28 Dec 2018 15:58:36 +0000 (16:58 +0100)]
docs: Misc typos and code references

5 years agomeson - dont install eina bench cmp and use install_mode
Carsten Haitzler (Rasterman) [Thu, 27 Dec 2018 16:29:16 +0000 (16:29 +0000)]
meson - dont install eina bench cmp and use install_mode

5 years agomeson - re-enable emotion_test binaries and data like autofoo
Carsten Haitzler (Rasterman) [Thu, 27 Dec 2018 16:18:08 +0000 (16:18 +0000)]
meson - re-enable emotion_test binaries and data like autofoo

5 years agodocs: Proper-PROPER formatting of some Efl.Gfx EO docs
Xavi Artigas [Thu, 27 Dec 2018 16:23:16 +0000 (17:23 +0100)]
docs: Proper-PROPER formatting of some Efl.Gfx EO docs

5 years agodocs: proper formatting of some Efl.Gfx EO docs
Xavi Artigas [Thu, 27 Dec 2018 15:41:46 +0000 (16:41 +0100)]
docs: proper formatting of some Efl.Gfx EO docs

5 years agomeosn - fix install of scripts and bins and their timestamps and modes
Carsten Haitzler (Rasterman) [Thu, 27 Dec 2018 15:24:08 +0000 (15:24 +0000)]
meosn - fix install of scripts and bins and their timestamps and modes

i was comparing the bindir results of aurtofoo vs meson and some
things were missing/poking out at me. this makes them be in sync -
install the ewl_wl+test obnaries, ensure to chmod +x+r etc. scritps
AND install them

5 years agomeson - fix pc file versions that were missing mirco version
Carsten Haitzler (Rasterman) [Thu, 27 Dec 2018 11:54:30 +0000 (11:54 +0000)]
meson - fix pc file versions that were missing mirco version

5 years agoefl_ui_win: modify window type for resolving namespace error 10/196410/2
Taehyub Kim [Fri, 28 Dec 2018 05:31:34 +0000 (14:31 +0900)]
efl_ui_win: modify window type for resolving namespace error

Change-Id: I6954e284db4e69123b46b1db6ab9ac12a2be3adf

5 years agoefl_access_object: modify gesture type for resolving namespace error 09/196409/3
Taehyub Kim [Fri, 28 Dec 2018 05:30:49 +0000 (14:30 +0900)]
efl_access_object: modify gesture type for resolving namespace error

Change-Id: I317e2759a3784c8301ed795117f638d01656db6e

5 years agoefl_mono: remove efl_access_object_role_get from blacklist 64/196664/2
Jaehyun Cho [Thu, 3 Jan 2019 08:31:16 +0000 (17:31 +0900)]
efl_mono: remove efl_access_object_role_get from blacklist

In 2fda262ca47fde2c83a0571bb61ef33c3be62cdc, efl_access_role_get is
modified to efl_access_object_role_get unlike upstream.

So this change is reverted in this patch to remove
efl_access_object_role_get from blacklist.

Change-Id: I3cfee63cb6b8d6487b0a6664c7681d70e173fbcd

5 years agoefl_input_device: modify the input device subtype for resolving namespace error 08/196408/2
Taehyub Kim [Fri, 28 Dec 2018 05:29:07 +0000 (14:29 +0900)]
efl_input_device: modify the input device subtype for resolving namespace error

Change-Id: I622aea806a9b939205fe7d341a8d094aeaa8553c

5 years agoevas vg: correct caching last frame index. 84/196584/3
Hermet Park [Wed, 2 Jan 2019 12:23:49 +0000 (21:23 +0900)]
evas vg: correct caching last frame index.

lottie-player accepts range 0 to totalFrame,
so don't need to -1 here.

Change-Id: Ic92618717184bc51b8154db15f4e1400d1075960

5 years agoelm_slider: added check for existence of parts. 15/196615/1
Bowon Ryu [Wed, 2 Jan 2019 12:04:44 +0000 (21:04 +0900)]
elm_slider: added check for existence of parts.

Tizen has various UX themes according to profile and product.
For a theme that does not have a part,
such as elm.dragable2.slider, elm.units, elm.units.min, elm.units.max, etc.
Many error messages are generated.
This patch checks the existence of the part first and then does someting.

@tizen_only

Change-Id: Ia282db92f238fb749633acc43c94b88bc22ff886
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
5 years agoevas vg: ++safe code. 57/196557/2
Hermet Park [Wed, 2 Jan 2019 08:22:08 +0000 (17:22 +0900)]
evas vg: ++safe code.

null argument handling.

Change-Id: Iced2af61c505f3d5ea7f944dddb1f86d66c78f1d

5 years agoevas vg: fix typo.
Hermet Park [Wed, 2 Jan 2019 04:38:23 +0000 (13:38 +0900)]
evas vg: fix typo.

Change-Id: I9fde4e25b0a68c85016b6fa954d34b722d7a576b

5 years agoevas vg: ++safe code
Hermet Park [Wed, 2 Jan 2019 04:33:25 +0000 (13:33 +0900)]
evas vg: ++safe code

strong check validation of vg object.

Change-Id: Ib6364797d4b57d94cbf2c0dae331c2b8a6d66591

5 years agoevas json: optimizing by reusing node-tree. 32/196432/1
Hermet Park [Fri, 28 Dec 2018 08:46:09 +0000 (17:46 +0900)]
evas json: optimizing by reusing node-tree.

We assume that structure of node tree(scene-graph) is not changable,
its tree heirarchy would be same every frame.

In this case, we don't need to reconstruct vector nodes,
just resuse them of previous frames.

Change-Id: I2dc43fac7eb784fd895228ae2b16f25997fccfa9

5 years agoevas vg: stablizing parenting logic. 17/196417/1
Hermet Park [Fri, 28 Dec 2018 06:13:55 +0000 (15:13 +0900)]
evas vg: stablizing parenting logic.

Cleaned up the case when null parent is coming.

and found out efl_data_scope_get() could return invalid data
when invalid CLASS type is given. it's handled as well.

Change-Id: Ic8996ec547b0f82bf0ef572021964e6c4e72f801

5 years agoevas vg: more strict check for the argument. 16/196416/1
Hermet Park [Fri, 28 Dec 2018 04:38:36 +0000 (13:38 +0900)]
evas vg: more strict check for the argument.

a shape node must have vg node as the parent.

Change-Id: I3b477342f416a7229200f66f1b750cf31bda131b

5 years agoefl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED 70/195970/6
Hermet Park [Fri, 28 Dec 2018 03:20:15 +0000 (12:20 +0900)]
efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED

Summary:
Here is an additional optmization patch for removing
unnecessary updation of path,

For instance, let's assume this scenario:

If one vg object has 20 path nodes(shapes),
and every single nodes would have 50 path changes.
(like, append_cubic, append_rect, append_xxx ...);
There would 1000 events triggering.

Furthermore, if there are 20 vector objects in one view,
hese events would be triggered 20000 in one frame.

It's insane, actually I could figured out that happens.
and it took a lot of cpu consumption in some vector usages.

efl_gfx_path_commit() is my idea to avoid this.
When path is ready, the path need to get this api call in the last
 to make object changed properly.

@feature

Reviewers: #committers, cedric

Reviewed By: #committers, cedric

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: Ie5353c360a8cfa1bd8b0fcdf6d20bd9b58144bd

5 years agoRevert "Revert "evas vg: optimize vg object internal connections."" 48/196348/1
Hermet Park [Thu, 27 Dec 2018 10:53:36 +0000 (19:53 +0900)]
Revert "Revert "evas vg: optimize vg object internal connections.""

This reverts commit ec7eb6951287ea4fc54e89a0960b904432a7680e.

fixed the wearable issue, recover this patch.

Change-Id: Id911bd3ec7d24cda46aaf3aa22e873b220c576c6

5 years agoRevert "evas vg: optimize vg object internal connections." 31/196331/1 submit/tizen/20181227.084356
SangHyeon Jade Lee [Thu, 27 Dec 2018 07:48:01 +0000 (16:48 +0900)]
Revert "evas vg: optimize vg object internal connections."

This reverts commit 90d311db9c5a7aeb2264073c4a45bcfdcc30c730.

Change-Id: Ie46f314940c37707a6708617e5f67db275001ed8
Signed-off-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
5 years agoRevert "Revert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.""
Carsten Haitzler (Rasterman) [Wed, 26 Dec 2018 17:47:47 +0000 (17:47 +0000)]
Revert "Revert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.""

This reverts commit 42e886d8d61d551bb544b777e6d254ce4dd3fcf1.

5 years agomeson - fix meson build to specifically link to GL or GLES
Carsten Haitzler (Rasterman) [Wed, 26 Dec 2018 17:36:03 +0000 (17:36 +0000)]
meson - fix meson build to specifically link to GL or GLES

these are explicit options to choose gl or gles. i found that evas
moduels were not linking to gles, but to GL even wiht gles enabled.

5 years agofix crashes created by "make efl_loop_promise_new a function"
Carsten Haitzler (Rasterman) [Tue, 25 Dec 2018 13:00:38 +0000 (13:00 +0000)]
fix crashes created by "make efl_loop_promise_new a function"

commit 9b5155c9f135f9ef450a817979f5884352b2d4c0 brought about crashes
- specifically that i saw in terminology because it actually uses
eina_promise_data_set() and the new efl_loop_promise_new basically
took over ownership of that data, but if anyone used
eina_promise_data_set() the data ptr used by this new code would bwe
overwritten, causing segfauls when terminology loses selection
ownership. for days i had mysterious crashes of terminology until i
narrowed it down to the above, so if you have too, then this will fix
it.

what this does is create a data set intercept function callback that
for now is only for use inside efl to everride data sets so they set
data inside the new struct that tracks data. i also had to add and
intercept for eina_promise_data_free_cb_set() as this in theory could
also ber a similar problem.

so perhaps the idea/design of efl_loop_promise_new() is not right and
this kind of thgn has to be internal to eina promise... this means
eina promise and loops are much more tied together.

5 years agoefl_ui: activate widget focus on efl.ui.item.
SangHyeon Jade Lee [Wed, 26 Dec 2018 10:45:44 +0000 (19:45 +0900)]
efl_ui: activate widget focus on efl.ui.item.

Summary:
Unlikely efl.ui.Layout, Item need to be focusable,
so it may traverse list by your command of focus moving.

Test Plan:
tested in
efl_ui_list_example_1.c
efl_ui_grid_example_1.c
check whether item show their focus properly.

scroll feature is not yet supported by efl_ui_scroll itself.

Reviewers: eagleeye, cedric, Hermet, felipealmeida, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

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

5 years agobuild: there have been missing build files
Marcel Hollerbach [Wed, 26 Dec 2018 11:31:19 +0000 (12:31 +0100)]
build: there have been missing build files

there are the 3 files in ecore. However, they have not been tested,
there are additionally no examples at all, which did not bring up the
missing API calls, now they are here.

Note: they are compiling, however, it seems that it is not working right
now.

5 years agoRevert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer."
Marcel Hollerbach [Wed, 26 Dec 2018 11:15:21 +0000 (12:15 +0100)]
Revert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer."

This reverts commit 9b5155c9f135f9ef450a817979f5884352b2d4c0.

For now lets revert this, this breaks copy and paste, further more it
has the potential to break a lot more things, as eio_model tends to use
efl_loop_promise new, and then eina_promise_data_set, which is
explicitly forbidden.

This fixes crashing terminology instances.

5 years agoRevert "efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED"
Hermet Park [Wed, 26 Dec 2018 10:32:18 +0000 (19:32 +0900)]
Revert "efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED"

This reverts commit 7c38c0c9154b0971ccb8ecf5ea8f15467cfb6662.

Oops, didn't intend this patch.

5 years agoevas textblock: fix render_pre bug related with clipper
Jiyoun Park [Wed, 26 Dec 2018 10:28:59 +0000 (19:28 +0900)]
evas textblock: fix render_pre bug related with clipper

Summary:
  assumtion: textblock A has the clipper rect B.

  1. evas_render_updates_internal start
   : evas_object_clip_dirty_do( rect B)
   : evas_object_textblock_render_pre( textblock A)
     - if textlock A's o->redraw is EINA_TRUE (o->changed=1 is also same case)
     - textblock A's vis 1->0
     - clipper rect B lose the chance to call render_pre function.
     - clipper rect B's evas_render_mapped function is not called
   : pending_change(Rect B)
     - obj->pre_render_done = 0, so rect cannot be get the change to call evas_object_change_reset

  when rect b remained the pending list and changed value is EINA_TRUE, it cause textblock's rendering problem

Reviewers: raster, Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
Hermet Park [Mon, 24 Dec 2018 05:31:05 +0000 (14:31 +0900)]
efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED

Summary:
Here is an additional optmization patch for removing
unnecessary updation of path,

For instance, let's assume this scenario:

If one vg object has 20 path nodes(shapes),
and every single nodes would have 50 path changes.
(like, append_cubic, append_rect, append_xxx ...);
There would 1000 events triggering.

Furthermore, if there are 20 vector objects in one view,
hese events would be triggered 20000 in one frame.

It's insane, actually I could figured out that happens.
and it took a lot of cpu consumption in some vector usages.

efl_gfx_path_commit() is my idea to avoid this.
When path is ready, the path need to get this api call in the last
 to make object changed properly.

@feature

Reviewers: #committers, cedric

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

5 years agobuild: enable luajit per default like in autotools
Marcel Hollerbach [Fri, 21 Dec 2018 15:24:02 +0000 (16:24 +0100)]
build: enable luajit per default like in autotools

5 years agoefl gfx_path: introduce efl_gfx_path_reserve()
Hermet Park [Mon, 24 Dec 2018 04:52:13 +0000 (13:52 +0900)]
efl gfx_path: introduce efl_gfx_path_reserve()

Summary:
This method reserves path commands buffer in advance.
If user know the count of path commands coming,
they can reserve commands buffer in advance to avoid buffer growing job.

This reserved buffer would grow up by double size, if the buffer is full.

@feature

Reviewers: #committers, cedric

Reviewed By: #committers, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl-mono: Remove trailing () from doc references
Xavi Artigas [Fri, 21 Dec 2018 16:52:34 +0000 (17:52 +0100)]
efl-mono: Remove trailing () from doc references

Summary:
Some EO docs include () after a @method reference (some don't).
When the method reference is redered by DocFX it already includes
the trailing parenthese (and it even includes the parameter types),
so it looks very weird: Efl.Gfx.Stack.Raise()()

This patch removes the "()" string from any text comment following
an @ reference.

Test Plan:
Check DocFX docs for Efl.Gfx.Stack.Lower before and after this patch.
There are references to other methods which include the double parentheses.

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl-mono: Remove warnings
Lauro Moura [Fri, 21 Dec 2018 15:04:43 +0000 (16:04 +0100)]
efl-mono: Remove warnings

Test Plan: run tests

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl-mono: Use alternate docs when a property has no doc
Xavi Artigas [Fri, 21 Dec 2018 14:21:46 +0000 (15:21 +0100)]
efl-mono: Use alternate docs when a property has no doc

Summary:
Use the getter or the setter documentation when a property has no documentation.
This is not ideal (all properties should have documentation!) but at least we
have less undocumented properties.
See for example Efl.Canvas.Vg.Above.

Test Plan:
The Efl.Canvas.Vg.Above property in src/lib/evas/canvas/efl_canvas_vg_node.eo.cs
was previously undocumented because that property (inherited from Efl.Gfx.Stack)
has no docs, only its getter has docs.

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agodoc: Turn comments from EO to C# XML syntax
Xavi Artigas [Fri, 21 Dec 2018 13:52:11 +0000 (14:52 +0100)]
doc: Turn comments from EO to C# XML syntax

Summary:
This allows them to be nicely rendered by IDEs and automatic
documentation generators like DocFX.
The conversion includes things like turning $name to <c>name</c>
or solving references to objects, which in turn requires converting
from EO object names to C# names.

It uses the same helper methods used to generate the C# object names,
so if these change in the future, the references in the comments
will change too.

Additionally, this patch fixes some minor bugs, like <para> tags
outside <summary> tags, misspelled <returns> tags or missing <returns>
documentation for getter methods.

Fixes T7453

Reviewers: lauromoura, vitor.sousa

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7453

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

5 years agoecore: fix build by having proper parameters order.
Cedric BAIL [Thu, 20 Dec 2018 22:07:19 +0000 (14:07 -0800)]
ecore: fix build by having proper parameters order.

5 years agoecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.
Cedric BAIL [Thu, 20 Dec 2018 00:35:24 +0000 (16:35 -0800)]
ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.

I am not sure this is the right way to do it as binding would have to likely
to bind it manually.

Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D7492

5 years agoeina: add a function to free Eina_Promise attached data when the promise is destroyed.
Cedric BAIL [Thu, 20 Dec 2018 00:25:38 +0000 (16:25 -0800)]
eina: add a function to free Eina_Promise attached data when the promise is destroyed.

Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D7491

5 years agoefl: fix function call order.
Cedric BAIL [Thu, 20 Dec 2018 19:47:28 +0000 (11:47 -0800)]
efl: fix function call order.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7497

5 years agocmake: remove!
Marcel Hollerbach [Tue, 12 Dec 2017 10:22:47 +0000 (11:22 +0100)]
cmake: remove!

This build was never complete and also was not maintained probebly.

It is also dropped in favour of meson which is cool, merged, works & is fast.

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

5 years agomeson - vix ecore wl2 pc generation to not include nonexistent wl lib
Carsten Haitzler (Rasterman) [Thu, 20 Dec 2018 16:38:16 +0000 (16:38 +0000)]
meson - vix ecore wl2 pc generation to not include nonexistent wl lib

the ecore wl2.pc wanted to -lwayland_protocol ... which is never
installed. it's an in-tree .a we stattically link in, so remove it
from the pub libs in the pc. rthis was causing things that build
against efl to fail (like enlightenment).

5 years agoelementary: switch to the new efl_future_then syntax.
Cedric BAIL [Sat, 8 Dec 2018 00:03:49 +0000 (16:03 -0800)]
elementary: switch to the new efl_future_then syntax.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7448

5 years agoelementary: make all view generate an event when the item is created.
Cedric BAIL [Fri, 7 Dec 2018 23:51:30 +0000 (15:51 -0800)]
elementary: make all view generate an event when the item is created.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7447

5 years agoefl: add facility to generate an event when an item is created by the factory.
Cedric BAIL [Fri, 7 Dec 2018 23:51:09 +0000 (15:51 -0800)]
efl: add facility to generate an event when an item is created by the factory.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7446

5 years agoeina: use the correct type for casting to avoid issue on Windows.
Cedric BAIL [Fri, 14 Dec 2018 20:30:43 +0000 (12:30 -0800)]
eina: use the correct type for casting to avoid issue on Windows.

Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7458

5 years agoeio-tests: fix deadlocking of the testsuite
Marcel Hollerbach [Tue, 4 Dec 2018 15:14:25 +0000 (16:14 +0100)]
eio-tests: fix deadlocking of the testsuite

what happens was is that efl_model_children_count_get trigger the
monitoring to start. However, that means that *sometimes* the created
file in this test was sometimes called in a ADDED event due to the
listing of files, and sometimes due to the event of a newly added file.
The problem here is that when the ADDED event is added due to the file
listing and not the monitoring, then there *could* be a ADDED event and
the deletion of the file will not trigger a REMOVED event. Which is a
bug.

However, up to this point it is not fully clear to me if this is
solvable with this setup of monitoring or not. So this test is changed
to not trigger this deadlock anymore, the idea of the test is still
tested, just in another way.

ref T7478

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

5 years agotheme: hide next and prev buttons when title is hidden
Marcel Hollerbach [Tue, 18 Dec 2018 14:05:01 +0000 (15:05 +0100)]
theme: hide next and prev buttons when title is hidden

This ensures that a button is hidden when not beeing able to be visible.

fixes T6891

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

5 years agoefl_app: introduce app_main for getting the app object
Marcel Hollerbach [Wed, 19 Dec 2018 19:02:08 +0000 (20:02 +0100)]
efl_app: introduce app_main for getting the app object

This brings in the possibility to receive the app object from bindings.
With the app object you can listen to pause / args / terminate / resume
events.

fix T7509

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

5 years agoelm_widget: remove defines that are not implemented
Marcel Hollerbach [Thu, 20 Dec 2018 10:55:19 +0000 (19:55 +0900)]
elm_widget: remove defines that are not implemented

Summary:
they are not implemented - so using them would not work, to me it looks
like they can be dropped.

Reviewers: cedric, raster, stefan_schmidt, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agotests: eolian_cxx: ensure property_holder.eo file lands in dist
Stefan Schmidt [Thu, 20 Dec 2018 10:49:50 +0000 (11:49 +0100)]
tests: eolian_cxx: ensure property_holder.eo file lands in dist

Summary:
In commit 98b716d0fa745fe5aa4d110615bf0dd90f695ddb the new file was
added but the autotools build system not made aware that it is needed in
dist as well. The missing file broke the eolian_cxx tes suite build in
distcheck.
Depends on D7477

Reviewers: lauromoura, q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agobuild: ensure we have a data_aux direcroy in our dist for the test eo files
Stefan Schmidt [Thu, 20 Dec 2018 10:45:15 +0000 (11:45 +0100)]
build: ensure we have a data_aux direcroy in our dist for the test eo files

Summary:
Due to our EXTRA_DIST2 crutch we need to handle the directory creation
on our won here. That was forgotten for the new data_aux folder in the
eolian tests. Creating it allows the files to be copied over and the
eolain seuite to pass in distcheck.

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoIntruduce Efl.Ui.Panel (Create Efl Ui Widget from elm widget(elm_panel))
Woochanlee [Thu, 20 Dec 2018 02:32:28 +0000 (11:32 +0900)]
Intruduce Efl.Ui.Panel (Create Efl Ui Widget from elm widget(elm_panel))

Summary: Create Efl Ui Widget from elm widget(elm_panel)

Test Plan: elementary_test -> efl_ui_panel

Reviewers: woohyun, Jaehyun_Cho, segfaultxavi

Reviewed By: Jaehyun_Cho, segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

5 years agodoc: Remove misplaced blank line
Xavi Artigas [Wed, 19 Dec 2018 12:51:55 +0000 (13:51 +0100)]
doc: Remove misplaced blank line

5 years agoevas: fix distcheck build of ector evas engine
Stefan Schmidt [Mon, 17 Dec 2018 16:13:24 +0000 (17:13 +0100)]
evas: fix distcheck build of ector evas engine

In commit fbe92aa67f18f8c0401cdc6d4440ed512c43b131 a dependency on the
software_generic header file was brought to the gl_generic module.
The include path to make this work was updated for meson but not for the
autotools build.

TravisCI distcheck builds found this for us.

Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7468

5 years agobuild: make edje files dependencies of the theme
Marcel Hollerbach [Tue, 18 Dec 2018 15:07:24 +0000 (16:07 +0100)]
build: make edje files dependencies of the theme

this makes theme work way more easier

5 years agosilence most left over compiler warnings
Jérémy Zurcher [Tue, 18 Dec 2018 12:01:34 +0000 (13:01 +0100)]
silence most left over compiler warnings

Summary: silence -Wshadow -Wunused-variable -Wunused-parameter

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoevas vg: fix indentation.
Hermet Park [Tue, 18 Dec 2018 06:25:24 +0000 (15:25 +0900)]
evas vg: fix indentation.

5 years agoefl_canvas_surface: change mixin to abstract
Jaehyun Cho [Tue, 18 Dec 2018 02:17:12 +0000 (11:17 +0900)]
efl_canvas_surface: change mixin to abstract

Summary:
If Efl.Canvas.Surface is changed from mixin to abstract, then its sub
classes do not need to inherit from Efl.Object to be a class.
Moreover, Efl.Canvas.Surface's data can be derived to its sub classes
easily.

Reviewers: jpeg, segfaultxavi, woohyun, Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoevas_textblock: fix clipper bug related with textblock 14/196214/1
Jiyoun Park [Wed, 26 Dec 2018 08:14:10 +0000 (17:14 +0900)]
evas_textblock: fix clipper bug related with textblock

assumtion: textblock A has the clipper rect B.

1. evas_render_updates_internal start
 : evas_object_clip_dirty_do( rect B)
 : evas_object_textblock_render_pre( textblock A)
   - if textlock A's o->redraw is EINA_TRUE (o->changed=1 is also same case)
   - textblock A's vis 1->0
   - clipper rect B lose the chance to call render_pre function.
   - clipper rect B's evas_render_mapped function is not called
 : pending_change(Rect B)
   - obj->pre_render_done = 0, so rect cannot be get the change to call evas_object_change_reset

when rect b remained the pending list and changed value is EINA_TRUE, it cause textblock's rendering problem

https://phab.enlightenment.org/D7512

Change-Id: I3624b85c39d0d79b0175965d26739a3a91505c97

5 years agoevas json: replace legacy calls with interface calls. 52/196052/2
Hermet Park [Fri, 21 Dec 2018 04:15:09 +0000 (13:15 +0900)]
evas json: replace legacy calls with interface calls.

This helps to avoid internal path events triggerings.

Change-Id: I5cf05506e9c0d2772cb59755aca07356f688f994

5 years agoRevert "disable lottie-player" 72/195972/1
Hermet Park [Thu, 20 Dec 2018 07:23:24 +0000 (16:23 +0900)]
Revert "disable lottie-player"

This reverts commit 8b901ae906cd037171e56faed26deb0de1036912.

Enable again after resolving TC issue.

Change-Id: I719e1f8291bc89492a180b75c63d1b0556ddccfb

5 years agoevas vg: optimize vg object internal connections. 32/195832/3
Hermet Park [Thu, 20 Dec 2018 05:42:38 +0000 (14:42 +0900)]
evas vg: optimize vg object internal connections.

Dectected huge amount of unnecessray internal events triggering
which were signaled via vg nodes.

By events, nodes were connected with each others,
and finally reaches to vg object to update its rendering properly.

However GFX_PATH_CHANGE signal is too commonly triggered for scenarios,
listening and response it is too burdensome.

We acutally don't need to do this if all nodes could share the
vg object. Nodes directly notify vg object to update it.

Next patch will come to remove stupid GFX_PATH_CHANGE that's aweful
in performance wise.

Change-Id: I5b92d2c05986670999b690255b1eb41688c8fb39

5 years agoevas vg: fix indentation. 25/195825/2
Hermet Park [Tue, 18 Dec 2018 06:25:24 +0000 (15:25 +0900)]
evas vg: fix indentation.

Change-Id: Ib4a5c3132be9471aa7c489588dd78c2842c8301f

5 years agoecore_wl2_window: save set_config.geometry for client demand geometry changes 11/195911/5
Juyeon Lee [Wed, 19 Dec 2018 10:34:56 +0000 (19:34 +0900)]
ecore_wl2_window: save set_config.geometry for client demand geometry changes

fix for the consistancy of geometry set by the client itself

@tizen_only

Change-Id: Ida908a00ebea029797773727990ab6c987c8011f