[EGIT] [core/efl] master 01/01: vector json: use lottie apis case by case.

2019-10-14 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=fbe554037b4e01909b98b2c3a8aad0775d36df3e

commit fbe554037b4e01909b98b2c3a8aad0775d36df3e
Author: Hermet Park 
Date:   Tue Oct 15 15:03:47 2019 +0900

vector json: use lottie apis case by case.

We can request loading from data only in case of actual memory map.
The lottie-player would take care of the parsing on utf8/16/32 formats
more precisely so that we don't need to take care of this converting
from the memory.
---
 src/modules/evas/vg_loaders/json/evas_vg_load_json.c | 16 +++-
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/modules/evas/vg_loaders/json/evas_vg_load_json.c 
b/src/modules/evas/vg_loaders/json/evas_vg_load_json.c
index 11897bb22a..fbcfa9c83a 100644
--- a/src/modules/evas/vg_loaders/json/evas_vg_load_json.c
+++ b/src/modules/evas/vg_loaders/json/evas_vg_load_json.c
@@ -43,11 +43,17 @@ evas_vg_load_file_open_json(Eina_File *file,
 
Lottie_Animation *lot_anim = NULL;
 
-   const char *data = (const char*) eina_file_map_all(file, 
EINA_FILE_SEQUENTIAL);
-   if (!data) goto err;
-   //@TODO pass corrct external_resource path.
-   lot_anim = lottie_animation_from_data(data, key ? 
key:eina_file_filename_get(file), " ");
-   eina_file_map_free(file, (void *) data);
+   //Edje may use virtual memory.
+   if (eina_file_virtual(file))
+ {
+const char *data = (const char*) eina_file_map_all(file, 
EINA_FILE_SEQUENTIAL);
+if (!data) goto err;
+//@TODO pass corrct external_resource path.
+lot_anim = lottie_animation_from_data(data, key ? 
key:eina_file_filename_get(file), " ");
+eina_file_map_free(file, (void *) data);
+ }
+   else
+ lot_anim = lottie_animation_from_file(eina_file_filename_get(file));
 
if (!lot_anim)
  {

-- 




[EGIT] [core/efl] master 01/01: vg_common_svg: Support opacity attribute of element

2019-10-14 Thread JunsuChoi
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=74e2c80b6e3d3d4ee25792140cdbc4a95ef08f3b

commit 74e2c80b6e3d3d4ee25792140cdbc4a95ef08f3b
Author: JunsuChoi 
Date:   Tue Oct 15 14:53:25 2019 +0900

vg_common_svg: Support opacity attribute of  element

Summary:
The  element can have an opacity.
Therefore, if node type is SVG_NODE_G, set color.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10371
---
 src/static_libs/vg_common/vg_common_svg.c | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/static_libs/vg_common/vg_common_svg.c 
b/src/static_libs/vg_common/vg_common_svg.c
index 6cc66ae903..1d01f9f243 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -718,10 +718,7 @@ _apply_vg_property(Svg_Node *node, Efl_VG *vg, Efl_VG 
*parent, Vg_File_Data *vg_
 
if (node->type != SVG_NODE_DOC && !node->display) 
efl_gfx_entity_visible_set(vg, EINA_FALSE);
 
-   if ((node->type == SVG_NODE_G) || (node->type == SVG_NODE_DOC)) return;
-
-   // apply the fill style property
-   efl_gfx_shape_fill_rule_set(vg, style->fill.fill_rule);
+   if (node->type == SVG_NODE_DOC) return;
 
// if fill property is NULL then do nothing
if (style->fill.paint.none)
@@ -757,6 +754,11 @@ _apply_vg_property(Svg_Node *node, Efl_VG *vg, Efl_VG 
*parent, Vg_File_Data *vg_
 efl_gfx_color_set(vg, ((float) r) * fa, ((float) g) * fa, ((float) b) 
* fa, ((float) a) * fa);
  }
 
+   if (node->type == SVG_NODE_G)  return;
+
+   // apply the fill style property
+   efl_gfx_shape_fill_rule_set(vg, style->fill.fill_rule);
+
efl_gfx_shape_stroke_width_set(vg, style->stroke.width);
efl_gfx_shape_stroke_cap_set(vg, style->stroke.cap);
efl_gfx_shape_stroke_join_set(vg, style->stroke.join);

-- 




Re: [E-devel] EFL 1.22 End of Life

2019-10-14 Thread Simon Lees




On 10/5/19 1:28 AM, William L. Thomson Jr. wrote:

On Fri, 4 Oct 2019 10:46:33 -0400
Mike Blumenkrantz  wrote:


Hi,

As per usual EFL stable release policy, I am not planning to execute
any further releases with the 1.22 series now that 1.23 has been
released. Stable releases from this point forward will only be
produced from the 1.23 branch.

If anyone has a pressing need for a further 1.22 series release,
please bring your issues forward so we can determine what to do next.


Any recommendations for how long package maintainers should keep 1.22
around?

Is it worth updating 1.22.5 -> 1.22.6 if no problems with 1.23.0?

Or should we just move on from 1.22?


You probably want to move on to 1.23.0 unless your maintaining the 
package for a "stable" distro branch that doesn't allow new features mid 
cycle but that allows bugfixes.


Cheers

--

Simon Lees (Simotek)http://simotek.net

Emergency Update Team   keybase.io/simotek
SUSE Linux   Adelaide Australia, UTC+10:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL 1.22 End of Life

2019-10-14 Thread William L. Thomson Jr.
On Fri, 4 Oct 2019 10:46:33 -0400
Mike Blumenkrantz  wrote:

> Hi,
> 
> As per usual EFL stable release policy, I am not planning to execute
> any further releases with the 1.22 series now that 1.23 has been
> released. Stable releases from this point forward will only be
> produced from the 1.23 branch.
> 
> If anyone has a pressing need for a further 1.22 series release,
> please bring your issues forward so we can determine what to do next.

Any recommendations for how long package maintainers should keep 1.22
around?

Is it worth updating 1.22.5 -> 1.22.6 if no problems with 1.23.0?

Or should we just move on from 1.22?

Thank you!

-- 
William L. Thomson Jr.


pgpQZtd7itb7w.pgp
Description: OpenPGP digital signature
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: ecore_evas/wl2 0 fux xdg close cb for window when it's closed remotely

2019-10-14 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ca32732373a5545fb3b23a6e7f69198d455c6370

commit ca32732373a5545fb3b23a6e7f69198d455c6370
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Oct 14 19:12:25 2019 +0100

ecore_evas/wl2 0 fux xdg close cb for window when it's closed remotely

this should fix this:


https://matrix.org/_matrix/media/r0/download/matrix.org/lhFneENlWAjuXDaJfSYuJjjJ

unfortunately this means adding an api and then using it in ecore_evas.

@fix
---
 src/lib/ecore_wl2/Ecore_Wl2.h | 12 
 src/lib/ecore_wl2/ecore_wl2_private.h |  3 +++
 src/lib/ecore_wl2/ecore_wl2_window.c  | 14 +-
 .../engines/wayland/ecore_evas_wayland_common.c   | 19 ++-
 4 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h
index 240ec820ac..b706b4c9ed 100644
--- a/src/lib/ecore_wl2/Ecore_Wl2.h
+++ b/src/lib/ecore_wl2/Ecore_Wl2.h
@@ -736,6 +736,18 @@ EAPI const char *ecore_wl2_display_name_get(const 
Ecore_Wl2_Display *display);
  */
 EAPI Ecore_Wl2_Window *ecore_wl2_window_new(Ecore_Wl2_Display *display, 
Ecore_Wl2_Window *parent, int x, int y, int w, int h);
 
+/**
+ * Set a callback to be caleld just before the window is closed and freed
+ *
+ * @param window The window to listen to for a xdg toplevel close callback
+ * @param cb The callback function to call being passed data and window
+ * @param data The Data pointer to pass as data to the callback
+ *
+ * @ingroup Ecore_Wl2_Window_Group
+ * @since 1.24
+ */
+EAPI void ecore_wl2_window_close_callback_set(Ecore_Wl2_Window *window, void 
(*cb) (void *data, Ecore_Wl2_Window *win), void *data);
+
 /**
  * Get the wl_surface which belongs to this window
  *
diff --git a/src/lib/ecore_wl2/ecore_wl2_private.h 
b/src/lib/ecore_wl2/ecore_wl2_private.h
index 4d8420f805..1f4eaad9f2 100644
--- a/src/lib/ecore_wl2/ecore_wl2_private.h
+++ b/src/lib/ecore_wl2/ecore_wl2_private.h
@@ -191,6 +191,9 @@ struct _Ecore_Wl2_Window
struct zxdg_toplevel_v6 *zxdg_toplevel;
struct zxdg_popup_v6 *zxdg_popup;
 
+   void (*cb_close) (void *data, Ecore_Wl2_Window *win);
+   void  *cb_close_data;
+
Eina_Stringshare *uuid;
 
void (*xdg_configure_ack)(struct xdg_surface *surface, uint32_t serial);
diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c 
b/src/lib/ecore_wl2/ecore_wl2_window.c
index 71c74f3284..97938339ce 100644
--- a/src/lib/ecore_wl2/ecore_wl2_window.c
+++ b/src/lib/ecore_wl2/ecore_wl2_window.c
@@ -264,7 +264,11 @@ _xdg_toplevel_cb_close(void *data, struct xdg_toplevel 
*xdg_toplevel EINA_UNUSED
 
win = data;
if (!win) return;
-
+   if (win->cb_close)
+ {
+win->cb_close(win->cb_close_data, win);
+win->cb_close = NULL;
+ }
ecore_wl2_window_free(win);
 }
 
@@ -568,6 +572,14 @@ ecore_wl2_window_new(Ecore_Wl2_Display *display, 
Ecore_Wl2_Window *parent, int x
return win;
 }
 
+EAPI void
+ecore_wl2_window_close_callback_set(Ecore_Wl2_Window *window, void (*cb) (void 
*data, Ecore_Wl2_Window *win), void *data)
+{
+   EINA_SAFETY_ON_NULL_RETURN(window);
+   window->cb_close = cb;
+   window->cb_close_data = data;
+}
+
 EAPI struct wl_surface *
 ecore_wl2_window_surface_get(Ecore_Wl2_Window *window)
 {
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index 7696125d5f..a71802b78b 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -1438,7 +1438,12 @@ _ecore_evas_wl_common_free(Ecore_Evas *ee)
if (wdata->frame) ecore_wl2_window_frame_callback_del(wdata->frame);
wdata->frame = NULL;
ecore_event_handler_del(wdata->sync_handler);
-   if (wdata->win) ecore_wl2_window_free(wdata->win);
+   if (wdata->win)
+ {
+ecore_wl2_window_close_callback_set(wdata->win, NULL, NULL);
+ecore_wl2_window_free(wdata->win);
+wdata->win = NULL;
+ }
ecore_wl2_display_disconnect(wdata->display);
 
EINA_LIST_FREE(wdata->devices_list, device)
@@ -2466,6 +2471,17 @@ static Ecore_Evas_Engine_Func _ecore_wl_engine_func =
NULL, //fn_last_tick_get
 };
 
+static void
+_ecore_evas_wl_common_win_close(void *data, Ecore_Wl2_Window *win EINA_UNUSED)
+{
+   Ecore_Evas *ee = data;
+   Ecore_Evas_Engine_Wl_Data *wdata = ee->engine.data;
+
+   if (ee->func.fn_delete_request) ee->func.fn_delete_request(ee);
+
+   wdata->win = NULL;
+}
+
 Ecore_Evas *
 _ecore_evas_wl_common_new_internal(const char *disp_name, Ecore_Window parent, 
int x, int y, int w, int h, Eina_Bool frame, const int *opt, const char 
*engine_name)
 {
@@ -2553,6 +2569,7 @@ _ecore_evas_wl_common_new_internal(const char *disp_name, 
Ecore_Window parent, i
wdata->display = ewd;
 
wdata->win = ecore_wl2_w

[EGIT] [core/enlightenment] master 01/01: e init splash - remove almost all status strings as they are not needed

2019-10-14 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=34a427e2a1f4a6ac03a54b523cb3ad7047753e87

commit 34a427e2a1f4a6ac03a54b523cb3ad7047753e87
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Oct 14 14:11:26 2019 +0100

e init splash - remove almost all status strings as they are not needed

since now we basically bring everything up THEN start rendering once
we hit the main loop there is no point having init splash strings
anymore. it is no longer an external process. until e's compositor is
up you will see nothing anyway. if it is up these days we've finished
init as a smoothing out of startup has move everything before main
loop starts. so this code is all kind of useless, thus remove. cleanup
code.
---
 src/bin/e_main.c| 66 +
 src/bin/e_module.c  |  1 -
 src/bin/e_startup.c |  3 ---
 src/bin/e_sys.c |  5 
 4 files changed, 1 insertion(+), 74 deletions(-)

diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index f1b5989cb..972f689dd 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -733,8 +733,6 @@ main(int argc, char **argv)
TS("E_Moveresize Init Done");
_e_main_shutdown_push(e_moveresize_shutdown);
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup Message Bus"));
TS("E_Msgbus Init");
if (!e_msgbus_init())
  {
@@ -761,8 +759,6 @@ main(int argc, char **argv)
TS("Efreet Init Done");
_e_main_shutdown_push(efreet_shutdown);
 
-   if (e_config->show_splash)
- e_init_status_set(_("Starting International Support"));
TS("E_Intl Post Init");
if (!e_intl_post_init())
  {
@@ -778,8 +774,6 @@ main(int argc, char **argv)
 
e_screensaver_preinit();
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup Actions"));
TS("E_Actions Init");
if (!e_actions_init())
  {
@@ -796,8 +790,6 @@ main(int argc, char **argv)
e_desk_init();
e_exehist_init();
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup Powersave Modes"));
TS("E_Powersave Init");
if (!e_powersave_init())
  {
@@ -807,11 +799,6 @@ main(int argc, char **argv)
TS("E_Powersave Init Done");
_e_main_shutdown_push(e_powersave_shutdown);
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup Screensaver"));
-
-   if (e_config->show_splash)
- e_init_status_set(_("Setup Screens"));
TS("Screens Init");
if (!_e_main_screens_init())
  {
@@ -869,15 +856,11 @@ main(int argc, char **argv)
efreet_icon_extension_add(".edj");
TS("Add Icon Extensions Done");
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup ACPI"));
TS("E_Acpi Init");
e_acpi_init();
TS("E_Acpi Init Done");
_e_main_shutdown_push(e_acpi_shutdown);
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup Backlight"));
TS("E_Backlight Init");
if (!e_backlight_init())
  {
@@ -886,8 +869,6 @@ main(int argc, char **argv)
  }
TS("E_Backlight Init Done");
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup DPMS"));
TS("E_Dpms Init");
if (!e_dpms_init())
  {
@@ -897,8 +878,6 @@ main(int argc, char **argv)
TS("E_Dpms Init Done");
_e_main_shutdown_push(e_dpms_shutdown);
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup Desklock"));
TS("E_Desklock Init");
if (!e_desklock_init())
  {
@@ -914,14 +893,10 @@ main(int argc, char **argv)
 e_screensaver_update();
  }
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup Paths"));
TS("Efreet Paths");
_e_main_efreet_paths_init();
TS("Efreet Paths Done");
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup System Controls"));
TS("E_Sys Init");
if (!e_sys_init())
  {
@@ -931,8 +906,6 @@ main(int argc, char **argv)
TS("E_Sys Init Done");
_e_main_shutdown_push(e_sys_shutdown);
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup Execution System"));
TS("E_Exec Init");
if (!e_exec_init())
  {
@@ -945,8 +918,6 @@ main(int argc, char **argv)
e_comp_all_freeze();
TS("E_Comp Freeze Done");
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup Filemanager"));
TS("E_Fm2 Init");
if (!e_fm2_init())
  {
@@ -956,8 +927,6 @@ main(int argc, char **argv)
TS("E_Fm2 Init Done");
_e_main_shutdown_push(e_fm2_shutdown);
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup Message System"));
TS("E_Msg Init");
if (!e_msg_init())
  {
@@ -967,8 +936,6 @@ main(int argc, char **argv)
TS("E_Msg Init Done");
_e_main_shutdown_push(e_msg_shutdown);
 
-   if (e_config->show_splash)
- e_init_status_set(_("Setup Grab Input Handling"));
TS("E_Grabinput Init");
if (!e_grabinput_init())
  {
@@ -978,8 +945,6 @@ main(int argc, char **argv)
TS("E_Grabinput Init Done");
_e_main_shutdown_push(e_grabinput_

[EGIT] [core/efl] master 01/03: csharp: updating Factory docs.

2019-10-14 Thread Bruno da Silva Belo
lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=902ea935e4df7115a5b0577053045a8581b56e5e

commit 902ea935e4df7115a5b0577053045a8581b56e5e
Author: Bruno da Silva Belo 
Date:   Mon Oct 14 18:01:30 2019 -0300

csharp: updating Factory docs.

Summary: ref T8345

Reviewers: lauromoura, felipealmeida, segfaultxavi, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8345

Differential Revision: https://phab.enlightenment.org/D10375
---
 src/bindings/mono/efl_mono/Factory.cs | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/bindings/mono/efl_mono/Factory.cs 
b/src/bindings/mono/efl_mono/Factory.cs
index 2c9f139ca7..be429fd12a 100644
--- a/src/bindings/mono/efl_mono/Factory.cs
+++ b/src/bindings/mono/efl_mono/Factory.cs
@@ -14,13 +14,12 @@ namespace Efl { namespace Ui {
 /// var factory = Efl.Ui.Factory();
 /// factory.Style().Bind("Name"); // The factory Style property is bound to 
the Name property for the given model.
 /// 
-///
-/// Since EFL 1.23.
-///
 /// 
 public class ItemFactory : Efl.Ui.LayoutFactory, IDisposable
 {
-/// Creates a new factory.
+/// Creates a new factory.
+/// 
+/// The parent of the factory.
 public ItemFactory(Efl.Object parent = null)
 : base (parent, typeof(T))
 {

-- 




[EGIT] [core/efl] master 03/03: csharp: updating GenericModel.cs docs.

2019-10-14 Thread Bruno da Silva Belo
lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0cfcfd30987f74130d840162f8e09ce7830e460b

commit 0cfcfd30987f74130d840162f8e09ce7830e460b
Author: Bruno da Silva Belo 
Date:   Mon Oct 14 18:33:01 2019 -0300

csharp: updating GenericModel.cs docs.

Reviewers: lauromoura, felipealmeida, segfaultxavi, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8345

Differential Revision: https://phab.enlightenment.org/D10376
---
 src/bindings/mono/efl_mono/GenericModel.cs | 37 --
 1 file changed, 35 insertions(+), 2 deletions(-)

diff --git a/src/bindings/mono/efl_mono/GenericModel.cs 
b/src/bindings/mono/efl_mono/GenericModel.cs
index b9ef325750..2da3da6803 100644
--- a/src/bindings/mono/efl_mono/GenericModel.cs
+++ b/src/bindings/mono/efl_mono/GenericModel.cs
@@ -15,8 +15,6 @@ namespace Efl {
 /// It provides an expanded API like async helpers to get 
children.
 ///
 /// For MVVM-based models,  
provides a simpler API.
-///
-/// Since EFL 1.24.
 /// 
 /// The type of the child model. It is the type used when 
adding/removing/getting items to this
 /// model.
@@ -25,6 +23,8 @@ public class GenericModel : Efl.Object, Efl.IModel, 
IDisposable
private Efl.IModel model;
 
/// Creates a new model wrapping model.
+   /// The model to be wrapped.
+   /// The parent of the model.
public GenericModel (Efl.IModel model, Efl.Object parent = null) : 
base(parent)
{
this.model = model;
@@ -43,42 +43,57 @@ public class GenericModel : Efl.Object, Efl.IModel, 
IDisposable
}
 
/// The list of properties available in the wrapped 
model.
+   /// The list of properties in the model.
public Eina.Iterator GetProperties()
{
return model.GetProperties();
}
 
/// Gets the value of the given property in the wrapped 
model.
+   /// The property of the model.
+   /// The value of the property.
public Eina.Value GetProperty(  System.String property)
{
return model.GetProperty(property);
}
 
/// Sets the value of the given property in the given 
model.
+   /// The property of the model.
+   /// The value of the property.
+   /// An  that resolves when the property 
has
+   /// been set or reports an error if it could not be set.
public Eina.Future SetProperty(  System.String property,   Eina.Value value)
{
return model.SetProperty(property, value);
}
 
/// Returns the number of children in the wrapped model.
+   /// The number of children.
public uint GetChildrenCount()
{
return model.GetChildrenCount();
}
 
/// Returns an  that will resolve when 
the property is ready to be read.
+   /// The property of the model.
+   /// An  that resolves when the property 
is ready.
public Eina.Future GetPropertyReady(  System.String property)
{
return model.GetPropertyReady(property);
}
 
/// Gets a number of children from the wrapped model.
+   /// The start of the range.
+   /// The size of the range.
+   /// An   that resolves to an
+   ///  of children models.
public Eina.Future GetChildrenSlice(  uint start,   uint count)
{
return model.GetChildrenSlice(start, count);
}
 
/// Adds a new object to the wrapper model.
+   /// The object to get the properties from.
public void Add(T o)
{
   Efl.IModel child = (Efl.IModel)this.AddChild();
@@ -86,18 +101,22 @@ public class GenericModel : Efl.Object, Efl.IModel, 
IDisposable
}
 
/// Adds a new child to the model and returns it.
+   /// The object to be wrapped.
public Efl.Object AddChild()
{
return model.AddChild();
}
 
/// Deletes the given child from the wrapped 
model.
+   /// The child to be deleted.
public void DelChild( Efl.Object child)
{
model.DelChild(child);
}
 
/// Gets the element at the specified index.
+   /// The position of the element.
+   /// Token to notify the async operation of external request to 
cancel.
async public System.Threading.Tasks.Task GetAtAsync(uint index)
{
using (Eina.Value v = await GetChildrenSliceAsync(index, 1))
@@ -117,18 +136,32 @@ public class GenericModel : Efl.Object, Efl.IModel, 
IDisposable
}
 
/// Async wrapper around .
+   /// The property to be added.
+   /// The value of the property.
+   /// The token for the task's cancellation.
+   /// Task that resolves when the property has been set or could not
+   /// be set.
public System.Threading.Tasks.Task SetPropertyAsync(  
System.String property,  Eina.Value value, System.Threading.CancellationToken 
token=default(System.Threading.CancellationToken))
{
return model.SetPropertyAsync(property, value, token);
}
 
/// Async wrapper around .
+   /// The property of the model.
+   /// The token for the task's cancellation.
+   /// Task that resolv

[EGIT] [core/efl] master 02/03: csharp: updating Bind docs and hide api.

2019-10-14 Thread Bruno da Silva Belo
lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=53e1d3ad08cda904bd52e1e1fc187bc8315f3693

commit 53e1d3ad08cda904bd52e1e1fc187bc8315f3693
Author: Bruno da Silva Belo 
Date:   Mon Oct 14 18:27:49 2019 -0300

csharp: updating Bind docs and hide api.

Summary: ref T8345

Reviewers: lauromoura, felipealmeida, segfaultxavi, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8345

Differential Revision: https://phab.enlightenment.org/D10374
---
 src/bindings/mono/efl_mono/Bind.cs | 59 +++---
 1 file changed, 43 insertions(+), 16 deletions(-)

diff --git a/src/bindings/mono/efl_mono/Bind.cs 
b/src/bindings/mono/efl_mono/Bind.cs
index c4aec5b5e1..2a4fcbded5 100644
--- a/src/bindings/mono/efl_mono/Bind.cs
+++ b/src/bindings/mono/efl_mono/Bind.cs
@@ -12,13 +12,15 @@ namespace Efl {
 /// Represents a bindable property as used by  instances.
 ///
 /// It is internally instantiated and returned by generated extension 
methods.
-///
-/// Since EFL 1.23.
 /// 
 public class BindableProperty
 {
 
-/// Creates a new bindable property with the source name 
name.
+/// Creates a new bindable property with the source name
+/// name.
+/// 
+/// The property name of the bind.
+/// The binder that will be used to bind the 
properties.
 public BindableProperty(string name, Efl.Ui.IPropertyBind binder)
 {
 this.propertyName = name;
@@ -26,7 +28,11 @@ public class BindableProperty
 this.binder = binder;
 }
 
-/// Creates a new bindable property for part 
part.
+/// Creates a new bindable property for part part.
+/// 
+/// The name of the part this instance 
wraps.
+/// The property name of the bind.
+/// Yhe binder that will be used to bind the 
properties.
 public BindableProperty(string partName, string partProperty, 
Efl.Ui.IPropertyBind binder)
 {
 this.partName = partName;
@@ -34,7 +40,10 @@ public class BindableProperty
 this.binder = binder;
 }
 
-/// Binds the model property modelProperty to the property 
name set in the constructor.
+/// Binds the model property modelProperty to the property
+/// name set in the constructor.
+/// 
+/// The model property
 public Eina.Error Bind(string modelProperty)
 {
 if (this.partName == null)
@@ -70,52 +79,69 @@ public class BindableProperty
 }
 }
 
+/// 
+///   The property name of the bind.
+/// 
 string propertyName;
+/// 
+///   The name of the part this instance wraps.
+/// 
 string partName;
+/// 
+///   The binder that will be used to bind the properties.
+/// 
 Efl.Ui.IPropertyBind binder;
 }
 
 /// Represents bindable parts as used by  instances.
 ///
 /// It is internally instantiated and returned by generated extension 
methods.
-///
-/// Since EFL 1.23.
 /// 
 public class BindablePart
 {
-/// Creates a new bindable property with the binder 
binder.
+/// Creates a new bindable property with the binder binder.
+///
+/// The name of the part this instance 
wraps.
+/// Yhe binder that will be used to bind the 
properties.
 public BindablePart(string partName, Efl.Ui.IPropertyBind binder)
 {
 this.PartName = partName;
 this.Binder = binder;
 }
 
-/// The name of the part this instance wraps.
+/// The name of the part this instance wraps.
+/// 
 public string PartName { get; private set; }
-/// The binder that will be used to bind the properties.
+/// The binder that will be used to bind the properties.
+/// 
 public Efl.Ui.IPropertyBind Binder { get; private set; }
 
 }
 
 /// Represents bindable factory parts as used by  instances.
-///
-/// Since EFL 1.23.
 /// 
 public class BindableFactoryPart
 {
-/// Creates a new bindable factory part with the binder 
binder.
+/// Creates a new bindable factory part with the binder 
binder.
+/// 
+/// The name of the part this instance 
wraps.
+/// Yhe binder that will be used to bind the 
properties.
 public BindableFactoryPart(string partName, Efl.Ui.IFactoryBind binder)
 {
 this.PartName = partName;
 this.Binder = binder;
 }
 
-/// The name of the part this instance wraps.
+/// The name of the part this instance wraps.
+/// 
 public string PartName { get; private set; }
-/// The binder that will be used to bind the properties.
+/// The binder that will be used to bind the properties.
+/// 
 public Efl.Ui.IFactoryBind Binder { get; private set; }
 
-/// Binds the given factory to this part.
+/// Binds the given factory to this part.
+/// 
+/// The factory to be used.
 public Eina.Error BindFactory(Efl.Ui.IFactory factory)
 {
 return this.Binder.BindFa

[EGIT] [core/efl] master 01/01: csharp: Remove test dependency on internal funcs

2019-10-14 Thread Lauro Moura
lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=87e5fc4c6a32f008ff0c8d30854f352587ff7e6c

commit 87e5fc4c6a32f008ff0c8d30854f352587ff7e6c
Author: Lauro Moura 
Date:   Mon Oct 14 17:19:12 2019 -0300

csharp: Remove test dependency on internal funcs

Summary: This will help cleaninup the EFL# API.

Test Plan: run test suite

Reviewers: YOhoho, felipealmeida, segfaultxavi, woohyun, brunobelo

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10365
---
 src/bindings/mono/eina_mono/eina_binbuf.cs |   2 +-
 src/tests/efl_mono/Eina.cs |   2 +-
 src/tests/efl_mono/Eldbus.cs   | 108 +
 src/tests/efl_mono/Inheritance.cs  |   6 --
 4 files changed, 35 insertions(+), 83 deletions(-)

diff --git a/src/bindings/mono/eina_mono/eina_binbuf.cs 
b/src/bindings/mono/eina_mono/eina_binbuf.cs
index 63b42e239d..4f28ee1306 100644
--- a/src/bindings/mono/eina_mono/eina_binbuf.cs
+++ b/src/bindings/mono/eina_mono/eina_binbuf.cs
@@ -364,7 +364,7 @@ public class Binbuf : IDisposable
 ///Gets a slice of the buffer's contents.
 /// Since EFL 1.23.
 /// 
-Eina.Slice GetSlice()
+public Eina.Slice GetSlice()
 {
 return eina_binbuf_slice_get(Handle);
 }
diff --git a/src/tests/efl_mono/Eina.cs b/src/tests/efl_mono/Eina.cs
index 5a9b94e9af..0c6212a6ad 100644
--- a/src/tests/efl_mono/Eina.cs
+++ b/src/tests/efl_mono/Eina.cs
@@ -323,7 +323,7 @@ class TestEinaSlice
 var binbuf = new Eina.Binbuf(base_seq);
 Test.Assert(binbuf.Handle != IntPtr.Zero);
 
-Eina.Slice slc = Eina.Binbuf.eina_binbuf_slice_get(binbuf.Handle);
+Eina.Slice slc = binbuf.GetSlice();
 
 Test.Assert(slc.GetBytes().SequenceEqual(base_seq));
 Test.Assert(base_seq.Length == (int)(slc.Len));
diff --git a/src/tests/efl_mono/Eldbus.cs b/src/tests/efl_mono/Eldbus.cs
index 0c63a8637d..de1b1429cf 100644
--- a/src/tests/efl_mono/Eldbus.cs
+++ b/src/tests/efl_mono/Eldbus.cs
@@ -16,31 +16,6 @@ public static class EldbusTestUtil
 public const string DBusPath = "/org/freedesktop/DBus";
 
 [return: MarshalAs(UnmanagedType.U1)] public delegate bool 
Ecore_Task_Cb(IntPtr data);
-
-public static Ecore_Task_Cb GetEcoreLoopClose()
-{
-if (_ecore_loop_close == null)
-_ecore_loop_close = new Ecore_Task_Cb(_ecore_loop_close_impl);
-return _ecore_loop_close;
-}
-
-[DllImport(efl.Libs.Ecore)] public static extern IntPtr
-ecore_timer_add(double _in, Ecore_Task_Cb func, IntPtr data);
-[DllImport(efl.Libs.Ecore)] public static extern IntPtr
-ecore_timer_del(IntPtr timer);
-
-[DllImport(efl.Libs.Ecore)] public static extern void
-ecore_main_loop_begin();
-[DllImport(efl.Libs.Ecore)] public static extern void
-ecore_main_loop_quit();
-
-
-static private bool _ecore_loop_close_impl(IntPtr data)
-{
-ecore_main_loop_quit();
-return false;
-}
-static private Ecore_Task_Cb _ecore_loop_close = null;
 }
 
 namespace TestSuite
@@ -84,6 +59,7 @@ class TestEldbusObject
 {
 public static void utc_eldbus_object_send_info_get_p()
 {
+var app = Efl.App.AppMain;
 var conn = new eldbus.Connection(eldbus.Connection.Type.Session);
 
 var obj = new eldbus.Object(conn, DBusBus, DBusPath);
@@ -105,7 +81,6 @@ class TestEldbusObject
 connectionFromObj.Dispose();
 }
 
-IntPtr timeout = IntPtr.Zero;
 int messageCapture = 0;
 bool isSuccess = false;
 
@@ -113,12 +88,6 @@ class TestEldbusObject
 {
 try
 {
-if (timeout != IntPtr.Zero)
-{
-ecore_timer_del(timeout);
-timeout = IntPtr.Zero;
-}
-
 string errname;
 string errmsg;
 
@@ -137,7 +106,7 @@ class TestEldbusObject
 }
 finally
 {
-ecore_main_loop_quit();
+app.Quit(0);
 }
 };
 
@@ -148,15 +117,18 @@ class TestEldbusObject
 
 AssertEquals(pending.GetMethod(), methodName);
 
-timeout = ecore_timer_add(2.0, GetEcoreLoopClose(), IntPtr.Zero);
-Assert(timeout != IntPtr.Zero);
+var timer = new Efl.LoopTimer(app, 2.0);
+timer.TimerTickEvent += (object sender, EventArgs e) => {
+app.Quit(0);
+};
 
 messageCapture = 5;
 
-ecore_main_loop_begin();
+app.Begin();
 
 Assert(isSuccess, $"Method {methodName} is not call");
 
+timer.Dispose();
 message.Dispose();
 obj.Dispose();
 conn.Dispose();
@@ -164,11 +136,11 @@ class TestEldbusObject
 
 public static void utc_eldbus_introspect_p()
 {

[EGIT] [core/efl] master 01/03: csharp: updating eina_config docs and hide api.

2019-10-14 Thread Bruno da Silva Belo
lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8ba2638f0ea0e5542cb93d9880e3b0740b8d325e

commit 8ba2638f0ea0e5542cb93d9880e3b0740b8d325e
Author: Bruno da Silva Belo 
Date:   Mon Oct 14 12:23:56 2019 -0300

csharp: updating eina_config docs and hide api.

Reviewers: felipealmeida, lauromoura, woohyun, segfaultxavi

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8293

Differential Revision: https://phab.enlightenment.org/D10312
---
 src/bindings/mono/eina_mono/eina_config.cs | 34 +-
 1 file changed, 29 insertions(+), 5 deletions(-)

diff --git a/src/bindings/mono/eina_mono/eina_config.cs 
b/src/bindings/mono/eina_mono/eina_config.cs
index 1b57da029c..833b7d5da8 100644
--- a/src/bindings/mono/eina_mono/eina_config.cs
+++ b/src/bindings/mono/eina_mono/eina_config.cs
@@ -2,20 +2,24 @@
 
 using System;
 using System.Runtime.InteropServices;
+using System.ComponentModel;
 
 namespace Eina
 {
 
 /// 
 /// Manage the initialization and cleanup for eina.
-///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
 public class Config
 {
 [DllImport(efl.Libs.Eina)] private static extern int eina_init();
 [DllImport(efl.Libs.Eina)] private static extern int eina_shutdown();
 
+/// 
+/// Initialize the Eina library.
+/// Since EFL 1.23.
+/// 
 public static void Init()
 {
 if (eina_init() == 0)
@@ -24,6 +28,10 @@ public class Config
 }
 }
 
+/// 
+/// Finalize the Eina library.
+/// Since EFL 1.23.
+/// 
 public static int Shutdown()
 {
 return eina_shutdown();
@@ -33,29 +41,41 @@ public class Config
 
 /// 
 /// Wrapper class for pointers that need some cleanup afterwards like strings
-///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
 public class DisposableIntPtr : IDisposable
 {
+[EditorBrowsable(EditorBrowsableState.Never)]
 public IntPtr Handle { get; set; }
 private bool ShouldFree;
 private bool Disposed;
 
 /// Wraps a new ptr what will be freed based on the
-/// value of shouldFree
+/// value of shouldFree
+/// Since EFL 1.23.
+/// 
 public DisposableIntPtr(IntPtr ptr, bool shouldFree = false)
 {
 Handle = ptr;
 ShouldFree = shouldFree;
 }
 
+
+/// Release the native resources held by this instance.
+/// Since EFL 1.23.
+/// 
 public void Dispose()
 {
 Dispose(true);
 GC.SuppressFinalize(this);
 }
 
+/// Disposes of this wrapper, releasing the native handle if
+/// owned.
+/// Since EFL 1.23.
+/// 
+/// True if this was called from  public method. False if
+/// called from the C# finalizer.
 protected virtual void Dispose(bool disposing)
 {
 if (!Disposed && ShouldFree)
@@ -66,6 +86,10 @@ public class DisposableIntPtr : IDisposable
 Disposed = true;
 }
 
+
+/// Release the native resources held by this instance.
+/// Since EFL 1.23.
+/// 
 ~DisposableIntPtr()
 {
 Dispose(false);

-- 




[EGIT] [core/efl] master 02/03: csharp: updating eina_common docs and hide api.

2019-10-14 Thread Bruno da Silva Belo
lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=def27320b3e798ad0a822edc9980b75d539c2ea3

commit def27320b3e798ad0a822edc9980b75d539c2ea3
Author: Bruno da Silva Belo 
Date:   Mon Oct 14 16:36:25 2019 -0300

csharp: updating eina_common docs and hide api.

Reviewers: lauromoura, felipealmeida, segfaultxavi, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8293

Differential Revision: https://phab.enlightenment.org/D10311
---
 src/bindings/mono/eina_mono/eina_common.cs | 31 ++
 1 file changed, 23 insertions(+), 8 deletions(-)

diff --git a/src/bindings/mono/eina_mono/eina_common.cs 
b/src/bindings/mono/eina_mono/eina_common.cs
index 77ed8b719e..badd62ecfa 100644
--- a/src/bindings/mono/eina_mono/eina_common.cs
+++ b/src/bindings/mono/eina_mono/eina_common.cs
@@ -3,6 +3,7 @@
 using System;
 using System.Text;
 using System.Runtime.InteropServices;
+using System.ComponentModel;
 
 namespace Eina
 {
@@ -11,7 +12,7 @@ namespace Callbacks
 {
 
 internal delegate int EinaCompareCb(IntPtr data1, IntPtr data2);
-public delegate void EinaFreeCb(IntPtr data);
+internal delegate void EinaFreeCb(IntPtr data);
 
 }
 
@@ -42,9 +43,9 @@ internal static class NativeCustomExportFunctions
 }
 
 /// Wrapper around native memory DllImport'd functions.
-///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public static class MemoryNative
 {
 public static void Free(IntPtr ptr)
@@ -78,6 +79,13 @@ public static class MemoryNative
 return NativeCustomExportFunctions.efl_mono_native_strdup(str);
 }
 
+/// 
+///   Retrieves an instance of a string for use in program.
+/// Since EFL 1.23.
+/// 
+///  The NULL-terminated string to retrieve an instance 
of.
+///  A pointer to an instance of the string on success,
+///  on failure a exception is raised.
 public static IntPtr AddStringshare(string str)
 {
 IntPtr nativeStr = 
StringConversion.ManagedStringToNativeUtf8Alloc(str);
@@ -92,6 +100,10 @@ public static class MemoryNative
 }
 }
 
+/// 
+///   Notes that the given string has lost an instance.
+/// 
+/// the given string
 public static void DelStringshare(IntPtr str)
 {
 NativeMethods.eina_stringshare_del(str);
@@ -131,9 +143,9 @@ public static class MemoryNative
 
 /// 
 /// Conversor of raw pointer to  a type and type to raw pointer
-///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public static class PrimitiveConversion
 {
public static T PointerToManaged(IntPtr nat)
@@ -158,9 +170,9 @@ public static class PrimitiveConversion
 
 /// 
 /// Conversor of string to native string and native string to string.
-///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public static class StringConversion
 {
 public static IntPtr ManagedStringToNativeUtf8Alloc(string managedString)
@@ -204,7 +216,10 @@ public static class StringConversion
 }
 }
 
-/// Enum to handle resource ownership between managed and unmanaged 
code.
+/// Enum to handle resource ownership between managed and unmanaged 
code.
+/// Since EFL 1.23.
+/// 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public enum Ownership
 {
 ///  The resource is owned by the managed code. It should free 
the handle on disposal.

-- 




[EGIT] [core/efl] master 03/03: csharp: Updating eina_array docs and hide api.

2019-10-14 Thread Bruno da Silva Belo
lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=66a26a378bb380350f4e6a26e42f95e43e206194

commit 66a26a378bb380350f4e6a26e42f95e43e206194
Author: Bruno da Silva Belo 
Date:   Mon Oct 14 17:02:45 2019 -0300

csharp: Updating eina_array docs and hide api.

Reviewers: lauromoura, felipealmeida, segfaultxavi, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8293

Differential Revision: https://phab.enlightenment.org/D10309
---
 src/bindings/mono/eina_mono/eina_array.cs | 68 +--
 1 file changed, 55 insertions(+), 13 deletions(-)

diff --git a/src/bindings/mono/eina_mono/eina_array.cs 
b/src/bindings/mono/eina_mono/eina_array.cs
index 0b96920fbd..617664b34e 100644
--- a/src/bindings/mono/eina_mono/eina_array.cs
+++ b/src/bindings/mono/eina_mono/eina_array.cs
@@ -3,6 +3,7 @@
 using System;
 using System.Runtime.InteropServices;
 using System.Collections.Generic;
+using System.ComponentModel;
 
 using static Eina.TraitFunctions;
 using static Eina.ArrayNativeFunctions;
@@ -10,6 +11,7 @@ using static Eina.ArrayNativeFunctions;
 namespace Eina
 {
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public static class ArrayNativeFunctions
 {
 [DllImport(efl.Libs.Eina)] public static extern IntPtr
@@ -46,20 +48,27 @@ public static class ArrayNativeFunctions
 }
 
 /// A container of contiguous allocated elements.
-///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
 public class Array : IEnumerable, IDisposable
 {
 public static uint DefaultStep = 32;
 
 /// Pointer to the native buffer.
+[EditorBrowsable(EditorBrowsableState.Never)]
 public IntPtr Handle {get;set;} = IntPtr.Zero;
-///Whether this wrapper owns the native buffer.
+/// Whether this wrapper owns the native buffer.
+/// Since EFL 1.23.
+/// 
 public bool Own {get;set;}
-/// Who is in charge of releasing the resources wrapped by this 
instance.
+/// Who is in charge of releasing the resources wrapped by
+/// this instance.
+/// Since EFL 1.23.
+/// 
 public bool OwnContent {get;set;}
-///  Length of the array.
+///  Length of the array.
+/// Since EFL 1.23.
+/// 
 public int Length
 {
 get { return Count(); }
@@ -98,6 +107,7 @@ public class Array : IEnumerable, IDisposable
 
 /// 
 ///   Create a new array.
+/// Since EFL 1.23.
 /// 
 public Array()
 {
@@ -106,6 +116,7 @@ public class Array : IEnumerable, IDisposable
 
 /// 
 ///   Create a new array.
+/// Since EFL 1.23.
 /// 
 /// Step size of the array.
 public Array(uint step)
@@ -118,6 +129,7 @@ public class Array : IEnumerable, IDisposable
 /// 
 /// The native handle to be wrapped.
 /// Whether this wrapper owns the native handle.
+[EditorBrowsable(EditorBrowsableState.Never)]
 public Array(IntPtr handle, bool own)
 {
 if (handle == IntPtr.Zero)
@@ -131,11 +143,12 @@ public class Array : IEnumerable, IDisposable
 }
 
 /// 
-///   Create a new array
+///   Create a new array.
 /// 
 /// The native array to be wrapped.
 /// Whether this wrapper owns the native array.
 /// For compatibility with other EFL# 
containers.
+[EditorBrowsable(EditorBrowsableState.Never)]
 public Array(IntPtr handle, bool own, bool ownContent)
 {
 if (handle == IntPtr.Zero)
@@ -150,12 +163,15 @@ public class Array : IEnumerable, IDisposable
 
 /// 
 ///   Finalizer to be called from the Garbage Collector.
+/// Since EFL 1.23.
 /// 
 ~Array()
 {
 Dispose(false);
 }
-/// Disposes of this wrapper, releasing the native array if 
owned.
+/// Disposes of this wrapper, releasing the native array if owned.
+/// Since EFL 1.23.
+/// 
 /// True if this was called from  public method. False if
 /// called from the C# finalizer.
 protected virtual void Dispose(bool disposing)
@@ -189,14 +205,18 @@ public class Array : IEnumerable, IDisposable
 }
 }
 
-/// Releases the native resources held by this instance.
+/// Releases the native resources held by this instance.
+/// Since EFL 1.23.
+/// 
 public void Dispose()
 {
 Dispose(true);
 GC.SuppressFinalize(this);
 }
 
-/// Releases the native resources held by this instance.
+/// Releases the native resources held by this instance.
+/// Since EFL 1.23.
+/// 
 public void Free()
 {
 Dispose();
@@ -204,6 +224,7 @@ public class Array : IEnumerable, IDisposable
 
 /// 
 ///   Releases the native array.
+/// Since EFL 1.23.
 /// 
 /// The native array.
 public IntPtr Release()
@@ -227,6 +248,7 @@ public class Array : IEnumerable, IDisposable
 
 /// 
 ///   Clears an array's elements and deallocates the memo

[EGIT] [apps/terminology] master 01/01: Merge branch 'terminology-1.5'

2019-10-14 Thread Boris Faure
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=bb6d54014528d423bce2a2a8e90fc2e73cbbfd26

commit bb6d54014528d423bce2a2a8e90fc2e73cbbfd26
Merge: e716ad5 96095b5
Author: Boris Faure 
Date:   Mon Oct 14 21:55:53 2019 +0200

Merge branch 'terminology-1.5'

 src/bin/win.c | 4 
 1 file changed, 4 insertions(+)


-- 




[EGIT] [apps/terminology] terminology-1.5 01/01: win: remove hide_cursor_timer when closing a window

2019-10-14 Thread Boris Faure
billiob pushed a commit to branch terminology-1.5.

http://git.enlightenment.org/apps/terminology.git/commit/?id=96095b5b9d6b90b20a1f2944ed56aff7d895364a

commit 96095b5b9d6b90b20a1f2944ed56aff7d895364a
Author: Boris Faure 
Date:   Mon Oct 14 21:54:47 2019 +0200

win: remove hide_cursor_timer when closing a window

@fix
---
 src/bin/win.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/bin/win.c b/src/bin/win.c
index c4c8be9..a021351 100644
--- a/src/bin/win.c
+++ b/src/bin/win.c
@@ -774,6 +774,10 @@ win_free(Win *wn)
   (wn->khdl.imf, ECORE_IMF_CALLBACK_COMMIT, _imf_event_commit_cb);
 ecore_imf_context_del(wn->khdl.imf);
  }
+   if (wn->hide_cursor_timer)
+ {
+ecore_timer_del(wn->hide_cursor_timer);
+ }
ecore_imf_shutdown();
free(wn);
 }

-- 




[EGIT] [core/efl] master 01/05: csharp: updating eina_log docs.

2019-10-14 Thread Bruno da Silva Belo
lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0477a7256091425ab845160f2b14bef264fcd7ed

commit 0477a7256091425ab845160f2b14bef264fcd7ed
Author: Bruno da Silva Belo 
Date:   Mon Oct 14 10:26:02 2019 -0300

csharp: updating eina_log docs.

Reviewers: lauromoura, felipealmeida, segfaultxavi, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8293

Differential Revision: https://phab.enlightenment.org/D10352
---
 src/bindings/mono/eina_mono/eina_log.cs | 121 
 1 file changed, 91 insertions(+), 30 deletions(-)

diff --git a/src/bindings/mono/eina_mono/eina_log.cs 
b/src/bindings/mono/eina_mono/eina_log.cs
index 5782ef6466..2671971550 100644
--- a/src/bindings/mono/eina_mono/eina_log.cs
+++ b/src/bindings/mono/eina_mono/eina_log.cs
@@ -10,8 +10,7 @@ namespace Eina
 // Manual wrappers around eina functions
 
 /// EFL Logging facilities.
-///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
 public class Log
 {
@@ -31,55 +30,97 @@ public class Log
 
 [DllImport(efl.Libs.Eina)] private static extern Level 
eina_log_level_get();
 
-/// The levels of logging.
+/// The levels of logging.
+/// Since EFL 1.23.
+/// 
 public enum Level
 {
-/// Critical events.
+/// Critical events.
+/// Since EFL 1.23.
+/// 
 Critical,
-/// Error events.
+/// Error events.
+/// Since EFL 1.23.
+/// 
 Error,
-/// Warning events.
+/// Warning events.
+/// Since EFL 1.23.
+/// 
 Warning,
-/// Informative events.
+/// Informative events.
+/// Since EFL 1.23.
+/// 
 Info,
-/// Debugging messages.
+/// Debugging messages.
+/// Since EFL 1.23.
+/// 
 Debug,
-/// Unknown events.
+/// Unknown events.
+/// Since EFL 1.23.
+/// 
 Unkown = (-2147483647 - 1)
 }
 
-/// The colors to be used by the logging system.
+/// The colors to be used by the logging system.
+/// Since EFL 1.23.
+/// 
 public class Color
 {
-/// Light red
+/// Light red
+/// Since EFL 1.23.
+/// 
 public static string LIGHTRED  = "\033[31;1m";
-/// Red
+/// Red
+/// Since EFL 1.23.
+/// 
 public static string RED   = "\033[31m";
-/// Light blue
+/// Light blue
+/// Since EFL 1.23.
+/// 
 public static string LIGHTBLUE = "\033[34;1m";
-/// Blue
+/// Blue
+/// Since EFL 1.23.
+/// 
 public static string BLUE  = "\033[34m";
-/// Green
+/// Green
+/// Since EFL 1.23.
+/// 
 public static string GREEN = "\033[32;1m";
-/// Yellow
+/// Yellow
+/// Since EFL 1.23.
+/// 
 public static string YELLOW= "\033[33;1m";
-/// Orange
+/// Orange
+/// Since EFL 1.23.
+/// 
 public static string ORANGE= "\033[0;33m";
-/// White
+/// White
+/// Since EFL 1.23.
+/// 
 public static string WHITE = "\033[37;1m";
-/// Light cyan
+/// Light cyan
+/// Since EFL 1.23.
+/// 
 public static string LIGHTCYAN = "\033[36;1m";
-/// Cyan
+/// Cyan
+/// Since EFL 1.23.
+/// 
 public static string CYAN  = "\033[36m";
-/// Reset
+/// Reset
+/// Since EFL 1.23.
+/// 
 public static string RESET = "\033[0m";
-/// Bold
+/// Bold
+/// Since EFL 1.23.
+/// 
 public static string HIGH  = "\033[1m";
 }
 
 private static int domain = -1;
 
-/// Static class initializer.
+/// Static class initializer.
+/// Since EFL 1.23.
+/// 
 static Log()
 {
 const String name = "mono";
@@ -105,7 +146,10 @@ public class Log
 }
 }
 
-/// Prints a critical message with context info. This context is 
filled automatically by the C# compiler.
+/// Prints a critical message with context info. This context is
+/// filled automatically by the C# compiler.
+/// Since EFL 1.23.
+/// 
 /// The message to be printed.
 /// The line number this method was called from.
 /// The file this method was called from.
@@ -116,7 +160,10 @@ public class Log
 eina_log_print(domain, Level.Critical, file, member, line, message);
 }
 
-/// Prints an error message with context info. This context is 
filled automatically by the C# compiler.
+/// Prints an error message with context info. This context is
+/// filled automatically by the C# compiler.
+/// Since EFL 1.23.
+ 

[EGIT] [core/efl] master 02/05: csharp: updating eina_list docs.

2019-10-14 Thread Bruno da Silva Belo
lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4eee6f560c7f42aedf59002f976d14eeea8c3143

commit 4eee6f560c7f42aedf59002f976d14eeea8c3143
Author: Bruno da Silva Belo 
Date:   Mon Oct 14 11:01:36 2019 -0300

csharp: updating eina_list docs.

Summary: ref T8293

Reviewers: lauromoura, felipealmeida, segfaultxavi, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8293

Differential Revision: https://phab.enlightenment.org/D10351
---
 src/bindings/mono/eina_mono/eina_list.cs | 147 +++
 1 file changed, 111 insertions(+), 36 deletions(-)

diff --git a/src/bindings/mono/eina_mono/eina_list.cs 
b/src/bindings/mono/eina_mono/eina_list.cs
index cf787455bd..bb269db0ea 100644
--- a/src/bindings/mono/eina_mono/eina_list.cs
+++ b/src/bindings/mono/eina_mono/eina_list.cs
@@ -107,24 +107,33 @@ public static class ListNativeFunctions
 }
 
 /// Native wrapper around a linked list of items.
-///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
 public class List : IEnumerable, IDisposable
 {
 
 [EditorBrowsable(EditorBrowsableState.Never)]
 public IntPtr Handle {get;set;} = IntPtr.Zero;
-/// Whether this managed list owns the native one.
+/// Whether this managed list owns the native one.
+/// Since EFL 1.23.
+/// 
 public bool Own {get;set;}
-/// Whether the native list wrapped owns the content it points 
to.
+/// Whether the native list wrapped owns the content it points to.
+/// Since EFL 1.23.
+///
 public bool OwnContent {get;set;}
 
-/// Delegate for comparing two elements of this list.
+/// Delegate for comparing two elements of this list.
+/// Since EFL 1.23.
+/// 
+/// First element.
+/// Second element.
 /// -1, 0 or 1 for respectively smaller, equal or 
larger.
 public delegate int Compare(T a, T b);
 
-/// The number of elements on this list.
+/// The number of elements on this list.
+/// Since EFL 1.23.
+/// 
 public int Length
 {
 get { return Count(); }
@@ -164,7 +173,9 @@ public class List : IEnumerable, IDisposable
 }
 
 
-/// Creates a new empty list.
+/// Creates a new empty list.
+/// Since EFL 1.23.
+/// 
 public List()
 {
 InitNew();
@@ -188,13 +199,17 @@ public class List : IEnumerable, IDisposable
 OwnContent = ownContent;
 }
 
-/// Finalizes this list.
+/// Finalizes this list.
+/// Since EFL 1.23.
+/// 
 ~List()
 {
 Dispose(false);
 }
 
-/// Disposes of this list.
+/// Disposes of this list.
+/// Since EFL 1.23.
+/// 
 /// Whether this was called from the finalizer 
(false) or from the
 ///  method.
 protected virtual void Dispose(bool disposing)
@@ -227,20 +242,26 @@ public class List : IEnumerable, IDisposable
 }
 }
 
-/// Disposes of this list.
+/// Disposes of this list.
+/// Since EFL 1.23.
+/// 
 public void Dispose()
 {
 Dispose(true);
 GC.SuppressFinalize(this);
 }
 
-/// Disposes of this list.
+/// Disposes of this list.
+/// Since EFL 1.23.
+/// 
 public void Free()
 {
 Dispose();
 }
 
-/// Relinquishes of the native list.
+/// Relinquishes of the native list.
+/// Since EFL 1.23.
+/// 
 /// The previously wrapped native list handle.
 public IntPtr Release()
 {
@@ -249,27 +270,40 @@ public class List : IEnumerable, IDisposable
 return h;
 }
 
-/// Sets whether this wrapper should own the native list or 
not.
+/// Sets whether this wrapper should own the native list or not.
+/// Since EFL 1.23.
+/// 
+/// If the hash own for all ownerships.
 public void SetOwnership(bool ownAll)
 {
 Own = ownAll;
 OwnContent = ownAll;
 }
 
-/// Sets whether this wrapper should own the native list and its 
content or not.
+/// Sets whether this wrapper should own the native list and
+/// its content or not.
+/// Since EFL 1.23.
+/// 
+/// If own the object.
+/// If own the content's object.
 public void SetOwnership(bool own, bool ownContent)
 {
 Own = own;
 OwnContent = ownContent;
 }
 
-/// Returns the number of elements in this list.
+/// Returns the number of elements in this list.
+/// Since EFL 1.23.
+/// 
+/// The number of elements.
 public int Count()
 {
 return (int)eina_list_count_custom_export_mono(Handle);
 }
 
-/// Appends val to the list.
+/// Appends val to the list.
+/// Since EFL 1.23.
+/// 
 /// The item to be appended.
 public void Append(T val)
 {
@@ -277,7 +311,9 @@ public class List : IEnumerable, IDisposable
 Handle = eina_list_append(Handle, ele);
 }
 
-//

[EGIT] [core/efl] master 05/05: csharp: updating eina_container_common doc and api

2019-10-14 Thread Bruno da Silva Belo
lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=37e6430e462f4218672866aaa55ca4718ef522cd

commit 37e6430e462f4218672866aaa55ca4718ef522cd
Author: Bruno da Silva Belo 
Date:   Mon Oct 14 11:57:01 2019 -0300

csharp: updating eina_container_common doc and api

Reviewers: felipealmeida, lauromoura, segfaultxavi, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8293

Differential Revision: https://phab.enlightenment.org/D10314
---
 src/bindings/mono/eina_mono/eina_container_common.cs | 19 +++
 1 file changed, 19 insertions(+)

diff --git a/src/bindings/mono/eina_mono/eina_container_common.cs 
b/src/bindings/mono/eina_mono/eina_container_common.cs
index 9798aff923..03a6875429 100644
--- a/src/bindings/mono/eina_mono/eina_container_common.cs
+++ b/src/bindings/mono/eina_mono/eina_container_common.cs
@@ -5,6 +5,7 @@ using System.Linq;
 using System.Runtime.InteropServices;
 using System.Collections.Generic;
 using System.Reflection;
+using System.ComponentModel;
 
 using Eina.Callbacks;
 using static Eina.HashNativeFunctions;
@@ -15,6 +16,7 @@ using static Eina.NativeCustomExportFunctions;
 namespace Eina
 {
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public enum ElementType
 {
 NumericType,
@@ -23,6 +25,7 @@ public enum ElementType
 ObjectType
 };
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 [StructLayout(LayoutKind.Sequential)]
 public struct InlistMem
 {
@@ -31,6 +34,7 @@ public struct InlistMem
 public IntPtr last {get;set;}
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 [StructLayout(LayoutKind.Sequential)]
 public struct InlistNode
 {
@@ -38,6 +42,7 @@ public struct InlistNode
 public T Val {get;set;}
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public interface IBaseElementTraits
 {
 IntPtr ManagedToNativeAlloc(T man);
@@ -58,6 +63,7 @@ public interface IBaseElementTraits
 IntPtr EinaHashIteratorKeyNew(IntPtr hash);
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public class StringElementTraits : IBaseElementTraits
 {
 public StringElementTraits()
@@ -196,6 +202,7 @@ public class StringElementTraits : 
IBaseElementTraits
 }
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public class StringshareElementTraits : IBaseElementTraits
 {
 public StringshareElementTraits()
@@ -335,6 +342,7 @@ public class StringshareElementTraits : 
IBaseElementTraits
 }
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public class EflObjectElementTraits : IBaseElementTraits
 {
 public IntPtr ManagedToNativeAlloc(T man)
@@ -492,6 +500,7 @@ public class EflObjectElementTraits : 
IBaseElementTraits
 }
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public abstract class PrimitiveElementTraits
 {
 private Eina.Callbacks.EinaCompareCb dlgt = null;
@@ -593,6 +602,7 @@ public abstract class PrimitiveElementTraits
 }
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 abstract public class Primitive32ElementTraits : PrimitiveElementTraits, 
IBaseElementTraits
 {
 private static IBaseElementTraits int32Traits = null;
@@ -631,6 +641,7 @@ abstract public class Primitive32ElementTraits : 
PrimitiveElementTraits, I
 }
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 abstract public class Primitive64ElementTraits : PrimitiveElementTraits, 
IBaseElementTraits
 {
 private static IBaseElementTraits int64Traits = null;
@@ -669,6 +680,7 @@ abstract public class Primitive64ElementTraits : 
PrimitiveElementTraits, I
 }
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public class IntElementTraits : Primitive32ElementTraits, 
IBaseElementTraits
 {
 override public void ManagedToNativeCopyTo(int man, IntPtr mem)
@@ -693,6 +705,7 @@ public class IntElementTraits : 
Primitive32ElementTraits, IBaseElementTrait
 }
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public class CharElementTraits : Primitive32ElementTraits, 
IBaseElementTraits
 {
 override public void ManagedToNativeCopyTo(char man, IntPtr mem)
@@ -717,6 +730,7 @@ public class CharElementTraits : 
Primitive32ElementTraits, IBaseElementTra
 }
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public class LongElementTraits : Primitive64ElementTraits, 
IBaseElementTraits
 {
 override public void ManagedToNativeCopyTo(long man, IntPtr mem)
@@ -741,6 +755,7 @@ public class LongElementTraits : 
Primitive64ElementTraits, IBaseElementTra
 }
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public class ShortElementTraits : Primitive32ElementTraits, 
IBaseElementTraits
 {
 override public void ManagedToNativeCopyTo(short man, IntPtr mem)
@@ -765,6 +780,7 @@ public class ShortElementTraits : 
Primitive32ElementTraits, IBaseElementT
 }
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public class FloatElementTraits : Primitive32ElementTraits, 
IBaseElementTr

[EGIT] [core/efl] master 03/05: csharp: updating eina_hash docs and hide api.

2019-10-14 Thread Bruno da Silva Belo
lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3be9b6a12977b8cb550ab1f44b74d5e86b251014

commit 3be9b6a12977b8cb550ab1f44b74d5e86b251014
Author: Bruno da Silva Belo 
Date:   Mon Oct 14 11:22:56 2019 -0300

csharp: updating eina_hash docs and hide api.

Reviewers: lauromoura, felipealmeida, segfaultxavi, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8293

Differential Revision: https://phab.enlightenment.org/D10324
---
 src/bindings/mono/eina_mono/eina_hash.cs | 160 ++-
 1 file changed, 159 insertions(+), 1 deletion(-)

diff --git a/src/bindings/mono/eina_mono/eina_hash.cs 
b/src/bindings/mono/eina_mono/eina_hash.cs
index f4678a1f26..04acc4f3d0 100644
--- a/src/bindings/mono/eina_mono/eina_hash.cs
+++ b/src/bindings/mono/eina_mono/eina_hash.cs
@@ -3,6 +3,7 @@
 using System;
 using System.Runtime.InteropServices;
 using System.Collections.Generic;
+using System.ComponentModel;
 
 using static Eina.TraitFunctions;
 using static Eina.IteratorNativeFunctions;
@@ -13,6 +14,7 @@ namespace Eina
 {
 
 [StructLayout(LayoutKind.Sequential)]
+[EditorBrowsable(EditorBrowsableState.Never)]
 public struct HashTupleNative
 {
 public IntPtr key;
@@ -20,6 +22,7 @@ public struct HashTupleNative
 public uint   key_length;
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public static class HashNativeFunctions
 {
 [DllImport(efl.Libs.Eina)] public static extern IntPtr
@@ -136,11 +139,24 @@ public static class HashNativeFunctions
 /// 
 public class Hash : IEnumerable>, 
IDisposable
 {
+[EditorBrowsable(EditorBrowsableState.Never)]
 public IntPtr Handle {get; set;} = IntPtr.Zero;
+/// Whether this wrapper owns the native hash.
+/// Since EFL 1.23.
+/// 
 public bool Own {get; set;}
+/// Whether this wrapper owns the key.
+/// Since EFL 1.23.
+/// 
 public bool OwnKey {get; set;}
+/// Whether this wrapper owns the value.
+/// Since EFL 1.23.
+/// 
 public bool OwnValue {get; set;}
 
+/// Quantity of elements in the hash.
+/// Since EFL 1.23.
+/// 
 public int Count
 {
 get
@@ -158,28 +174,42 @@ public class Hash : 
IEnumerable>, IDi
 SetOwnValue(true);
 }
 
+/// Default constructor.
+/// Since EFL 1.23.
+/// 
 public Hash()
 {
 InitNew();
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public Hash(IntPtr handle, bool own)
 {
 Handle = handle;
 SetOwnership(own);
 }
 
+[EditorBrowsable(EditorBrowsableState.Never)]
 public Hash(IntPtr handle, bool own, bool ownKey, bool ownValue)
 {
 Handle = handle;
 SetOwnership(own, ownKey, ownValue);
 }
 
+/// Default destructor.
+/// Since EFL 1.23.
+/// 
 ~Hash()
 {
 Dispose(false);
 }
 
+/// Disposes of this wrapper, releasing the native accessor if
+/// owned.
+/// Since EFL 1.23.
+/// 
+/// True if this was called from  public method. False if
+/// called from the C# finalizer.
 protected virtual void Dispose(bool disposing)
 {
 IntPtr h = Handle;
@@ -202,17 +232,27 @@ public class Hash : 
IEnumerable>, IDi
 }
 }
 
+/// Release the native resources held by this instance.
+/// Since EFL 1.23.
+/// 
 public void Dispose()
 {
 Dispose(true);
 GC.SuppressFinalize(this);
 }
 
+/// Release the native resources held by this instance.
+/// Since EFL 1.23.
+/// 
 public void Free()
 {
 Dispose();
 }
 
+/// Release the pointer.
+/// Since EFL 1.23.
+/// 
+/// The instance.
 public IntPtr Release()
 {
 IntPtr h = Handle;
@@ -220,16 +260,28 @@ public class Hash : 
IEnumerable>, IDi
 return h;
 }
 
+/// Sets ownership.
+/// Since EFL 1.23.
+/// 
+/// If the hash own the object.
 public void SetOwn(bool own)
 {
 Own = own;
 }
 
+/// Sets key's ownership.
+/// Since EFL 1.23.
+/// 
+/// If the hash own the key's object.
 public void SetOwnKey(bool ownKey)
 {
 OwnKey = ownKey;
 }
 
+/// Sets value's ownership.
+/// Since EFL 1.23.
+/// 
+/// If the hash own the value's object.
 public void SetOwnValue(bool ownValue)
 {
 OwnValue = ownValue;
@@ -240,6 +292,10 @@ public class Hash : 
IEnumerable>, IDi
 }
 }
 
+/// Sets all ownership.
+/// Since EFL 1.23.
+/// 
+/// If the hash own for all ownerships.
 public void SetOwnership(bool ownAll)
 {
 SetOwn(ownAll);
@@ -247,6 +303,12 @@ public class Hash : 
IEnumerable>, IDi
 SetOwnValue(ownAll);
 }
 
+/// Sets own individually.
+/// Since EFL 1.23.
+/// 
+/// If the hash own the object.
+ 

[EGIT] [core/efl] master 04/05: csharp: updating eina_error docs.

2019-10-14 Thread Bruno da Silva Belo
lauromoura pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e4385c084cd726667817742fb21d318a38a21acc

commit e4385c084cd726667817742fb21d318a38a21acc
Author: Bruno da Silva Belo 
Date:   Mon Oct 14 11:36:25 2019 -0300

csharp: updating eina_error docs.

Reviewers: felipealmeida, lauromoura, segfaultxavi, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8293

Differential Revision: https://phab.enlightenment.org/D10323
---
 src/bindings/mono/eina_mono/eina_error.cs | 87 +--
 1 file changed, 84 insertions(+), 3 deletions(-)

diff --git a/src/bindings/mono/eina_mono/eina_error.cs 
b/src/bindings/mono/eina_mono/eina_error.cs
index a1b4f1e9d9..8292295e9d 100644
--- a/src/bindings/mono/eina_mono/eina_error.cs
+++ b/src/bindings/mono/eina_mono/eina_error.cs
@@ -7,45 +7,94 @@ namespace Eina
 {
 
 /// Error codes from native Eina methods.
-///
-/// Since EFL 1.23.
+/// Since EFL 1.23.
 /// 
 public struct Error : IComparable
 {
 int code;
 
+/// 
+/// The error's message.
+/// Since EFL 1.23.
+/// 
 public string Message
 {
 get { return MsgGet(this); }
 }
 
+/// 
+/// Unhandled Exception error identifier.
+/// Since EFL 1.23.
+/// 
 public static Error UNHANDLED_EXCEPTION;
 
+/// 
+/// No error identifier.
+/// Since EFL 1.23.
+/// 
 public static Error NO_ERROR = new Error(0);
+/// 
+/// Permission error identifier.
+/// Since EFL 1.23.
+/// 
 public static Error EPERM = new Error(1);
+/// 
+/// No entity error identifier.
+/// Since EFL 1.23.
+/// 
 public static Error ENOENT = new Error(2);
+/// 
+/// Cancelled error identifier.
+/// Since EFL 1.23.
+/// 
 public static Error ECANCELED = new Error(125);
 
+/// 
+/// Constructor.
+/// Since EFL 1.23.
+/// 
+/// The value of the error.
 public Error(int value)
 {
 code = value;
 }
 
+/// 
+///   Error identifier conversion from int.
+/// Since EFL 1.23.
+/// 
+/// Value to be converted to Error
 static public implicit operator Error(int val)
 {
 return new Error(val);
 }
 
+/// 
+///   Int conversion from Error.
+/// Since EFL 1.23.
+/// 
+/// Error identifier to be converted to int
 static public implicit operator int(Error error)
 {
 return error.code;
 }
 
+/// 
+///   Compare two Errors.
+/// Since EFL 1.23.
+/// 
+/// Error to be compared with
+/// True with the Errors is equal, False otherwise.
 public int CompareTo(Error err)
 {
 return code.CompareTo(err.code);
 }
 
+/// 
+///   Transform the object to a string representing the object.
+/// Since EFL 1.23.
+/// 
+/// The string representing the value of this.
 public override string ToString()
 {
 return "Eina.Error(" + code + ")";
@@ -61,16 +110,32 @@ public struct Error : IComparable
 [DllImport(efl.Libs.Eina)] static extern void eina_error_set(Error error);
 [DllImport(efl.Libs.Eina)] static extern IntPtr eina_error_msg_get(Error 
error);
 
+/// 
+///   Sets the last error.
+/// Since EFL 1.23.
+/// 
+/// The error identifier.
 public static void Set(Error error)
 {
 eina_error_set(error);
 }
 
+/// 
+///   Returns the last set error.
+/// Since EFL 1.23.
+/// 
+/// The last error or NO_ERROR identifier.
 public static Error Get()
 {
 return eina_error_get();
 }
 
+/// 
+///   Returns the description of the given error identifier.
+/// Since EFL 1.23.
+/// 
+/// Error identifier.
+/// The description of the error.
 public static String MsgGet(Error error)
 {
 IntPtr cstr = eina_error_msg_get(error);
@@ -78,7 +143,9 @@ public struct Error : IComparable
 }
 
 /// Raises an exception if an unhandled exception occurred before 
switching
-/// back to the native code. For example, in an event handler.
+/// back to the native code. For example, in an event handler.
+/// Since EFL 1.23.
+/// 
 public static void RaiseIfUnhandledException()
 {
 Error e = Get();
@@ -89,6 +156,10 @@ public struct Error : IComparable
 }
 }
 
+/// 
+///   Raises an exception.
+/// Since EFL 1.23.
+/// 
 public static void Raise(Error e)
 {
 if (e != 0)
@@ -97,11 +168,21 @@ public struct Error : IComparable
 }
 }
 
+/// 
+///   Set identifier to a NO_ERROR.
+/// Since EFL 1.23.
+/// 
 public static void Clear()
 {
 Set(0);
 }
 
+/// 
+///   Registers a new error type.
+/// Since EFL 1.23.
+/// 
+///  The description of the error.
+/// The uniqu

[EGIT] [core/efl] master 03/11: evas/smart: inhibit evas-internal smart callbacks when there are no subscribers

2019-10-14 Thread Mike Blumenkrantz
zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3175690466bc441c3fb2b55145fb0985b0e97f10

commit 3175690466bc441c3fb2b55145fb0985b0e97f10
Author: Mike Blumenkrantz 
Date:   Mon Oct 14 09:29:37 2019 -0400

evas/smart: inhibit evas-internal smart callbacks when there are no 
subscribers

Summary:
we know these ahead of time since they're hardcoded, so we can block their
emission just like we do for eo events

ref T8321
Depends on D10354

Reviewers: cedric

Reviewed By: cedric

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10355
---
 src/lib/evas/canvas/evas_callbacks.c| 15 ++---
 src/lib/evas/canvas/evas_object_smart.c | 60 +
 2 files changed, 63 insertions(+), 12 deletions(-)

diff --git a/src/lib/evas/canvas/evas_callbacks.c 
b/src/lib/evas/canvas/evas_callbacks.c
index 1f86f63168..65b78f2bcd 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -10,6 +10,7 @@ EVAS_MEMPOOL(_mp_pc);
 extern Eina_Hash* signals_hash_table;
 
 /* Legacy events, do not use anywhere */
+void _evas_object_smart_callback_call_internal(Evas_Object *eo_obj, const 
Efl_Event_Description *efl_event_desc);
 static const Efl_Event_Description _EVAS_OBJECT_EVENT_FREE = 
EFL_EVENT_DESCRIPTION("free");
 static const Efl_Event_Description _EVAS_OBJECT_EVENT_DEL = 
EFL_EVENT_DESCRIPTION("del");
 #define EVAS_OBJECT_EVENT_FREE (&(_EVAS_OBJECT_EVENT_FREE))
@@ -347,17 +348,6 @@ evas_event_callback_call(Evas *eo_e, Evas_Callback_Type 
type, void *event_info)
efl_event_callback_legacy_call(eo_e, _legacy_evas_callback_table(type), 
event_info);
 }
 
-static void
-_evas_smart_callback_legacy_git_er_done(Evas_Object *eo_obj, const 
Efl_Event_Description *efl_event_desc)
-{
-   if (efl_event_desc == EFL_GFX_ENTITY_EVENT_POSITION_CHANGED)
- evas_object_smart_callback_call(eo_obj, "move", NULL);
-   else if (efl_event_desc == EFL_GFX_ENTITY_EVENT_SIZE_CHANGED)
- evas_object_smart_callback_call(eo_obj, "resize", NULL);
-   else if (efl_event_desc == EFL_GFX_ENTITY_EVENT_STACKING_CHANGED)
- evas_object_smart_callback_call(eo_obj, "restack", NULL);
-}
-
 static void
 _evas_callback_legacy_smart_compatibility_do_it(Evas_Object *eo_obj, const 
Efl_Event_Description *efl_event_desc, void *event_info)
 {
@@ -408,7 +398,8 @@ evas_object_event_callback_call(Evas_Object *eo_obj, 
Evas_Object_Protected_Data
 type == EVAS_CALLBACK_MULTI_UP)
  _efl_canvas_gesture_manager_filter_event(e->gesture_manager, eo_obj, 
event_info);
 
-   _evas_smart_callback_legacy_git_er_done(eo_obj, efl_event_desc);
+   if (obj->is_smart)
+ _evas_object_smart_callback_call_internal(eo_obj, efl_event_desc);
 
if (!_evas_object_callback_has_by_type(obj, type))
  goto nothing_here;
diff --git a/src/lib/evas/canvas/evas_object_smart.c 
b/src/lib/evas/canvas/evas_object_smart.c
index 3e5cba9771..7950545507 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -51,6 +51,9 @@ struct _Evas_Smart_Data
Eina_Bool clipped : 1; /* If true, smart clipped */
Eina_Bool data_nofree : 1; /* If true, do NOT free the data */
Eina_Bool constructed : 1; /* constructor finished */
+   Eina_Bool cb_move : 1; /* has "move" cb added */
+   Eina_Bool cb_resize : 1; /* has "resize" cb added */
+   Eina_Bool cb_restack : 1; /* has "restack" cb added */
 };
 
 typedef struct
@@ -983,6 +986,35 @@ evas_object_smart_callback_add(Evas_Object *eo_obj, const 
char *event, Evas_Smar
  EVAS_CALLBACK_PRIORITY_DEFAULT, func, data);
 }
 
+static void
+_smart_cb_check(Evas_Smart_Data *o, const char *event)
+{
+   if (!o->cb_move)
+ {
+if (eina_streq(event, "move"))
+  {
+ o->cb_move = EINA_TRUE;
+ return;
+  }
+ }
+   if (!o->cb_resize)
+ {
+if (eina_streq(event, "resize"))
+  {
+ o->cb_resize = EINA_TRUE;
+ return;
+  }
+ }
+   if (!o->cb_restack)
+ {
+if (eina_streq(event, "restack"))
+  {
+ o->cb_restack = EINA_TRUE;
+ return;
+  }
+ }
+}
+
 EAPI void
 evas_object_smart_callback_priority_add(Evas_Object *eo_obj, const char 
*event, Evas_Callback_Priority priority, Evas_Smart_Cb func, const void *data)
 {
@@ -996,6 +1028,7 @@ evas_object_smart_callback_priority_add(Evas_Object 
*eo_obj, const char *event,
cb_info->func = func;
cb_info->data = (void *)data;
cb_info->event = eo_desc;
+   _smart_cb_check(o, event);
 
o->callbacks = eina_inlist_append(o->callbacks,
 EINA_INLIST_GET(cb_info));
@@ -1069,6 +1102,33 @@ evas_object_smart_callback_call(Evas_Object *eo_obj, 
const char *event,

[EGIT] [core/efl] master 06/11: evas/smart: inhibit smart member add/del callbacks when no subscribers exist

2019-10-14 Thread Mike Blumenkrantz
zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=78ea96af89b9178c01248f932fb093cb4b54b84b

commit 78ea96af89b9178c01248f932fb093cb4b54b84b
Author: Mike Blumenkrantz 
Date:   Mon Oct 14 09:29:57 2019 -0400

evas/smart: inhibit smart member add/del callbacks when no subscribers exist

Summary:
this is triggered a ton on app startup

ref T8321
Depends on D10357

Reviewers: bu5hm4n, cedric

Reviewed By: bu5hm4n, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10358
---
 src/lib/evas/canvas/evas_object_smart.c | 42 ++---
 1 file changed, 39 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_smart.c 
b/src/lib/evas/canvas/evas_object_smart.c
index f45f12e666..7f07d826e3 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -54,6 +54,8 @@ struct _Evas_Smart_Data
Eina_Bool cb_move : 1; /* has "move" cb added */
Eina_Bool cb_resize : 1; /* has "resize" cb added */
Eina_Bool cb_restack : 1; /* has "restack" cb added */
+   Eina_Bool cb_member_added : 1; /* has "member,added" cb added */
+   Eina_Bool cb_member_removed : 1; /* has "member,removed" cb added */
 };
 
 typedef struct
@@ -333,7 +335,8 @@ _efl_canvas_group_group_member_add(Eo *smart_obj, 
Evas_Smart_Data *o, Evas_Objec
if (smart->smart.smart && smart->smart.smart->smart_class->member_add)
  smart->smart.smart->smart_class->member_add(smart_obj, eo_obj);
evas_object_update_bounding_box(eo_obj, obj, member_o);
-   efl_event_callback_call(smart_obj, EFL_CANVAS_GROUP_EVENT_MEMBER_ADDED, 
eo_obj);
+   if (o->cb_member_added)
+ efl_event_callback_call(smart_obj, EFL_CANVAS_GROUP_EVENT_MEMBER_ADDED, 
eo_obj);
 }
 
 EAPI void
@@ -350,7 +353,7 @@ evas_object_smart_member_del(Evas_Object *eo_obj)
 }
 
 EOLIAN static void
-_efl_canvas_group_group_member_remove(Eo *smart_obj, Evas_Smart_Data *_pd 
EINA_UNUSED, Evas_Object *eo_obj)
+_efl_canvas_group_group_member_remove(Eo *smart_obj, Evas_Smart_Data *sd, 
Evas_Object *eo_obj)
 {
Evas_Object_Protected_Data *obj = efl_data_scope_safe_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
Evas_Object_Protected_Data *smart;
@@ -360,7 +363,8 @@ _efl_canvas_group_group_member_remove(Eo *smart_obj, 
Evas_Smart_Data *_pd EINA_U
 
evas_object_async_block(obj);
 
-   efl_event_callback_call(smart_obj, EFL_CANVAS_GROUP_EVENT_MEMBER_REMOVED, 
eo_obj);
+   if (sd->cb_member_removed)
+ efl_event_callback_call(smart_obj, EFL_CANVAS_GROUP_EVENT_MEMBER_REMOVED, 
eo_obj);
 
smart = efl_data_scope_get(smart_obj, EFL_CANVAS_OBJECT_CLASS);
if (smart->smart.smart && smart->smart.smart->smart_class->member_del)
@@ -1920,7 +1924,37 @@ _efl_canvas_group_group_clipped_set(Eo *eo_obj 
EINA_UNUSED, Evas_Smart_Data *sd,
 }
 
 /* Internal EO APIs */
+EOLIAN static Eina_Bool
+_efl_canvas_group_efl_object_event_callback_priority_add(Eo *obj, 
Evas_Smart_Data *sd, const Efl_Event_Description *desc, Efl_Callback_Priority 
priority, Efl_Event_Cb func, const void *user_data)
+{
+  if (desc == EFL_CANVAS_GROUP_EVENT_MEMBER_ADDED)
+{
+   sd->cb_member_added = EINA_TRUE;
+}
+  else if (desc == EFL_CANVAS_GROUP_EVENT_MEMBER_REMOVED)
+{
+   sd->cb_member_added = EINA_TRUE;
+}
+
+  return efl_event_callback_priority_add(efl_super(obj, MY_CLASS), desc, 
priority, func, user_data);
+}
 
+EOLIAN static Eina_Bool
+_efl_canvas_group_efl_object_event_callback_array_priority_add(Eo *obj, 
Evas_Smart_Data *sd, const Efl_Callback_Array_Item *array, 
Efl_Callback_Priority priority, const void *user_data)
+{
+   for (int i = 0; array[i].desc; ++i)
+ {
+if (array[i].desc == EFL_CANVAS_GROUP_EVENT_MEMBER_ADDED)
+  {
+ sd->cb_member_added = EINA_TRUE;
+  }
+else if (array[i].desc == EFL_CANVAS_GROUP_EVENT_MEMBER_REMOVED)
+  {
+ sd->cb_member_removed = EINA_TRUE;
+  }
+ }
+   return efl_event_callback_array_priority_add(efl_super(obj, MY_CLASS), 
array, priority, user_data);
+}
 EOAPI EFL_VOID_FUNC_BODY(efl_canvas_group_add)
 EOAPI EFL_VOID_FUNC_BODY(efl_canvas_group_del)
 EOAPI EFL_VOID_FUNC_BODYV(efl_canvas_group_clipped_set, EFL_FUNC_CALL(enable), 
Eina_Bool enable)
@@ -1928,6 +1962,8 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_canvas_group_clipped_set, 
EFL_FUNC_CALL(enable), E
 #define EFL_CANVAS_GROUP_EXTRA_OPS \
EFL_OBJECT_OP_FUNC(efl_canvas_group_add, _efl_canvas_group_group_add), \
EFL_OBJECT_OP_FUNC(efl_canvas_group_del, _efl_canvas_group_group_del), \
+   EFL_OBJECT_OP_FUNC(efl_event_callback_priority_add, 
_efl_canvas_group_efl_object_event_callback_priority_add), \
+   EFL_OBJECT_OP_FUNC(efl_event_callback_array_priority_add, 
_efl_canvas_group_efl_object_event_callback_arr

[EGIT] [core/efl] master 07/11: ecore: inhibit "idle" event emission if no subscribers exist

2019-10-14 Thread Mike Blumenkrantz
zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8c6b26af015ac12da60c7fc52b68a2e0401b4ea3

commit 8c6b26af015ac12da60c7fc52b68a2e0401b4ea3
Author: Mike Blumenkrantz 
Date:   Mon Oct 14 09:30:03 2019 -0400

ecore: inhibit "idle" event emission if no subscribers exist

Summary:
it seems like this was intended to be handled already, but somehow it 
wasn't...

ref T8321
Depends on D10358

Reviewers: cedric

Reviewed By: cedric

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10359
---
 src/lib/ecore/ecore_main.c | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c
index e898b6e0f3..cdd51209a0 100644
--- a/src/lib/ecore/ecore_main.c
+++ b/src/lib/ecore/ecore_main.c
@@ -528,9 +528,10 @@ _ecore_main_idlers_exist(Efl_Loop_Data *pd)
 }
 
 static void
-_ecore_main_idler_all_call(Eo *loop)
+_ecore_main_idler_all_call(Eo *loop, Efl_Loop_Data *pd)
 {
-   efl_event_callback_call(loop, EFL_LOOP_EVENT_IDLE, NULL);
+   if (pd->idlers)
+ efl_event_callback_call(loop, EFL_LOOP_EVENT_IDLE, NULL);
// just spin in an idler until the free queue is empty freeing 84 items
// from the free queue each time.for now this seems like an ok balance
// between going in and out of a reduce func with mutexes around it
@@ -803,7 +804,7 @@ _ecore_main_gsource_dispatch(GSource*source EINA_UNUSED,
 
if (ecore_idling)
  {
-_ecore_main_idler_all_call(obj);
+_ecore_main_idler_all_call(obj, pd);
 
 events_ready = pd->message_queue ? 1 : 0;
 
@@ -2236,7 +2237,7 @@ _ecore_main_loop_uv_prepare(uv_prepare_t *handle 
EINA_UNUSED)
 
if (_ecore_main_uv_idling)
  {
-_ecore_main_idler_all_call(obj);
+_ecore_main_idler_all_call(obj, pd);
 DBG("called idles");
 if (_ecore_main_idlers_exist(pd) || (pd->message_queue)) t = 0.0;
  }
@@ -2300,7 +2301,7 @@ _ecore_main_loop_spin_core(Eo *obj, Efl_Loop_Data *pd)
// as we are spinning we need to update loop time per spin
_update_loop_time(pd);
// call all idlers
-   _ecore_main_idler_all_call(obj);
+   _ecore_main_idler_all_call(obj, pd);
// which returns false if no more idelrs exist
if (!_ecore_main_idlers_exist(pd)) return SPIN_RESTART;
// sneaky - drop through or if checks - the first one to succeed

-- 




[EGIT] [core/efl] master 10/11: elm/layout: add some workarounds to try handling legacy min sizes

2019-10-14 Thread Mike Blumenkrantz
zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=95b5731461c53df2691ef43db61f321de5b366d3

commit 95b5731461c53df2691ef43db61f321de5b366d3
Author: Mike Blumenkrantz 
Date:   Mon Oct 14 09:30:23 2019 -0400

elm/layout: add some workarounds to try handling legacy min sizes

Summary:
if a legacy widget calls evas_object_size_hint_min_set, this actually sets
efl_gfx_hint_size_restricted_min now, which is supposed to be the hint that
is used internally by widgets. as a result, there is a conflict between the
size which the user expects and the size which the widget tries to 
calculate.

the user size should always be respected, however, so this adds some 
tracking
to determine whether the layout's min size was set by the layout during its 
own
calc or by something externally

@fix

Reviewers: eagleeye, CHAN, woohyun, Jaehyun_Cho, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10373
---
 src/lib/elementary/efl_ui_layout.c   | 18 --
 src/lib/elementary/efl_ui_layout_legacy_eo.c |  1 +
 src/lib/elementary/elm_widget_layout.h   |  2 ++
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/lib/elementary/efl_ui_layout.c 
b/src/lib/elementary/efl_ui_layout.c
index 25a09a1503..28e99a1c84 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -175,6 +175,7 @@ _sizing_eval(Evas_Object *obj, Efl_Ui_Layout_Data *sd, 
Elm_Layout_Data *ld)
ELM_WIDGET_DATA_GET_OR_RETURN(sd->obj, wd);
 
if (!efl_alive_get(obj)) return;
+   if (ld) ld->in_calc = EINA_TRUE;
 
if (sd->calc_subobjs && 
!evas_smart_objects_calculating_get(evas_object_evas_get(obj)))
  {
@@ -186,7 +187,7 @@ _sizing_eval(Evas_Object *obj, Efl_Ui_Layout_Data *sd, 
Elm_Layout_Data *ld)
  }
elm_coords_finger_size_adjust(sd->finger_size_multiplier_x, &rest_w,
  sd->finger_size_multiplier_y, &rest_h);
-   if (ld)
+   if (ld && ld->user_min_sz)
  sz = efl_gfx_hint_size_combined_min_get(obj);
else
  sz = efl_gfx_hint_size_min_get(obj);
@@ -218,7 +219,7 @@ _sizing_eval(Evas_Object *obj, Efl_Ui_Layout_Data *sd, 
Elm_Layout_Data *ld)
efl_gfx_hint_size_restricted_min_set(obj, EINA_SIZE2D(minw, minh));
 
if (ld)
- ld->restricted_calc_w = ld->restricted_calc_h = EINA_FALSE;
+ ld->in_calc = ld->restricted_calc_w = ld->restricted_calc_h = EINA_FALSE;
 }
 
 void
@@ -1918,6 +1919,19 @@ _elm_layout_efl_canvas_group_change(Eo *obj, 
Elm_Layout_Data *ld)
efl_canvas_group_change(efl_super(obj, ELM_LAYOUT_MIXIN));
 }
 
+EOLIAN static void
+_elm_layout_efl_gfx_hint_size_restricted_min_set(Eo *obj, Elm_Layout_Data *ld, 
Eina_Size2D sz)
+{
+   /* correctly handle legacy case where the user has set a min size hint on 
the object:
+* in legacy code, only restricted_min existed, which resulted in conflicts 
between
+* internal sizing and user-expected sizing. we attempt to simulate this 
now in a more controlled
+* manner by only checking this hint during sizing calcs if the user has 
set it
+*/
+   if (!ld->in_calc)
+ ld->user_min_sz = (sz.w > 0) || (sz.h > 0);
+   efl_gfx_hint_size_restricted_min_set(efl_super(obj, ELM_LAYOUT_MIXIN), sz);
+}
+
 /* layout's sizing evaluation is deferred. evaluation requests are
  * queued up and only flag the object as 'changed'. when it comes to
  * Evas's rendering phase, it will be addressed, finally (see
diff --git a/src/lib/elementary/efl_ui_layout_legacy_eo.c 
b/src/lib/elementary/efl_ui_layout_legacy_eo.c
index 33056b5c03..e08568e57d 100644
--- a/src/lib/elementary/efl_ui_layout_legacy_eo.c
+++ b/src/lib/elementary/efl_ui_layout_legacy_eo.c
@@ -50,6 +50,7 @@ _elm_layout_class_initializer(Efl_Class *klass)
EFL_OPS_DEFINE(ops,
   EFL_OBJECT_OP_FUNC(elm_layout_sizing_eval, _elm_layout_sizing_eval),
   EFL_OBJECT_OP_FUNC(efl_canvas_group_change, 
_elm_layout_efl_canvas_group_change),
+  EFL_OBJECT_OP_FUNC(efl_gfx_hint_size_restricted_min_set, 
_elm_layout_efl_gfx_hint_size_restricted_min_set),
   ELM_LAYOUT_EXTRA_OPS
);
opsp = &ops;
diff --git a/src/lib/elementary/elm_widget_layout.h 
b/src/lib/elementary/elm_widget_layout.h
index 19e3b44d27..839bb06131 100644
--- a/src/lib/elementary/elm_widget_layout.h
+++ b/src/lib/elementary/elm_widget_layout.h
@@ -82,6 +82,8 @@ typedef struct _Elm_Layout_Data
Eina_Bool needs_size_calc : 1; /**< This flag is set true when 
the layout sizing eval is already requested. This defers sizing evaluation 
until smart calculation to avoid unnecessary calculation. */
Eina_Bool restricted_calc_w : 1; /**< This is a flag to support 
edje restricted_calc in w axis. */
Eina_Bool restricted_calc_h : 1; /**< This is a flag to support 
edje restrict

[EGIT] [core/efl] master 01/11: evas/callbacks: emit hardcoded legacy smart callbacks always

2019-10-14 Thread Mike Blumenkrantz
zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e96d18b0462b77d051424d6ff510c5d5e3c3140b

commit e96d18b0462b77d051424d6ff510c5d5e3c3140b
Author: Mike Blumenkrantz 
Date:   Mon Oct 14 09:29:23 2019 -0400

evas/callbacks: emit hardcoded legacy smart callbacks always

Summary:
these are not strictly related to the event callback types and should not
have their emission tied to the corresponding event

also add unit test to verify all of these

@fix

Reviewers: cedric

Reviewed By: cedric

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10353
---
 src/lib/evas/canvas/evas_callbacks.c | 11 +--
 src/tests/evas/evas_test_callbacks.c | 25 +
 2 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_callbacks.c 
b/src/lib/evas/canvas/evas_callbacks.c
index 35ef78aef2..1f86f63168 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -348,7 +348,7 @@ evas_event_callback_call(Evas *eo_e, Evas_Callback_Type 
type, void *event_info)
 }
 
 static void
-_evas_callback_legacy_smart_compatibility_do_it(Evas_Object *eo_obj, const 
Efl_Event_Description *efl_event_desc, void *event_info)
+_evas_smart_callback_legacy_git_er_done(Evas_Object *eo_obj, const 
Efl_Event_Description *efl_event_desc)
 {
if (efl_event_desc == EFL_GFX_ENTITY_EVENT_POSITION_CHANGED)
  evas_object_smart_callback_call(eo_obj, "move", NULL);
@@ -356,8 +356,13 @@ 
_evas_callback_legacy_smart_compatibility_do_it(Evas_Object *eo_obj, const Efl_E
  evas_object_smart_callback_call(eo_obj, "resize", NULL);
else if (efl_event_desc == EFL_GFX_ENTITY_EVENT_STACKING_CHANGED)
  evas_object_smart_callback_call(eo_obj, "restack", NULL);
+}
+
+static void
+_evas_callback_legacy_smart_compatibility_do_it(Evas_Object *eo_obj, const 
Efl_Event_Description *efl_event_desc, void *event_info)
+{
/* this is inverted: the base call is the legacy compat and this is the new 
event */
-   else if ((efl_event_desc == EFL_GFX_ENTITY_EVENT_SHOW) || (efl_event_desc 
== EFL_GFX_ENTITY_EVENT_HIDE))
+   if ((efl_event_desc == EFL_GFX_ENTITY_EVENT_SHOW) || (efl_event_desc == 
EFL_GFX_ENTITY_EVENT_HIDE))
  efl_event_callback_call(eo_obj, EFL_GFX_ENTITY_EVENT_VISIBILITY_CHANGED, 
event_info);
else if ((efl_event_desc == EFL_GFX_IMAGE_EVENT_IMAGE_PRELOAD) || 
(efl_event_desc == EFL_GFX_IMAGE_EVENT_IMAGE_UNLOAD))
  efl_event_callback_call(eo_obj, 
EFL_GFX_IMAGE_EVENT_IMAGE_PRELOAD_STATE_CHANGED, event_info);
@@ -403,6 +408,8 @@ evas_object_event_callback_call(Evas_Object *eo_obj, 
Evas_Object_Protected_Data
 type == EVAS_CALLBACK_MULTI_UP)
  _efl_canvas_gesture_manager_filter_event(e->gesture_manager, eo_obj, 
event_info);
 
+   _evas_smart_callback_legacy_git_er_done(eo_obj, efl_event_desc);
+
if (!_evas_object_callback_has_by_type(obj, type))
  goto nothing_here;
 
diff --git a/src/tests/evas/evas_test_callbacks.c 
b/src/tests/evas/evas_test_callbacks.c
index 0b61ca55a2..58da305657 100644
--- a/src/tests/evas/evas_test_callbacks.c
+++ b/src/tests/evas/evas_test_callbacks.c
@@ -145,8 +145,33 @@ EFL_START_TEST(evas_event_callbacks_priority)
 }
 EFL_END_TEST
 
+static void
+_smart_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
+{
+   int *called = data;
+
+   (*called)++;
+}
+
+EFL_START_TEST(evas_event_callbacks_smart)
+{
+   int called = 0;
+   Eo *box;
+   START_CALLBACK_TEST();
+   box = evas_object_box_add(evas);
+   evas_object_smart_callback_add(box, "move", _smart_cb, &called);
+   evas_object_smart_callback_add(box, "resize", _smart_cb, &called);
+   evas_object_smart_callback_add(box, "restack", _smart_cb, &called);
+   evas_object_geometry_set(box, 1, 1, 10, 10);
+   evas_object_layer_set(box, 10);
+   ck_assert_int_eq(called, 3);
+   END_CALLBACK_TEST();
+}
+EFL_END_TEST
+
 void evas_test_callbacks(TCase *tc)
 {
tcase_add_test(tc, evas_object_event_callbacks_priority);
tcase_add_test(tc, evas_event_callbacks_priority);
+   tcase_add_test(tc, evas_event_callbacks_smart);
 }

-- 




[EGIT] [core/efl] master 05/11: edje: block "recalc" event emission if it isn't being subscribed to

2019-10-14 Thread Mike Blumenkrantz
zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b1a2d82417e5c1bbd89835c63b84c500e313df5b

commit b1a2d82417e5c1bbd89835c63b84c500e313df5b
Author: Mike Blumenkrantz 
Date:   Mon Oct 14 09:29:50 2019 -0400

edje: block "recalc" event emission if it isn't being subscribed to

Summary:
this gets called a ton

ref T8321
Depends on D10356

Reviewers: bu5hm4n, cedric

Reviewed By: bu5hm4n, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10357
---
 src/lib/edje/edje_calc.c|  2 +-
 src/lib/edje/edje_private.h |  1 +
 src/lib/edje/edje_smart.c   | 24 
 3 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index 174033c925..091a27e3ad 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -1043,7 +1043,7 @@ _edje_recalc_do(Edje *ed)
 #endif
if (!ed->calc_only)
  {
-if (ed->recalc_call)
+if (ed->recalc_call && ed->has_recalc_event_cb)
   efl_event_callback_legacy_call(ed->obj, EFL_LAYOUT_EVENT_RECALC, 
NULL);
  }
else
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 3487f2..6893dd36df 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -1802,6 +1802,7 @@ struct _Edje
Eina_Bool  need_map_update : 1;
Eina_Bool  canvas_animator : 1;
Eina_Bool  has_state_clip : 1;
+   Eina_Bool  has_recalc_event_cb : 1;
 };
 
 struct _Edje_Calc_Params_Map
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index de2575c6a6..ff023f8cb7 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -601,9 +601,33 @@ _efl_canvas_layout_efl_player_playback_speed_get(const Eo 
*obj EINA_UNUSED, Edje
 }
 
 /* Internal EO APIs and hidden overrides */
+EOLIAN static Eina_Bool
+_efl_canvas_layout_efl_object_event_callback_priority_add(Eo *obj, Edje *pd, 
const Efl_Event_Description *desc, Efl_Callback_Priority priority, Efl_Event_Cb 
func, const void *user_data)
+{
+  if (desc == EFL_LAYOUT_EVENT_RECALC)
+{
+   pd->has_recalc_event_cb = EINA_TRUE;
+}
+
+  return efl_event_callback_priority_add(efl_super(obj, MY_CLASS), desc, 
priority, func, user_data);
+}
 
+EOLIAN static Eina_Bool
+_efl_canvas_layout_efl_object_event_callback_array_priority_add(Eo *obj, Edje 
*pd, const Efl_Callback_Array_Item *array, Efl_Callback_Priority priority, 
const void *user_data)
+{
+   for (int i = 0; array[i].desc; ++i)
+ {
+if (array[i].desc == EFL_LAYOUT_EVENT_RECALC)
+  {
+ pd->has_recalc_event_cb = EINA_TRUE;
+  }
+ }
+   return efl_event_callback_array_priority_add(efl_super(obj, MY_CLASS), 
array, priority, user_data);
+}
 #define EFL_CANVAS_LAYOUT_EXTRA_OPS \
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_canvas_layout), \
+   EFL_OBJECT_OP_FUNC(efl_event_callback_priority_add, 
_efl_canvas_layout_efl_object_event_callback_priority_add), \
+   EFL_OBJECT_OP_FUNC(efl_event_callback_array_priority_add, 
_efl_canvas_layout_efl_object_event_callback_array_priority_add), \
EFL_OBJECT_OP_FUNC(efl_dbg_info_get, 
_efl_canvas_layout_efl_object_dbg_info_get)
 
 #include "efl_canvas_layout.eo.c"

-- 




[EGIT] [core/efl] master 09/11: evas/render: selectively inhibit render callbacks

2019-10-14 Thread Mike Blumenkrantz
zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=dc5c17a104c9be1939881852ee76668d7bf693ac

commit dc5c17a104c9be1939881852ee76668d7bf693ac
Author: Mike Blumenkrantz 
Date:   Mon Oct 14 09:30:17 2019 -0400

evas/render: selectively inhibit render callbacks

Summary:
only call these if they are subscribed to now

ref T8321

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10361
---
 src/lib/evas/canvas/evas_main.c | 36 
 src/lib/evas/canvas/evas_render.c   | 32 
 src/lib/evas/include/evas_private.h |  5 +
 3 files changed, 65 insertions(+), 8 deletions(-)

diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c
index d246bdc60b..92c9ed2334 100644
--- a/src/lib/evas/canvas/evas_main.c
+++ b/src/lib/evas/canvas/evas_main.c
@@ -2014,5 +2014,41 @@ EWAPI const Efl_Event_Description 
_EVAS_CANVAS_EVENT_AXIS_UPDATE =
 EWAPI const Efl_Event_Description _EVAS_CANVAS_EVENT_VIEWPORT_RESIZE =
EFL_EVENT_DESCRIPTION("viewport,resize");
 
+#define CHECK_ADD(var, ev, member) \
+  if ((var) == (ev)) \
+{ \
+   e->member = EINA_TRUE; \
+}
+
+
+EOLIAN static Eina_Bool
+_evas_canvas_efl_object_event_callback_priority_add(Eo *obj, Evas_Public_Data 
*e, const Efl_Event_Description *desc, Efl_Callback_Priority priority, 
Efl_Event_Cb func, const void *user_data)
+{
+   CHECK_ADD(desc, EVAS_CANVAS_EVENT_RENDER_FLUSH_PRE, cb_render_flush_pre)
+   else CHECK_ADD(desc, EVAS_CANVAS_EVENT_RENDER_FLUSH_POST, 
cb_render_flush_post)
+   else CHECK_ADD(desc, EFL_CANVAS_SCENE_EVENT_RENDER_PRE, cb_render_pre)
+   else CHECK_ADD(desc, EFL_CANVAS_SCENE_EVENT_RENDER_POST, cb_render_post)
+
+   return efl_event_callback_priority_add(efl_super(obj, MY_CLASS), desc, 
priority, func, user_data);
+}
+
+EOLIAN static Eina_Bool
+_evas_canvas_efl_object_event_callback_array_priority_add(Eo *obj, 
Evas_Public_Data *e, const Efl_Callback_Array_Item *array, 
Efl_Callback_Priority priority, const void *user_data)
+{
+   for (int i = 0; array[i].desc; ++i)
+ {
+CHECK_ADD(array[i].desc, EVAS_CANVAS_EVENT_RENDER_FLUSH_PRE, 
cb_render_flush_pre)
+else CHECK_ADD(array[i].desc, EVAS_CANVAS_EVENT_RENDER_FLUSH_POST, 
cb_render_flush_post)
+else CHECK_ADD(array[i].desc, EFL_CANVAS_SCENE_EVENT_RENDER_PRE, 
cb_render_pre)
+else CHECK_ADD(array[i].desc, EFL_CANVAS_SCENE_EVENT_RENDER_POST, 
cb_render_post)
+ }
+   return efl_event_callback_array_priority_add(efl_super(obj, MY_CLASS), 
array, priority, user_data);
+}
+#undef CHECK_ADD
+#define EVAS_CANVAS_EXTRA_OPS \
+   EFL_OBJECT_OP_FUNC(efl_event_callback_priority_add, 
_evas_canvas_efl_object_event_callback_priority_add), \
+   EFL_OBJECT_OP_FUNC(efl_event_callback_array_priority_add, 
_evas_canvas_efl_object_event_callback_array_priority_add)
+
+
 #include "evas_stack.x"
 #include "canvas/evas_canvas_eo.c"
diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 4895517c1a..70ed55a953 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -2762,10 +2762,26 @@ _drop_image_cache_ref(const void *container 
EINA_UNUSED, void *data, void *fdata
 }
 
 static void
-_cb_always_call(Evas *eo_e, Evas_Callback_Type type, void *event_info)
+_cb_always_call(Evas *eo_e, Evas_Public_Data *e, Evas_Callback_Type type, void 
*event_info)
 {
int freeze_num = 0, i;
 
+   switch (type)
+ {
+  case EVAS_CALLBACK_RENDER_PRE:
+if (!e->cb_render_pre) return;
+break;
+  case EVAS_CALLBACK_RENDER_POST:
+if (!e->cb_render_post) return;
+break;
+  case EVAS_CALLBACK_RENDER_FLUSH_PRE:
+if (!e->cb_render_flush_pre) return;
+break;
+  case EVAS_CALLBACK_RENDER_FLUSH_POST:
+if (!e->cb_render_flush_post) return;
+break;
+  default: break;
+ }
freeze_num = efl_event_freeze_count_get(eo_e);
for (i = 0; i < freeze_num; i++) efl_event_thaw(eo_e);
evas_event_callback_call(eo_e, type, event_info);
@@ -3277,7 +3293,7 @@ evas_render_updates_internal(Evas *eo_e,
 
RD(0, "[--- RENDER EVAS (size: %ix%i): %p (eo %p)\n", e->viewport.w, 
e->viewport.h, e, eo_e);
 
-   _cb_always_call(eo_e, EVAS_CALLBACK_RENDER_PRE, NULL);
+   _cb_always_call(eo_e, e, EVAS_CALLBACK_RENDER_PRE, NULL);
 
/* Check if the modified object mean recalculating every thing */
if (!e->invalidate)
@@ -3596,7 +3612,7 @@ evas_render_updates_internal(Evas *eo_e,
   efl_ref(eo_e);
   _rendering_evases = eina_list_prepend(_rendering_evases, e);
   e->rendering = _rendering_evases;
-  _cb_always_call(eo_e, EVAS_CALLBACK_RENDER_FLUSH_PRE, NULL);
+

[EGIT] [core/efl] master 08/11: efl_ui/layout: selectively inhibit theme, changed event

2019-10-14 Thread Mike Blumenkrantz
zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7ad8acc290f078aa9d2bfd32ec15a4e5677ab01f

commit 7ad8acc290f078aa9d2bfd32ec15a4e5677ab01f
Author: Mike Blumenkrantz 
Date:   Mon Oct 14 09:30:10 2019 -0400

efl_ui/layout: selectively inhibit theme,changed event

Summary:
this is called a ton.

ref T8321
Depends on D10359

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10360
---
 src/lib/elementary/efl_ui_layout.c | 30 +-
 src/lib/elementary/elm_widget_layout.h |  1 +
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_layout.c 
b/src/lib/elementary/efl_ui_layout.c
index 5719d23c9f..25a09a1503 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -537,7 +537,10 @@ _efl_ui_layout_theme_internal(Eo *obj, Efl_Ui_Layout_Data 
*sd, Elm_Widget_Smart_
  }
 
if (ret != EFL_UI_THEME_APPLY_ERROR_GENERIC)
- efl_event_callback_legacy_call(obj, EFL_UI_LAYOUT_EVENT_THEME_CHANGED, 
NULL);
+ {
+if (sd->cb_theme_changed)
+  efl_event_callback_legacy_call(obj, 
EFL_UI_LAYOUT_EVENT_THEME_CHANGED, NULL);
+ }
 
if (!_visuals_refresh(obj, sd))
  ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
@@ -2955,6 +2958,29 @@ _efl_ui_layout_base_theme_rotation_apply(Eo *obj, 
Efl_Ui_Layout_Data *pd EINA_UN
 
 
 /* Internal EO APIs and hidden overrides */
+EOLIAN static Eina_Bool
+_efl_ui_layout_base_efl_object_event_callback_priority_add(Eo *obj, 
Efl_Ui_Layout_Data *pd, const Efl_Event_Description *desc, 
Efl_Callback_Priority priority, Efl_Event_Cb func, const void *user_data)
+{
+  if (desc == EFL_CANVAS_GROUP_EVENT_MEMBER_ADDED)
+{
+   pd->cb_theme_changed = EINA_TRUE;
+}
+
+  return efl_event_callback_priority_add(efl_super(obj, MY_CLASS), desc, 
priority, func, user_data);
+}
+
+EOLIAN static Eina_Bool
+_efl_ui_layout_base_efl_object_event_callback_array_priority_add(Eo *obj, 
Efl_Ui_Layout_Data *pd, const Efl_Callback_Array_Item *array, 
Efl_Callback_Priority priority, const void *user_data)
+{
+   for (int i = 0; array[i].desc; ++i)
+ {
+if (array[i].desc == EFL_CANVAS_GROUP_EVENT_MEMBER_ADDED)
+  {
+ pd->cb_theme_changed = EINA_TRUE;
+  }
+ }
+   return efl_event_callback_array_priority_add(efl_super(obj, MY_CLASS), 
array, priority, user_data);
+}
 
 EFL_FUNC_BODY_CONST(efl_ui_layout_text_aliases_get, const 
Elm_Layout_Part_Alias_Description *, NULL)
 EFL_FUNC_BODY_CONST(efl_ui_layout_content_aliases_get, const 
Elm_Layout_Part_Alias_Description *, NULL)
@@ -2968,6 +2994,8 @@ EFL_UI_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
ELM_PART_TEXT_DEFAULT_OPS(efl_ui_layout_base), \
EFL_UI_LAYOUT_CONTENT_ALIASES_OPS(MY_CLASS_PFX), \
EFL_UI_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX), \
+   EFL_OBJECT_OP_FUNC(efl_event_callback_priority_add, 
_efl_ui_layout_base_efl_object_event_callback_priority_add), \
+   EFL_OBJECT_OP_FUNC(efl_event_callback_array_priority_add, 
_efl_ui_layout_base_efl_object_event_callback_array_priority_add), \
EFL_OBJECT_OP_FUNC(efl_dbg_info_get, 
_efl_ui_layout_base_efl_object_dbg_info_get)
 
 
diff --git a/src/lib/elementary/elm_widget_layout.h 
b/src/lib/elementary/elm_widget_layout.h
index 299fdc11a6..19e3b44d27 100644
--- a/src/lib/elementary/elm_widget_layout.h
+++ b/src/lib/elementary/elm_widget_layout.h
@@ -74,6 +74,7 @@ typedef struct _Efl_Ui_Layout_Data
Eina_Bool model_bound : 1; /**< Set to true once we are 
watching over a model*/
Eina_Bool model_watch : 1; /**< Set to true once we do watch 
for model change*/
Eina_Bool calc_subobjs : 1; /**< Set to true if group_calc 
should also handle subobjs during manual calc */
+   Eina_Bool cb_theme_changed : 1; /**< if theme,changed event 
subscriber has been added */
 } Efl_Ui_Layout_Data;
 
 typedef struct _Elm_Layout_Data

-- 




[EGIT] [core/efl] master 11/11: ecore_con: use only Eina_Magic infrastructure for set and check in Ecore_Con_Url.

2019-10-14 Thread Cedric BAIL
zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=18de24baeb17b13d1f0719db66253f2c001ab283

commit 18de24baeb17b13d1f0719db66253f2c001ab283
Author: Cedric BAIL 
Date:   Mon Oct 14 09:38:23 2019 -0400

ecore_con: use only Eina_Magic infrastructure for set and check in 
Ecore_Con_Url.

Summary:
We can not have half our code rely on Ecore magic check and the other half
use Eina_Magic or this will lead to inconsistency with Eina_Magic 
definition.

Reviewers: zmike, segfaultxavi, bu5hm4n, raster

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10383
---
 src/lib/ecore_con/ecore_con_url.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ecore_con/ecore_con_url.c 
b/src/lib/ecore_con/ecore_con_url.c
index 27b391c32d..c92af111c9 100644
--- a/src/lib/ecore_con/ecore_con_url.c
+++ b/src/lib/ecore_con/ecore_con_url.c
@@ -159,7 +159,7 @@ struct _Ecore_Con_Url
 #define ECORE_CON_URL_CHECK_RETURN(u, ...) \
   do \
 { \
-   if (!ECORE_MAGIC_CHECK(u, ECORE_MAGIC_CON_URL)) \
+   if (!EINA_MAGIC_CHECK(u, ECORE_MAGIC_CON_URL)) \
  { \
 ECORE_MAGIC_FAIL(u, ECORE_MAGIC_CON_URL, __FUNCTION__); \
 return __VA_ARGS__; \

-- 




[EGIT] [core/efl] master 02/11: eo: block "invalidate" event emission when there are no subscribers

2019-10-14 Thread Mike Blumenkrantz
zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8218fb0e2030c49ed92acd7431f57ef41d367ab7

commit 8218fb0e2030c49ed92acd7431f57ef41d367ab7
Author: Mike Blumenkrantz 
Date:   Mon Oct 14 09:29:30 2019 -0400

eo: block "invalidate" event emission when there are no subscribers

Summary:
this should be handled like the rest of eo internal events

ref T8321
Depends on D10353

Reviewers: bu5hm4n, cedric

Reviewed By: bu5hm4n, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10354
---
 src/lib/eo/eo_base_class.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index 782a57f52e..67deec898a 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -61,6 +61,7 @@ struct _Efl_Object_Data
unsigned short event_cb_efl_event_callback_del_count;
unsigned short event_cb_efl_event_del_count;
unsigned short event_cb_efl_event_noref_count;
+   unsigned short event_cb_efl_event_invalidate_count;
Eina_Bool  callback_stopped : 1;
Eina_Bool  need_cleaning : 1;
Eina_Bool  allow_parent_unref : 1; // Allows unref to zero 
even with a parent
@@ -1228,6 +1229,8 @@ _special_event_count_inc(Eo *obj_id, Efl_Object_Data *pd, 
const Efl_Callback_Arr
 
 CB_COUNT_INC(pd->event_cb_efl_event_noref_count);
  }
+   else if (it->desc == EFL_EVENT_INVALIDATE)
+ CB_COUNT_INC(pd->event_cb_efl_event_invalidate_count);
else if (it->desc == EFL_EVENT_DESTRUCT)
  pd->has_destroyed_event_cb = EINA_TRUE;
else if (it->desc == EFL_EVENT_OWNERSHIP_SHARED || it->desc == 
EFL_EVENT_OWNERSHIP_UNIQUE)
@@ -1247,6 +1250,8 @@ _special_event_count_dec(Eo *obj_id, Efl_Object_Data *pd, 
const Efl_Callback_Arr
  CB_COUNT_DEC(pd->event_cb_efl_event_callback_del_count);
else if (it->desc == EFL_EVENT_DEL)
  CB_COUNT_DEC(pd->event_cb_efl_event_del_count);
+   else if (it->desc == EFL_EVENT_INVALIDATE)
+ CB_COUNT_DEC(pd->event_cb_efl_event_invalidate_count);
else if (it->desc == EFL_EVENT_NOREF)
  {
 CB_COUNT_DEC(pd->event_cb_efl_event_noref_count);
@@ -1685,6 +1690,8 @@ _event_callback_call(Eo *obj_id, Efl_Object_Data *pd,
 (pd->event_cb_efl_event_callback_del_count == 0)) return 
EINA_FALSE;
else if ((desc == EFL_EVENT_DEL) &&
 (pd->event_cb_efl_event_del_count == 0)) return EINA_FALSE;
+   else if ((desc == EFL_EVENT_INVALIDATE) &&
+(pd->event_cb_efl_event_invalidate_count == 0)) return EINA_FALSE;
else if ((desc == EFL_EVENT_NOREF) &&
 (pd->event_cb_efl_event_noref_count == 0)) return EINA_FALSE;
 

-- 




[EGIT] [core/efl] master 04/11: evas/smart: print actual errors when smart api functions are called on non-smarts

2019-10-14 Thread Mike Blumenkrantz
zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f174bf2eb23c4353f907e991ab871b5f191de48e

commit f174bf2eb23c4353f907e991ab871b5f191de48e
Author: Mike Blumenkrantz 
Date:   Mon Oct 14 09:29:43 2019 -0400

evas/smart: print actual errors when smart api functions are called on 
non-smarts

Summary:
this is an error, and it should be printed
Depends on D10355

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10356
---
 src/lib/evas/canvas/evas_object_smart.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_smart.c 
b/src/lib/evas/canvas/evas_object_smart.c
index 7950545507..f45f12e666 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -11,7 +11,7 @@
 
 #define EVAS_OBJECT_SMART_GET_OR_RETURN(eo_obj, ...) \
Evas_Smart_Data *o = efl_data_scope_safe_get(eo_obj, MY_CLASS); \
-   do { if (!o) { MAGIC_CHECK_FAILED(eo_obj,0,MAGIC_SMART) return __VA_ARGS__; 
} } while (0)
+   do { if (!o) { ERR("calling smart object API on non-smart object!"); return 
__VA_ARGS__; } } while (0)
 
 extern Eina_Hash* signals_hash_table;
 
@@ -1615,7 +1615,7 @@ evas_object_smart_cleanup(Evas_Object *eo_obj)
   }
 
 evas_smart_cb_descriptions_resize(&o->callbacks_descriptions, 0);
-evas_object_smart_data_set(eo_obj, NULL);
+if (o->data) evas_object_smart_data_set(eo_obj, NULL);
  }
 
obj->smart.parent = NULL;

-- 




[EGIT] [core/efl] efl-1.23 01/01: eet - fix loading eet files that do not have dicts

2019-10-14 Thread Carsten Haitzler
raster pushed a commit to branch efl-1.23.

http://git.enlightenment.org/core/efl.git/commit/?id=90f40e43ff704405a9408d650c628dee345429df

commit 90f40e43ff704405a9408d650c628dee345429df
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Oct 14 12:14:26 2019 +0100

eet - fix loading eet files that do not have dicts

my performance fix for locking around the eet dict breaks if there is
no dict in the eet file. this causes a segv.

fixes T8368

@fix
---
 src/lib/eet/eet_data.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/lib/eet/eet_data.c b/src/lib/eet/eet_data.c
index f8293ed896..5bcf65f9d6 100644
--- a/src/lib/eet/eet_data.c
+++ b/src/lib/eet/eet_data.c
@@ -2283,11 +2283,11 @@ eet_data_read_cipher(Eet_File*ef,
   return NULL;
  }
 
-   eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
+   if (ed) eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
eet_free_context_init(&context);
data_dec = _eet_data_descriptor_decode(&context, ed, edd, data, size, NULL, 
0);
eet_free_context_shutdown(&context);
-   eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary lock
+   if (ed) eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary 
lock
 
if (required_free)
  free((void *)data);
@@ -2324,11 +2324,11 @@ eet_data_read_cipher_buffer(Eet_File*ef,
   return NULL;
  }
 
-   eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
+   if (ed) eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
eet_free_context_init(&context);
data_dec = _eet_data_descriptor_decode(&context, ed, edd, data, size, 
buffer, buffer_size);
eet_free_context_shutdown(&context);
-   eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary lock
+   if (ed) eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary 
lock
 
if (required_free)
  free((void *)data);
@@ -2361,11 +2361,11 @@ eet_data_node_read_cipher(Eet_File   *ef,
   return NULL;
  }
 
-   eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
+   if (ed) eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
eet_free_context_init(&context);
result = _eet_data_descriptor_decode(&context, ed, NULL, data, size, NULL, 
0);
eet_free_context_shutdown(&context);
-   eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary lock
+   if (ed) eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary 
lock
 
if (required_free)
  free((void *)data);
@@ -4839,11 +4839,11 @@ eet_data_dump_cipher(Eet_File *ef,
   return 0;
  }
 
-   eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
+   if (ed) eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
eet_free_context_init(&context);
result = _eet_data_descriptor_decode(&context, ed, NULL, data, size, NULL, 
0);
eet_free_context_shutdown(&context);
-   eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary lock
+   if (ed) eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary 
lock
 
eet_node_dump(result, 0, dumpfunc, dumpdata);
 

-- 




[EGIT] [core/efl] master 01/01: eet - fix loading eet files that do not have dicts

2019-10-14 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4192137ba9853c798e830acaa68c46f1afff0505

commit 4192137ba9853c798e830acaa68c46f1afff0505
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Oct 14 12:14:26 2019 +0100

eet - fix loading eet files that do not have dicts

my performance fix for locking around the eet dict breaks if there is
no dict in the eet file. this causes a segv.

fixes T8368

@fix
---
 src/lib/eet/eet_data.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/lib/eet/eet_data.c b/src/lib/eet/eet_data.c
index f8293ed896..5bcf65f9d6 100644
--- a/src/lib/eet/eet_data.c
+++ b/src/lib/eet/eet_data.c
@@ -2283,11 +2283,11 @@ eet_data_read_cipher(Eet_File*ef,
   return NULL;
  }
 
-   eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
+   if (ed) eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
eet_free_context_init(&context);
data_dec = _eet_data_descriptor_decode(&context, ed, edd, data, size, NULL, 
0);
eet_free_context_shutdown(&context);
-   eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary lock
+   if (ed) eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary 
lock
 
if (required_free)
  free((void *)data);
@@ -2324,11 +2324,11 @@ eet_data_read_cipher_buffer(Eet_File*ef,
   return NULL;
  }
 
-   eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
+   if (ed) eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
eet_free_context_init(&context);
data_dec = _eet_data_descriptor_decode(&context, ed, edd, data, size, 
buffer, buffer_size);
eet_free_context_shutdown(&context);
-   eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary lock
+   if (ed) eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary 
lock
 
if (required_free)
  free((void *)data);
@@ -2361,11 +2361,11 @@ eet_data_node_read_cipher(Eet_File   *ef,
   return NULL;
  }
 
-   eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
+   if (ed) eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
eet_free_context_init(&context);
result = _eet_data_descriptor_decode(&context, ed, NULL, data, size, NULL, 
0);
eet_free_context_shutdown(&context);
-   eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary lock
+   if (ed) eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary 
lock
 
if (required_free)
  free((void *)data);
@@ -4839,11 +4839,11 @@ eet_data_dump_cipher(Eet_File *ef,
   return 0;
  }
 
-   eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
+   if (ed) eet_dictionary_lock_read(ed); // XXX: get manual eet_dictionary lock
eet_free_context_init(&context);
result = _eet_data_descriptor_decode(&context, ed, NULL, data, size, NULL, 
0);
eet_free_context_shutdown(&context);
-   eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary lock
+   if (ed) eet_dictionary_unlock(ed); // XXX: release manual eet_dictionary 
lock
 
eet_node_dump(result, 0, dumpfunc, dumpdata);
 

-- 




[EGIT] [core/enlightenment] master 01/01: systray - allow multiple

2019-10-14 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=b3e7009d65889f61c62f0126343da56e9da88297

commit b3e7009d65889f61c62f0126343da56e9da88297
Author: Carsten Haitzler (Rasterman) 
Date:   Mon Oct 14 10:21:11 2019 +0100

systray - allow multiple

now we no longer have xmbed, allow multiple instances.

fixes T8370
---
 src/modules/systray/e_mod_main.c | 13 -
 1 file changed, 13 deletions(-)

diff --git a/src/modules/systray/e_mod_main.c b/src/modules/systray/e_mod_main.c
index 3d600bcd1..1a94cd33b 100644
--- a/src/modules/systray/e_mod_main.c
+++ b/src/modules/systray/e_mod_main.c
@@ -7,7 +7,6 @@ static const char _sig_source[] = "e";
 
 static E_Module *systray_mod = NULL;
 static Systray_Context *ctx = NULL;
-EINTERN Instance *instance = NULL; /* only one systray ever possible */
 static char tmpbuf[4096]; /* general purpose buffer, just use immediately */
 
 #define SYSTRAY_MIN_W 16
@@ -213,14 +212,6 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, 
const char *style)
 
if (!systray_mod)
  return NULL;
-   if ((!id) || (instance))
- {
-e_util_dialog_internal
-  (_("Another systray exists"),
-  _("There can be only one systray gadget and "
-"another one already exists."));
-return NULL;
- }
 
inst = E_NEW(Instance, 1);
if (!inst)
@@ -254,7 +245,6 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, 
const char *style)
 
inst->notifier = systray_notifier_host_new(inst, inst->gcc->gadcon);
 
-   instance = inst;
return inst->gcc;
 }
 
@@ -273,9 +263,6 @@ _gc_shutdown(E_Gadcon_Client *gcc)
 
evas_object_del(inst->ui.gadget);
 
-   if (instance == inst)
- instance = NULL;
-
if (inst->job.size_apply)
  ecore_job_del(inst->job.size_apply);
 

-- 




[EGIT] [core/efl] master 01/01: canvas vg: don't draw images if it's full transparent.

2019-10-14 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=68c824e3e9d3dd53a996424e279a8dd74bc1583d

commit 68c824e3e9d3dd53a996424e279a8dd74bc1583d
Author: Hermet Park 
Date:   Mon Oct 14 17:52:47 2019 +0900

canvas vg: don't draw images if it's full transparent.
---
 src/lib/evas/canvas/efl_canvas_vg_image.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/lib/evas/canvas/efl_canvas_vg_image.c 
b/src/lib/evas/canvas/efl_canvas_vg_image.c
index 2b99efbaef..80729bb07c 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_image.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_image.c
@@ -29,6 +29,10 @@ _efl_canvas_vg_image_render_pre(Evas_Object_Protected_Data 
*vg_pd,
 
if (nd->flags == EFL_GFX_CHANGE_FLAG_NONE) return;
 
+   int a;
+   efl_gfx_color_get(obj, NULL, NULL, NULL, &a);
+   if (a <= 0) return;
+
nd->flags = EFL_GFX_CHANGE_FLAG_NONE;
 
EFL_CANVAS_VG_COMPUTE_MATRIX(ctransform, ptransform, nd);

-- 




[EGIT] [core/efl] master 01/01: vg_common_json: Apply image's alpha color

2019-10-14 Thread JunsuChoi
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4510b46d05f5313a45a4a37f50672ba8510b6e2e

commit 4510b46d05f5313a45a4a37f50672ba8510b6e2e
Author: JunsuChoi 
Date:   Mon Oct 14 17:44:57 2019 +0900

vg_common_json: Apply image's alpha color

Summary:
This patch needs latest rlottie that contain below commit.

https://github.com/Samsung/rlottie/commit/c3ab82ec2c207cfba2df6eb51d80dd532c93a710

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10368
---
 src/static_libs/vg_common/vg_common_json.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/static_libs/vg_common/vg_common_json.c 
b/src/static_libs/vg_common/vg_common_json.c
index 5ad4150506..4e203a0077 100644
--- a/src/static_libs/vg_common/vg_common_json.c
+++ b/src/static_libs/vg_common/vg_common_json.c
@@ -49,6 +49,8 @@ _construct_drawable_nodes(Efl_Canvas_Vg_Container *parent, 
const LOTLayerNode *l
 
  efl_canvas_vg_image_data_set(image, node->mImageInfo.data, 
EINA_SIZE2D(node->mImageInfo.width, node->mImageInfo.height));
 
+ efl_gfx_color_set(image, node->mImageInfo.mAlpha, 
node->mImageInfo.mAlpha, node->mImageInfo.mAlpha, node->mImageInfo.mAlpha);
+
  continue;
   }
 

-- 




[EGIT] [core/efl] master 01/01: eolian: fix eolian errors with EOLIAN_ENFORCE_SINCE=1

2019-10-14 Thread WooHyun Jung
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=247331363a169b56c396370cbbf50376b3c7fc98

commit 247331363a169b56c396370cbbf50376b3c7fc98
Author: WooHyun Jung 
Date:   Mon Oct 14 16:55:52 2019 +0900

eolian: fix eolian errors with EOLIAN_ENFORCE_SINCE=1

Summary:
This is not the end of fixing eolian errors. I need to keep fixing
more.

Test Plan:
1. export EOLIAN_ENFORCE_SINCE=1
2. ninja

Reviewers: q66, segfaultxavi, zmike, bu5hm4n, Jaehyun_Cho

Reviewed By: segfaultxavi, Jaehyun_Cho

Subscribers: Jaehyun_Cho, stefan_schmidt, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10370
---
 src/lib/ecore/efl_composite_model.eo|  5 -
 src/lib/ecore/efl_generic_model.eo  |  2 ++
 src/lib/ecore/efl_loop_model.eo |  4 
 src/lib/ector/ector_types.eot   |  2 +-
 src/lib/efl/interfaces/efl_gfx_hint.eo  | 12 ++--
 src/lib/efl/interfaces/efl_gfx_image.eo | 12 
 src/lib/efl/interfaces/efl_gfx_image_load_controller.eo |  5 -
 src/lib/efl/interfaces/efl_gfx_image_orientable.eo  |  4 
 src/lib/efl/interfaces/efl_gfx_stack.eo |  4 ++--
 src/lib/efl/interfaces/efl_gfx_types.eot|  4 ++--
 src/lib/efl/interfaces/efl_pack_layout.eo   |  2 ++
 src/lib/efl/interfaces/efl_pack_linear.eo   |  2 ++
 src/lib/efl/interfaces/efl_pack_table.eo|  2 ++
 src/lib/efl/interfaces/efl_ui_autorepeat.eo |  2 ++
 src/lib/efl/interfaces/efl_ui_factory.eo|  4 +++-
 src/lib/efl/interfaces/efl_ui_factory_bind.eo   |  5 -
 src/lib/efl/interfaces/efl_ui_layout_orientable.eo  |  4 
 src/lib/efl/interfaces/efl_ui_range_display.eo  |  2 ++
 src/lib/efl/interfaces/efl_ui_range_interactive.eo  |  2 ++
 src/lib/efl/interfaces/efl_ui_scrollable.eo |  5 -
 src/lib/efl/interfaces/efl_ui_scrollbar.eo  |  4 +++-
 src/lib/efl/interfaces/efl_ui_view.eo   |  7 +--
 src/lib/elementary/efl_access_object.eo |  2 +-
 src/lib/elementary/efl_ui_alert_popup.eo|  6 --
 src/lib/elementary/efl_ui_bg.eo |  8 +---
 src/lib/elementary/efl_ui_box.eo|  2 ++
 src/lib/elementary/efl_ui_box_flow.eo   |  2 ++
 src/lib/elementary/efl_ui_box_stack.eo  |  2 ++
 src/lib/elementary/efl_ui_button.eo |  2 ++
 src/lib/elementary/efl_ui_check.eo  | 14 --
 src/lib/elementary/efl_ui_collection.eo |  2 ++
 src/lib/elementary/efl_ui_collection_view.eo|  2 ++
 src/lib/elementary/efl_ui_datepicker.eo |  2 ++
 src/lib/elementary/efl_ui_default_item.eo   |  2 ++
 src/lib/elementary/efl_ui_format.eo |  8 +++-
 src/lib/elementary/efl_ui_grid.eo   |  2 ++
 src/lib/elementary/efl_ui_grid_default_item.eo  |  2 ++
 src/lib/elementary/efl_ui_image.eo  |  2 ++
 src/lib/elementary/efl_ui_image_zoomable.eo |  9 ++---
 src/lib/elementary/efl_ui_item.eo   |  2 ++
 src/lib/elementary/efl_ui_layout_part.eo|  5 -
 src/lib/elementary/efl_ui_layout_part_bg.eo |  5 -
 src/lib/elementary/efl_ui_layout_part_box.eo|  2 ++
 src/lib/elementary/efl_ui_layout_part_content.eo|  5 -
 src/lib/elementary/efl_ui_layout_part_table.eo  |  2 ++
 src/lib/elementary/efl_ui_layout_part_text.eo   |  5 -
 src/lib/elementary/efl_ui_list.eo   |  2 ++
 src/lib/elementary/efl_ui_list_default_item.eo  |  2 ++
 src/lib/elementary/efl_ui_popup.eo  |  4 +++-
 src/lib/elementary/efl_ui_popup_part_backwall.eo|  2 ++
 src/lib/elementary/efl_ui_position_manager_entity.eo|  2 +-
 src/lib/elementary/efl_ui_radio.eo  |  2 ++
 src/lib/elementary/efl_ui_radio_group.eo|  2 ++
 src/lib/elementary/efl_ui_radio_group_impl.eo   |  2 ++
 src/lib/elementary/efl_ui_scroller.eo   |  2 ++
 src/lib/elementary/efl_ui_selectable.eo |  2 ++
 src/lib/elementary/efl_ui_single_selectable.eo  |  2 ++
 src/lib/elementary/efl_ui_slider.eo |  2 ++
 src/lib/elementary/efl_ui_spin.eo   |  2 ++
 src/lib/elementary/efl_ui_spin_button.eo|  2 ++
 src/lib/elementary/efl_ui_table.eo  |  2 ++
 src/lib/elementary/efl_ui_timepicker.eo |  2 ++
 src/lib/elementary/efl_ui_view_model.eo |  2 ++
 src/lib/elementary/efl_ui_widget_fac