[EGIT] [core/enlightenment] enlightenment-0.21 08/100: add zone number to bryce names

2016-11-18 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.21.

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

commit 8add85a636dc7444b0394e05a5cf2800dec61127
Author: Mike Blumenkrantz 
Date:   Thu Oct 13 11:24:28 2016 -0400

add zone number to bryce names

fixes usage of bryces in identical setups on different zones
---
 src/bin/e_bryce.c| 13 +
 src/bin/e_bryce_editor.c |  7 ---
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_bryce.c b/src/bin/e_bryce.c
index b4bcaa2..b49721d 100644
--- a/src/bin/e_bryce.c
+++ b/src/bin/e_bryce.c
@@ -3,6 +3,8 @@
 #define DEFAULT_LAYER E_LAYER_CLIENT_ABOVE
 #define E_BRYCE_TYPE 0xE31338
 
+static unsigned int bryce_version = 1;
+
 typedef struct Bryce
 {
E_Object *e_obj_inherit;
@@ -37,6 +39,7 @@ typedef struct Bryce
/* config: do not bitfield! */
Eina_Bool autosize;
Eina_Bool autohide;
+   unsigned int version;
 
Eina_Bool hidden : 1;
Eina_Bool animating : 1;
@@ -1152,6 +1155,7 @@ e_bryce_init(void)
E_CONFIG_VAL(edd_bryce, Bryce, autohide, UCHAR);
E_CONFIG_VAL(edd_bryce, Bryce, orient, UINT);
E_CONFIG_VAL(edd_bryce, Bryce, anchor, UINT);
+   E_CONFIG_VAL(edd_bryce, Bryce, version, UINT);
 
edd_bryces = E_CONFIG_DD_NEW("Bryces", Bryces);
E_CONFIG_LIST(edd_bryces, Bryces, bryces, edd_bryce);
@@ -1164,6 +1168,15 @@ e_bryce_init(void)
 
 EINA_LIST_FOREACH(bryces->bryces, l, b)
   {
+ if (b->version < 1)
+   {
+  char buf[4096];
+
+  snprintf(buf, sizeof(buf), "%s_%u", b->name, b->zone);
+  e_gadget_site_rename(b->name, buf);
+  eina_stringshare_replace(&b->name, buf);
+   }
+ b->version = bryce_version;
  if (!e_comp_zone_number_get(b->zone)) continue;
  b->layer = E_CLAMP(b->layer, E_LAYER_DESKTOP, 
E_LAYER_CLIENT_ABOVE);
  _bryce_create(b, e_comp->elm);
diff --git a/src/bin/e_bryce_editor.c b/src/bin/e_bryce_editor.c
index 46450e8..1413346 100644
--- a/src/bin/e_bryce_editor.c
+++ b/src/bin/e_bryce_editor.c
@@ -63,7 +63,9 @@ _editor_bryce_add(Evas_Object *obj)
else if (bi->anchor & E_GADGET_SITE_ANCHOR_BOTTOM)
  loc2 = "bottom";
 
-   snprintf(buf, sizeof(buf), "bryce_%s_%s", loc, loc2);
+   zone = e_comp_object_util_zone_get(obj);
+   if (!zone) zone = e_zone_current_get();
+   snprintf(buf, sizeof(buf), "bryce_%s_%s_%d", loc, loc2, zone->num);
if (bi->orient == E_GADGET_SITE_ORIENT_HORIZONTAL)
  {
 if (bi->anchor & E_GADGET_SITE_ANCHOR_LEFT)
@@ -92,8 +94,7 @@ _editor_bryce_add(Evas_Object *obj)
 e_gadget_site_gadget_add(site, "Digital Clock", 0);
 e_gadget_site_gadget_add(site, "Wireless", 0);
  }
-   zone = e_comp_object_util_zone_get(obj);
-   if (!zone) zone = e_zone_current_get();
+
evas_object_geometry_get(b, &x, &y, NULL, NULL);
evas_object_move(b, x + zone->x, y + zone->y);
e_gadget_site_gravity_set(site, gravity);

-- 




[EGIT] [core/enlightenment] enlightenment-0.21 15/100: call gadget_popup smart callback when configuring gadgets

2016-11-18 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.21.

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

commit 21c8af0c340d41c60f97226e4c5f3fe78dd31f92
Author: Mike Blumenkrantz 
Date:   Mon Oct 17 11:56:32 2016 -0400

call gadget_popup smart callback when configuring gadgets

ensure visibility changes are received by containers

ref T4732
---
 src/bin/e_gadget.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_gadget.c b/src/bin/e_gadget.c
index e0e1967..55c9741 100644
--- a/src/bin/e_gadget.c
+++ b/src/bin/e_gadget.c
@@ -716,6 +716,7 @@ _gadget_configure(E_Gadget_Config *zgc)
zgc->cfg_object = zgc->configure(zgc->gadget);
if (!zgc->cfg_object) return;
evas_object_event_callback_add(zgc->cfg_object, EVAS_CALLBACK_DEL, 
_gadget_act_configure_object_del, zgc);
+   evas_object_smart_callback_call(zgc->display, "gadget_popup", 
zgc->cfg_object);
 }
 
 static Eina_Bool

-- 




[EGIT] [core/enlightenment] enlightenment-0.21 09/100: do not check for shelf/bryce existence in opposing anchorages during bryce wizard

2016-11-18 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.21.

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

commit 66b31d30d87698e626e9ac09f0b69ba8b640f6b1
Author: Mike Blumenkrantz 
Date:   Thu Oct 13 11:25:27 2016 -0400

do not check for shelf/bryce existence in opposing anchorages during bryce 
wizard

fixes false positives when detecting positions
---
 src/bin/e_bryce_editor.c | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/bin/e_bryce_editor.c b/src/bin/e_bryce_editor.c
index 1413346..8406f2c 100644
--- a/src/bin/e_bryce_editor.c
+++ b/src/bin/e_bryce_editor.c
@@ -23,13 +23,17 @@ static void _editor_add_right(void *data, Evas_Object *obj, 
const char *sig, con
 static void
 setup_exists(Evas_Object *bryce, Evas_Object *editor, Evas_Object *parent, 
E_Gadget_Site_Anchor an)
 {
-   if (e_bryce_exists(parent, bryce, E_GADGET_SITE_ORIENT_HORIZONTAL, 
E_GADGET_SITE_ANCHOR_BOTTOM | an))
+   if ((an != E_GADGET_SITE_ANCHOR_TOP) &&
+   e_bryce_exists(parent, bryce, E_GADGET_SITE_ORIENT_HORIZONTAL, 
E_GADGET_SITE_ANCHOR_BOTTOM | an))
  elm_object_signal_emit(editor, "e,bryce,exists,bottom", "e");
-   if (e_bryce_exists(parent, bryce, E_GADGET_SITE_ORIENT_HORIZONTAL, 
E_GADGET_SITE_ANCHOR_TOP | an))
+   if ((an != E_GADGET_SITE_ANCHOR_BOTTOM) &&
+   e_bryce_exists(parent, bryce, E_GADGET_SITE_ORIENT_HORIZONTAL, 
E_GADGET_SITE_ANCHOR_TOP | an))
  elm_object_signal_emit(editor, "e,bryce,exists,top", "e");
-   if (e_bryce_exists(parent, bryce, E_GADGET_SITE_ORIENT_VERTICAL, 
E_GADGET_SITE_ANCHOR_LEFT | an))
+   if ((an != E_GADGET_SITE_ANCHOR_RIGHT) &&
+   e_bryce_exists(parent, bryce, E_GADGET_SITE_ORIENT_VERTICAL, 
E_GADGET_SITE_ANCHOR_LEFT | an))
  elm_object_signal_emit(editor, "e,bryce,exists,left", "e");
-   if (e_bryce_exists(parent, bryce, E_GADGET_SITE_ORIENT_VERTICAL, 
E_GADGET_SITE_ANCHOR_RIGHT | an))
+   if ((an != E_GADGET_SITE_ANCHOR_LEFT) &&
+   e_bryce_exists(parent, bryce, E_GADGET_SITE_ORIENT_VERTICAL, 
E_GADGET_SITE_ANCHOR_RIGHT | an))
  elm_object_signal_emit(editor, "e,bryce,exists,right", "e");
 }
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.21 16/100: handle gadget_popup smart callback on gadget's display object

2016-11-18 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.21.

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

commit ef4cc47e11574413a1b43f96c954b76d511c86ae
Author: Mike Blumenkrantz 
Date:   Mon Oct 17 11:57:05 2016 -0400

handle gadget_popup smart callback on gadget's display object

fixes case where this signal was not accurately propagated

ref T4732
---
 src/bin/e_gadget.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_gadget.c b/src/bin/e_gadget.c
index 55c9741..ae79b98 100644
--- a/src/bin/e_gadget.c
+++ b/src/bin/e_gadget.c
@@ -1461,6 +1461,7 @@ e_gadget_util_layout_style_init(Evas_Object *g, 
Evas_Object *style)
evas_object_smart_calculate(style);
evas_object_size_hint_min_get(style, &zgc->style.minw, &zgc->style.minh);
evas_object_show(style);
+   evas_object_smart_callback_add(zgc->display, "gadget_popup", _gadget_popup, 
zgc->site);
return prev;
 }
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.21 24/100: actually check if PIE is supported for SUID

2016-11-18 Thread Alexander Pyhalov
discomfitor pushed a commit to branch enlightenment-0.21.

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

commit 1b7468bc9b4832f385e3ff8bda13cb0efee519bc
Author: Alexander Pyhalov 
Date:   Thu Sep 8 19:23:07 2016 +0300

actually check if PIE is supported for SUID

fix T4479
---
 configure.ac | 26 ++
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 0675328..3398aea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1019,12 +1019,30 @@ m4_ifndef([v_rel],
 EFL_COMPILER_FLAG([-Wformat=2])
])
 
-SUID_CFLAGS=-fPIE
-SUID_LDFLAGS=-pie
+SUID_CFLAGS=
+SUID_LDFLAGS=
 case "$host_os" in
freebsd*|pcbsd*)
-  SUID_CFLAGS=
-  SUID_LDFLAGS=
+  ;;
+   *)
+  if test -n "$GCC"; then
+AC_MSG_CHECKING(if GCC supports -fPIE)
+
+OLDCFLAGS="$CFLAGS"
+OLDLDFLAGS="$LDFLAGS"
+
+CFLAGS="$CFLAGS -fPIE"
+LDFLAGS="$LDFLAGS -pie"
+
+AC_TRY_LINK(,,
+ [
+  SUID_CFLAGS="-fPIE"
+ SUID_LDFLAGS="-pie"
+ AC_MSG_RESULT(yes)],
+ AC_MSG_RESULT(no))
+CFLAGS="$OLDCFLAGS"
+LDFLAGS="$OLDLFDLAGS"
+  fi
   ;;
 esac
 AC_SUBST([SUID_CFLAGS])

-- 




[EGIT] [core/enlightenment] enlightenment-0.21 22/100: avoid extra recalc when resizing a bryce on its oriented axis

2016-11-18 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.21.

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

commit c56b14538b52cd22b32a7f2501aa7352695b845b
Author: Mike Blumenkrantz 
Date:   Wed Oct 19 11:38:04 2016 -0400

avoid extra recalc when resizing a bryce on its oriented axis
---
 src/bin/e_bryce.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_bryce.c b/src/bin/e_bryce.c
index 8d62216..995f370 100644
--- a/src/bin/e_bryce.c
+++ b/src/bin/e_bryce.c
@@ -465,7 +465,8 @@ _bryce_moveresize(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj, void *event
  size = h;
else
  size = w;
-   if ((w != b->last_w) || (h != b->last_h))
+   if (((b->orient == E_GADGET_SITE_ORIENT_VERTICAL) && (w != b->last_w)) ||
+   ((b->orient == E_GADGET_SITE_ORIENT_HORIZONTAL) && (h != b->last_h)))
  {
 evas_object_smart_need_recalculate_set(b->site, 1);
 evas_object_size_hint_min_set(b->site, -1, -1);

-- 




[EGIT] [core/enlightenment] enlightenment-0.21 10/100: further improve bryce portability across zones

2016-11-18 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.21.

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

commit 583b57470ce6d07576e758fcd68a52a2eb6ae95f
Author: Mike Blumenkrantz 
Date:   Fri Oct 14 08:03:43 2016 -0400

further improve bryce portability across zones

also fix typo from yesterday which broke everything and was definitely not
noticed by anyone
---
 src/bin/e_bryce.c | 35 ---
 1 file changed, 28 insertions(+), 7 deletions(-)

diff --git a/src/bin/e_bryce.c b/src/bin/e_bryce.c
index b49721d..a435623 100644
--- a/src/bin/e_bryce.c
+++ b/src/bin/e_bryce.c
@@ -3,7 +3,7 @@
 #define DEFAULT_LAYER E_LAYER_CLIENT_ABOVE
 #define E_BRYCE_TYPE 0xE31338
 
-static unsigned int bryce_version = 1;
+static unsigned int bryce_version = 2;
 
 typedef struct Bryce
 {
@@ -425,6 +425,20 @@ _bryce_zone_setup(Bryce *b)
 }
 
 static void
+_bryce_rename(Bryce *b, int num)
+{
+   char buf[1024], buf2[1024], *name, *p;
+
+   name = strdup(b->name);
+   p = strrchr(name, '_');
+   p[0] = 0;
+   snprintf(buf, sizeof(buf), "__bryce%s", name);
+   snprintf(buf2, sizeof(buf2), "__bryce%s_%d", name, num);
+   e_gadget_site_rename(buf, buf2);
+   free(name);
+}
+
+static void
 _bryce_moveresize(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void 
*event_info EINA_UNUSED)
 {
Bryce *b = data;
@@ -511,6 +525,7 @@ _bryce_moveresize(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj, void *event
if (!zone) return;
if (b->zone == zone->num) return;
e_config_save_queue();
+   _bryce_rename(b, zone->num);
b->zone = zone->num;
_bryce_zone_setup(b);
_bryce_autosize(b);
@@ -939,6 +954,7 @@ e_bryce_add(Evas_Object *parent, const char *name, 
E_Gadget_Site_Orient orient,
b->anchor = an;
b->orient = orient;
b->layer = DEFAULT_LAYER;
+   b->version = bryce_version;
_bryce_create(b, parent);
bryces->bryces = eina_list_append(bryces->bryces, b);
e_config_save_queue();
@@ -1168,13 +1184,18 @@ e_bryce_init(void)
 
 EINA_LIST_FOREACH(bryces->bryces, l, b)
   {
- if (b->version < 1)
+ if (b->version < 2)
{
-  char buf[4096];
-
-  snprintf(buf, sizeof(buf), "%s_%u", b->name, b->zone);
-  e_gadget_site_rename(b->name, buf);
-  eina_stringshare_replace(&b->name, buf);
+  /* I broke this the first time by forgetting the __bryce 
prefix :(
+   */
+  _bryce_rename(b, b->zone);
+  if (b->version < 1)
+{
+   char buf[1024];
+
+   snprintf(buf, sizeof(buf), "%s_%u", b->name, b->zone);
+   eina_stringshare_replace(&b->name, buf);
+}
}
  b->version = bryce_version;
  if (!e_comp_zone_number_get(b->zone)) continue;

-- 




[EGIT] [core/efl] master 02/02: evas: Cleanup unused variables when compiling for Neon

2016-11-18 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 2da9ce59212bb185859ac0d21836c944f79c9cda
Author: Chris Michael 
Date:   Fri Nov 18 11:27:24 2016 -0500

evas: Cleanup unused variables when compiling for Neon

Compiling on rpi3 indicated that there are some unused variables in
the neon codepaths for several evas op functions. This patch just adds
EINA_UNUSED to the function parameters where needed.

NB: No functional changes

Signed-off-by: Chris Michael 
---
 src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c| 12 ++--
 src/lib/evas/common/evas_op_copy/op_copy_color_neon.c  |  8 
 src/lib/evas/common/evas_op_copy/op_copy_mask_color_neon.c |  2 +-
 src/lib/evas/common/evas_op_copy/op_copy_pixel_mask_neon.c |  2 +-
 src/lib/evas/common/evas_op_copy/op_copy_pixel_neon.c  |  2 +-
 5 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c
index 0db97be..a7d5cc3 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c
@@ -5,7 +5,7 @@
 
 #ifdef BUILD_NEON
 static void
-_op_blend_p_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
+_op_blend_p_dp_neon(DATA32 *s, DATA8 *m EINA_UNUSED, DATA32 c, DATA32 *d, int 
l) {
 #ifdef BUILD_NEON_INTRINSICS
uint16x8_t ad00_16x8;
uint16x8_t ad01_16x8;
@@ -364,7 +364,7 @@ _op_blend_p_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 
*d, int l) {
 }
 
 static void
-_op_blend_pas_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
+_op_blend_pas_dp_neon(DATA32 *s, DATA8 *m EINA_UNUSED, DATA32 c EINA_UNUSED, 
DATA32 *d, int l) {
 #ifdef BUILD_NEON_INTRINSICS
uint16x8_t ad00_16x8;
uint16x8_t ad01_16x8;
@@ -712,7 +712,7 @@ init_blend_pixel_span_funcs_neon(void)
 
 #ifdef BUILD_NEON
 static void
-_op_blend_pt_p_dp_neon(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
+_op_blend_pt_p_dp_neon(DATA32 s, DATA8 m EINA_UNUSED, DATA32 c, DATA32 *d) {
c = 256 - (s >> 24);
*d = s + MUL_256(c, *d);
 }
@@ -744,7 +744,7 @@ init_blend_pixel_pt_funcs_neon(void)
 
 #ifdef BUILD_NEON
 static void
-_op_blend_rel_p_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
+_op_blend_rel_p_dp_neon(DATA32 *s, DATA8 *m EINA_UNUSED, DATA32 c, DATA32 *d, 
int l) {
uint16x8_t cs0_16x8;
uint16x8_t cs1_16x8;
uint16x8_t ld0_16x8;
@@ -862,7 +862,7 @@ _op_blend_rel_p_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, 
DATA32 *d, int l) {
 }
 
 static void
-_op_blend_rel_pan_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
+_op_blend_rel_pan_dp_neon(DATA32 *s, DATA8 *m EINA_UNUSED, DATA32 c, DATA32 
*d, int l) {
uint16x8_t cs0_16x8;
uint16x8_t cs1_16x8;
uint32x4_t c_32x4;
@@ -958,7 +958,7 @@ init_blend_rel_pixel_span_funcs_neon(void)
 
 #ifdef BUILD_NEON
 static void
-_op_blend_rel_pt_p_dp_neon(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
+_op_blend_rel_pt_p_dp_neon(DATA32 s, DATA8 m EINA_UNUSED, DATA32 c, DATA32 *d) 
{
c = 256 - (s >> 24);
*d = MUL_SYM(*d >> 24, s) + MUL_256(c, *d);
 }
diff --git a/src/lib/evas/common/evas_op_copy/op_copy_color_neon.c 
b/src/lib/evas/common/evas_op_copy/op_copy_color_neon.c
index 009bd75..007e70b 100644
--- a/src/lib/evas/common/evas_op_copy/op_copy_color_neon.c
+++ b/src/lib/evas/common/evas_op_copy/op_copy_color_neon.c
@@ -2,7 +2,7 @@
 
 #ifdef BUILD_NEON
 static void
-_op_copy_c_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
+_op_copy_c_dp_neon(DATA32 *s EINA_UNUSED, DATA8 *m EINA_UNUSED, DATA32 c, 
DATA32 *d, int l) {
 #ifdef BUILD_NEON_INTRINSICS
DATA32 *e;
UNROLL8_PLD_WHILE(d, l, e,
@@ -122,7 +122,7 @@ init_copy_color_span_funcs_neon(void)
 
 #ifdef BUILD_NEON
 static void
-_op_copy_pt_c_dp_neon(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
+_op_copy_pt_c_dp_neon(DATA32 s EINA_UNUSED, DATA8 m EINA_UNUSED, DATA32 c, 
DATA32 *d) {
*d = c;
 }
 
@@ -156,7 +156,7 @@ init_copy_color_pt_funcs_neon(void)
 
 #ifdef BUILD_NEON
 static void
-_op_copy_rel_c_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
+_op_copy_rel_c_dp_neon(DATA32 *s EINA_UNUSED, DATA8 *m EINA_UNUSED, DATA32 c, 
DATA32 *d, int l) {
// FIXME: neon-it
DATA32 *e = d + l;
for (; d < e; d++) {
@@ -190,7 +190,7 @@ init_copy_rel_color_span_funcs_neon(void)
 
 #ifdef BUILD_NEON
 static void
-_op_copy_rel_pt_c_dp_neon(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
+_op_copy_rel_pt_c_dp_neon(DATA32 s, DATA8 m EINA_UNUSED, DATA32 c, DATA32 *d) {
s = 1 + (*d >> 24);
*d = MUL_256(s, c);
 }
diff --git a/src/lib/evas/common/evas_op_copy/op_copy_mask_color_neon.c 
b/src/lib/evas/common/evas_op_copy/op_copy_mask_color_neon.c
index e5d6d57..854c400 100644
--- a/src/lib/evas/common/evas_op_copy/op_copy_mask_color_neon.c
+++ b/src/lib/evas/common/evas_op_copy/op_copy_mask_color

[EGIT] [core/efl] master 01/02: evas: Remove unused variables

2016-11-18 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 31c7303425cb571e7e0cc6550cc1f4f9c060933b
Author: Chris Michael 
Date:   Fri Nov 18 11:24:35 2016 -0500

evas: Remove unused variables

Compiling on rpi3 using neon indicates that 'alpha' and 'tmp'
variables are unused. Reading through the source confirms it, so
remove them.

Signed-off-by: Chris Michael 
---
 src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c
index 2c0fad7..2a86d27 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c
@@ -395,8 +395,7 @@ _op_blend_mas_can_dp_neon(DATA32 *s EINA_UNUSED, DATA8 *m, 
DATA32 c, DATA32 *d,
   m++;  start++;
}
 #else
-   DATA32 *e,*tmp;
-   int alpha;
+   DATA32 *e;
 
DEBUG_FNCOUNT("");
 

-- 




[EGIT] [core/efl] master 02/03: efl_net: remove warnings related to unused parameters.

2016-11-18 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit dc3da201fd3cbc8b681be5c78a359da897df20de
Author: Gustavo Sverzut Barbieri 
Date:   Fri Nov 18 14:17:52 2016 -0200

efl_net: remove warnings related to unused parameters.

if these options are not available, then cast "o" to void so it
doesn't trigger a warning, for example on Windows.
---
 src/lib/ecore_con/efl_net_server_fd.c  | 4 
 src/lib/ecore_con/efl_net_socket_udp.c | 4 
 2 files changed, 8 insertions(+)

diff --git a/src/lib/ecore_con/efl_net_server_fd.c 
b/src/lib/ecore_con/efl_net_server_fd.c
index c771e9d..7f0dfbb 100644
--- a/src/lib/ecore_con/efl_net_server_fd.c
+++ b/src/lib/ecore_con/efl_net_server_fd.c
@@ -388,6 +388,8 @@ _efl_net_server_fd_reuse_port_set(Eo *o, 
Efl_Net_Server_Fd_Data *pd, Eina_Bool r
 pd->reuse_port = old;
 return EINA_FALSE;
  }
+#else
+   (void)o;
 #endif
 
return EINA_TRUE;
@@ -416,6 +418,8 @@ _efl_net_server_fd_reuse_port_get(Eo *o, 
Efl_Net_Server_Fd_Data *pd)
  }
 
pd->reuse_port = !!value; /* sync */
+#else
+   (void)o;
 #endif
 
return pd->reuse_port;
diff --git a/src/lib/ecore_con/efl_net_socket_udp.c 
b/src/lib/ecore_con/efl_net_socket_udp.c
index 4e610f9..b534a90 100644
--- a/src/lib/ecore_con/efl_net_socket_udp.c
+++ b/src/lib/ecore_con/efl_net_socket_udp.c
@@ -417,6 +417,8 @@ _efl_net_socket_udp_reuse_port_set(Eo *o, 
Efl_Net_Socket_Udp_Data *pd, Eina_Bool
 pd->reuse_port = old;
 return EINA_FALSE;
  }
+#else
+   (void)o;
 #endif
 
return EINA_TRUE;
@@ -445,6 +447,8 @@ _efl_net_socket_udp_reuse_port_get(Eo *o, 
Efl_Net_Socket_Udp_Data *pd)
  }
 
pd->reuse_port = !!value; /* sync */
+#else
+   (void)o;
 #endif
 
return pd->reuse_port;

-- 




[EGIT] [core/efl] master 03/03: ecore_con (legacy) fix close()->closesocket() and valid fd check.

2016-11-18 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit d6584673ea3def020d05cc29762d1924ffb77712
Author: Gustavo Sverzut Barbieri 
Date:   Fri Nov 18 14:18:38 2016 -0200

ecore_con (legacy) fix close()->closesocket() and valid fd check.

use the windows version and it will also work on UNIX due macros.
---
 src/lib/ecore_con/ecore_con.c | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index b2b1969..7b61371 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -416,7 +416,7 @@ _efl_network_server_efl_object_constructor(Ecore_Con_Server 
*obj, Efl_Network_Se
 {
obj = efl_constructor(efl_super(obj, EFL_NETWORK_SERVER_CLASS));
 
-   svr->fd = -1;
+   svr->fd = INVALID_SOCKET;
svr->reject_excess_clients = EINA_FALSE;
svr->client_limit = -1;
svr->clients = NULL;
@@ -742,7 +742,7 @@ _efl_network_server_efl_network_send(Eo *obj EINA_UNUSED, 
Efl_Network_Server_Dat
 svr->buf = eina_binbuf_new();
 EINA_SAFETY_ON_NULL_RETURN_VAL(svr->buf, 0);
 #ifdef TCP_CORK
-if ((svr->fd >= 0) && ((svr->type & ECORE_CON_TYPE) == 
ECORE_CON_REMOTE_CORK))
+if ((svr->fd != INVALID_SOCKET) && ((svr->type & ECORE_CON_TYPE) == 
ECORE_CON_REMOTE_CORK))
   {
  int state = 1;
  if (setsockopt(svr->fd, IPPROTO_TCP, TCP_CORK, (char *)&state, 
sizeof(int)) < 0)
@@ -867,7 +867,7 @@ _efl_network_client_efl_network_send(Eo *obj EINA_UNUSED, 
Efl_Network_Client_Dat
  cl->buf = eina_binbuf_new();
  EINA_SAFETY_ON_NULL_RETURN_VAL(cl->buf, 0);
 #ifdef TCP_CORK
- if ((cl->fd >= 0) && (host_server) &&
+ if ((cl->fd != INVALID_SOCKET) && (host_server) &&
  ((host_server->type & ECORE_CON_TYPE) == 
ECORE_CON_REMOTE_CORK))
{
   int state = 1;
@@ -1409,8 +1409,8 @@ _efl_network_server_efl_object_destructor(Eo *obj, 
Efl_Network_Server_Data *svr)
if (svr->fd_handler)
  ecore_main_fd_handler_del(svr->fd_handler);
 
-   if (svr->fd >= 0)
- close(svr->fd);
+   if (svr->fd != INVALID_SOCKET)
+ closesocket(svr->fd);
 
if (svr->until_deletion)
  ecore_timer_del(svr->until_deletion);
@@ -1472,8 +1472,8 @@ _efl_network_client_efl_object_destructor(Eo *obj, 
Efl_Network_Client_Data *cl)
if (cl->fd_handler)
  ecore_main_fd_handler_del(cl->fd_handler);
 
-   if (cl->fd >= 0)
- close(cl->fd);
+   if (cl->fd != INVALID_SOCKET)
+ closesocket(cl->fd);
 
free(cl->client_addr);
cl->client_addr = NULL;
@@ -2165,7 +2165,7 @@ _ecore_con_svr_tcp_handler(void *data,
 
 error:
if (cl->fd_handler) ecore_main_fd_handler_del(cl->fd_handler);
-   if (cl->fd >= 0) close(cl->fd);
+   if (cl->fd != INVALID_SOCKET) closesocket(cl->fd);
{
   Ecore_Event *ev;
 
@@ -2384,7 +2384,7 @@ _ecore_con_svr_udp_handler(void *data,
EINA_SAFETY_ON_NULL_RETURN_VAL(cl, ECORE_CALLBACK_RENEW);
 
cl->host_server = svr_obj;
-   cl->fd = -1;
+   cl->fd = INVALID_SOCKET;
cl->client_addr = malloc(client_addr_len);
if (!cl->client_addr)
  {

-- 




[EGIT] [core/efl] master 01/03: efl_net: fix missing SOCKET_FMT.

2016-11-18 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit c0f84d190fb23756987ab7e276cd9fd3b5be5f09
Author: Gustavo Sverzut Barbieri 
Date:   Fri Nov 18 14:14:37 2016 -0200

efl_net: fix missing SOCKET_FMT.
---
 src/lib/ecore_con/ecore_con.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index 18087c9..b2b1969 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -3419,7 +3419,7 @@ efl_net_socket4(int domain, int type, int protocol, 
Eina_Bool close_on_exec)
  if (fcntl(fd, F_SETFD, FD_CLOEXEC) < 0)
{
   int errno_bkp = errno;
-  ERR("fcntl(%d, F_SETFD, FD_CLOEXEC): %s", fd, 
strerror(errno));
+  ERR("fcntl(" SOCKET_FMT ", F_SETFD, FD_CLOEXEC): %s", fd, 
strerror(errno));
   closesocket(fd);
   fd = INVALID_SOCKET;
   errno = errno_bkp;

-- 




[EGIT] [core/enlightenment] master 01/01: make confirm dialogs autoselect the confirm option

2016-11-18 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 506317e4babe1cfbe4411b2f5339bc63440ee1c4
Author: Mike Blumenkrantz 
Date:   Fri Nov 18 11:17:14 2016 -0500

make confirm dialogs autoselect the confirm option

esc is already used for cancel, having an easier confirm makes sense (tm)
---
 src/bin/e_confirm_dialog.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_confirm_dialog.c b/src/bin/e_confirm_dialog.c
index 21f5f67..67540cd 100644
--- a/src/bin/e_confirm_dialog.c
+++ b/src/bin/e_confirm_dialog.c
@@ -52,7 +52,7 @@ e_confirm_dialog_show(const char *title, const char *icon, 
const char *text,
e_dialog_button_add(dia, !button_text ? _("Yes") : button_text, NULL, 
_e_confirm_dialog_yes, cd);
e_dialog_button_add(dia, !button2_text ? _("No") : button2_text, NULL, 
_e_confirm_dialog_no, cd);
 
-   e_dialog_button_focus_num(dia, 1);
+   e_dialog_button_focus_num(dia, 0);
elm_win_center(dia->win, 1, 1);
e_dialog_show(dia);
 

-- 




[EGIT] [core/efl] master 02/02: elm_cursor: restore compat with previous theme api

2016-11-18 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 06db737a23f28ba878577a761f7f3aceef3276ec
Author: Mike Blumenkrantz 
Date:   Fri Nov 18 11:03:37 2016 -0500

elm_cursor: restore compat with previous theme api

adding new theme groups/parts is fine, but compat must be maintained for
released theme api: anything which is namespaced

ref 1422e61e6207ed6fe21063a15a8fb8475eef9865
---
 data/elementary/themes/edc/elm/cursor.edc |  6 ++
 src/lib/elementary/els_cursor.c   | 11 ++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/data/elementary/themes/edc/elm/cursor.edc 
b/data/elementary/themes/edc/elm/cursor.edc
index 67e374a..f836f9d 100644
--- a/data/elementary/themes/edc/elm/cursor.edc
+++ b/data/elementary/themes/edc/elm/cursor.edc
@@ -98,6 +98,8 @@ group { name: "elm/cursor/hand1/default";
 rel2.offset: 0 0;
  }
   }
+  /* elm.content.hotspot is the old name for the above part */
+  alias: "elm.content.hotspot" "elm.swallow.hotspot";
}
 }
 
@@ -109,6 +111,8 @@ group { name: "elm/cursor/blank/default";
 max: 1 1;
  }
   }
+  /* elm.content.hotspot is the old name for the above part */
+  alias: "elm.content.hotspot" "elm.swallow.hotspot";
}
 }
 
@@ -137,6 +141,8 @@ group { name: "elm/cursor/xterm/default";
 rel2.offset: 0 0;
  }
   }
+  /* elm.content.hotspot is the old name for the above part */
+  alias: "elm.content.hotspot" "elm.swallow.hotspot";
   part { name: "shine";
  description { state: "default" 0.0;
 rel1.to: "base";
diff --git a/src/lib/elementary/els_cursor.c b/src/lib/elementary/els_cursor.c
index 9ffc4b7..3bb29bf 100644
--- a/src/lib/elementary/els_cursor.c
+++ b/src/lib/elementary/els_cursor.c
@@ -277,7 +277,16 @@ _elm_cursor_obj_add(Evas_Object *obj, Elm_Cursor *cur)
   _elm_cursor_hot_change, cur);
evas_object_event_callback_add(cur->hotobj, EVAS_CALLBACK_RESIZE,
   _elm_cursor_hot_change, cur);
-   edje_object_part_swallow(cur->obj, "elm.swallow.hotspot", cur->hotobj);
+   if (edje_object_part_exists(cur->obj, "elm.swallow.hotspot"))
+ edje_object_part_swallow(cur->obj, "elm.swallow.hotspot", cur->hotobj);
+   else if (edje_object_part_exists(cur->obj, "elm.content.hotspot"))
+ edje_object_part_swallow(cur->obj, "elm.content.hotspot", cur->hotobj);
+   else
+ {
+ELM_SAFE_FREE(cur->hotobj, evas_object_del);
+ELM_SAFE_FREE(cur->obj, evas_object_del);
+return EINA_FALSE;
+ }
 
evas_object_event_callback_add(cur->obj, EVAS_CALLBACK_DEL,
   _elm_cursor_obj_del, cur);

-- 




[EGIT] [core/efl] master 01/02: elm_cursor: use cursor owner object when applying theme

2016-11-18 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 7d720f5edecdd15df0162a6c486ab696bc66724b
Author: Mike Blumenkrantz 
Date:   Fri Nov 18 11:02:42 2016 -0500

elm_cursor: use cursor owner object when applying theme

the eventarea is not guaranteed to be an elm object, and the docs clearly
state that the owner object is used for theming

@fix
---
 src/lib/elementary/els_cursor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/els_cursor.c b/src/lib/elementary/els_cursor.c
index 6c007c7..9ffc4b7 100644
--- a/src/lib/elementary/els_cursor.c
+++ b/src/lib/elementary/els_cursor.c
@@ -723,7 +723,7 @@ void
 elm_cursor_theme(Elm_Cursor *cur)
 {
if ((!cur) || (!cur->obj)) return;
-   if (!_elm_theme_object_set(cur->eventarea, cur->obj, "cursor",
+   if (!_elm_theme_object_set(cur->owner, cur->obj, "cursor",
   cur->cursor_name, cur->style))
  ERR("Could not apply the theme to the cursor style=%s", cur->style);
else

-- 




[EGIT] [core/efl] master 01/02: ecore_drm2: Add a panic mode to drm2_fb_release

2016-11-18 Thread Derek Foreman
derekf pushed a commit to branch master.

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

commit aa3479570d0ee48865a1beeeff95fd280178d2d7
Author: Derek Foreman 
Date:   Fri Nov 18 09:41:52 2016 -0600

ecore_drm2: Add a panic mode to drm2_fb_release

Previously we'd call this only when we absolutely needed to, so it made
sense to always attempt to free a buffer, including ones on scanout or
pending flip.

However, it's useful to have a way to release the "next" only, so we can
do that before starting a render to free up the buffer that's never going
to be scanned out.
---
 src/lib/ecore_drm2/Ecore_Drm2.h   | 13 -
 src/lib/ecore_drm2/ecore_drm2_fb.c|  3 ++-
 src/modules/evas/engines/drm/evas_outbuf.c|  2 +-
 src/modules/evas/engines/gl_drm/evas_outbuf.c |  2 +-
 4 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h
index 7712643..50408be 100644
--- a/src/lib/ecore_drm2/Ecore_Drm2.h
+++ b/src/lib/ecore_drm2/Ecore_Drm2.h
@@ -829,16 +829,19 @@ EAPI void ecore_drm2_fb_busy_set(Ecore_Drm2_Fb *fb, 
Eina_Bool busy);
 /**
  * Try to force a framebuffer release for an output
  *
- * This tries to release the next, pending, or current buffer from
- * the output.  If successful there will be a release callback to
- * the registered handler, and the fb will no longer be flagged busy.
+ * This tries to release the next or optionally pending, or current
+ * buffer from the output.  If successful there will be a release callback
+ * to the registered handler, and the fb will no longer be flagged busy.
  *
- * @param output The output to force release
+ * Releasing buffers committed to scanout will potentially cause flicker,
+ * so this is only done when the panic flag is set.
  *
+ * @param output The output to force release
+ * @param panic Try to release even buffers committed to scanout
  * @ingroup Ecore_Drm2_Fb_Group
  * @since 1.19
  */
-EAPI void ecore_drm2_fb_release(Ecore_Drm2_Output *o);
+EAPI void ecore_drm2_fb_release(Ecore_Drm2_Output *o, Eina_Bool panic);
 
 /**
  * Set the user data for the output's page flip handler
diff --git a/src/lib/ecore_drm2/ecore_drm2_fb.c 
b/src/lib/ecore_drm2/ecore_drm2_fb.c
index 3f7b9ef..3737bdf 100644
--- a/src/lib/ecore_drm2/ecore_drm2_fb.c
+++ b/src/lib/ecore_drm2/ecore_drm2_fb.c
@@ -456,7 +456,7 @@ ecore_drm2_fb_busy_set(Ecore_Drm2_Fb *fb, Eina_Bool busy)
 }
 
 EAPI void
-ecore_drm2_fb_release(Ecore_Drm2_Output *o)
+ecore_drm2_fb_release(Ecore_Drm2_Output *o, Eina_Bool panic)
 {
EINA_SAFETY_ON_NULL_RETURN(o);
 
@@ -466,6 +466,7 @@ ecore_drm2_fb_release(Ecore_Drm2_Output *o)
 o->next = NULL;
 return;
  }
+   if (!panic) return;
 
WRN("Buffer release request when no next buffer");
/* If we have to release these we're going to see tearing.
diff --git a/src/modules/evas/engines/drm/evas_outbuf.c 
b/src/modules/evas/engines/drm/evas_outbuf.c
index 2a9afa2..9d2454b 100644
--- a/src/modules/evas/engines/drm/evas_outbuf.c
+++ b/src/modules/evas/engines/drm/evas_outbuf.c
@@ -249,7 +249,7 @@ _outbuf_fb_assign(Outbuf *ob)
ob->priv.draw = _outbuf_fb_wait(ob);
while (!ob->priv.draw)
  {
-ecore_drm2_fb_release(ob->priv.output);
+ecore_drm2_fb_release(ob->priv.output, EINA_TRUE);
 ob->priv.draw = _outbuf_fb_wait(ob);
  }
 
diff --git a/src/modules/evas/engines/gl_drm/evas_outbuf.c 
b/src/modules/evas/engines/gl_drm/evas_outbuf.c
index fb813bf..e225b42 100644
--- a/src/modules/evas/engines/gl_drm/evas_outbuf.c
+++ b/src/modules/evas/engines/gl_drm/evas_outbuf.c
@@ -96,7 +96,7 @@ _evas_outbuf_buffer_swap(Outbuf *ob)
bo = gbm_surface_lock_front_buffer(ob->surface);
if (!bo)
  {
-ecore_drm2_fb_release(ob->priv.output);
+ecore_drm2_fb_release(ob->priv.output, EINA_TRUE);
 bo = gbm_surface_lock_front_buffer(ob->surface);
  }
if (bo) fb = _evas_outbuf_fb_get(ob, bo);

-- 




[EGIT] [core/efl] master 02/02: gl_drm: Release any unqueued buffer before starting a render

2016-11-18 Thread Derek Foreman
derekf pushed a commit to branch master.

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

commit 8a7c154a57861afab62b4f87b250831df84d4f99
Author: Derek Foreman 
Date:   Fri Nov 18 09:43:15 2016 -0600

gl_drm: Release any unqueued buffer before starting a render

If there's a "next" buffer set, we're better off freeing it before we
start to render.  This lets us keep gbm from allocating an extra buffer
which it currently never frees.
---
 src/modules/evas/engines/gl_drm/evas_outbuf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/modules/evas/engines/gl_drm/evas_outbuf.c 
b/src/modules/evas/engines/gl_drm/evas_outbuf.c
index e225b42..1f8ae74 100644
--- a/src/modules/evas/engines/gl_drm/evas_outbuf.c
+++ b/src/modules/evas/engines/gl_drm/evas_outbuf.c
@@ -583,6 +583,7 @@ evas_outbuf_reconfigure(Outbuf *ob, int w, int h, int rot, 
Outbuf_Depth depth)
 Render_Engine_Swap_Mode
 evas_outbuf_buffer_state_get(Outbuf *ob)
 {
+   ecore_drm2_fb_release(ob->priv.output, EINA_FALSE);
/* check for valid output buffer */
if (!ob) return MODE_FULL;
 

-- 




[EGIT] [core/efl] master 01/01: ecore_con: fix time to live value name and type

2016-11-18 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit f77a602a096028ec4316e44c92a6ce52549e62a8
Author: Stefan Schmidt 
Date:   Fri Nov 18 12:35:02 2016 +0100

ecore_con: fix time to live value name and type

The time to live hop limit should not be named loopback and have a type that
can actuall hold the number of hops. It already was always uint8 in the 
code.
Just fix the eo file.
---
 src/lib/ecore_con/efl_net_server_udp.eo | 2 +-
 src/lib/ecore_con/efl_net_socket_udp.eo | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_con/efl_net_server_udp.eo 
b/src/lib/ecore_con/efl_net_server_udp.eo
index 0ce212e..21c644e 100644
--- a/src/lib/ecore_con/efl_net_server_udp.eo
+++ b/src/lib/ecore_con/efl_net_server_udp.eo
@@ -100,7 +100,7 @@ class Efl.Net.Server.Udp (Efl.Net.Server.Fd) {
 return: Eina.Error; [[0 on success, error code otherwise]]
 }
 values {
-ttl: bool; [[Time to live]]
+ttl: uint8; [[Time to live]]
 }
 }
 
diff --git a/src/lib/ecore_con/efl_net_socket_udp.eo 
b/src/lib/ecore_con/efl_net_socket_udp.eo
index ee41072..c820338 100644
--- a/src/lib/ecore_con/efl_net_socket_udp.eo
+++ b/src/lib/ecore_con/efl_net_socket_udp.eo
@@ -122,7 +122,7 @@ class Efl.Net.Socket.Udp (Efl.Net.Socket.Fd) {
 return: Eina.Error; [[0 on success, error code otherwise]]
 }
 values {
-loopback: bool;
+ttl: uint8; [[Time to live]]
 }
 }
 

-- 




[EGIT] [core/enlightenment] master 02/02: reject non-printable characters from lokker entry

2016-11-18 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 348a3be719b0c3980bbf9299067917d51abc88ab
Author: Mike Blumenkrantz 
Date:   Fri Nov 18 10:19:14 2016 -0500

reject non-printable characters from lokker entry

previously characters such as tab would be injected into the entry when 
pressed.
this is the same check which is used in various other places in efl for 
string
validation
---
 src/modules/lokker/lokker.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/lokker/lokker.c b/src/modules/lokker/lokker.c
index d7a78d0..db9fb82 100644
--- a/src/modules/lokker/lokker.c
+++ b/src/modules/lokker/lokker.c
@@ -727,7 +727,7 @@ _lokker_cb_key_down(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *event)
else
  {
 /* here we have to grab a password */
-if (ev->compose)
+if (ev->compose && (ev->string[0] >= 0x20) && (ev->string[0] != 0x7f))
   {
  if (lokker_is_pin())
{

-- 




[EGIT] [core/enlightenment] master 01/02: disable bindings during desklock

2016-11-18 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 02fc2fffa8ff9b13ce4848bc1e986299c4ed10c7
Author: Mike Blumenkrantz 
Date:   Fri Nov 18 10:18:51 2016 -0500

disable bindings during desklock

hopefully nobody noticed this before now...
---
 src/bin/e_desklock.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/bin/e_desklock.c b/src/bin/e_desklock.c
index 7b2a767..e36dc61 100644
--- a/src/bin/e_desklock.c
+++ b/src/bin/e_desklock.c
@@ -255,6 +255,7 @@ e_desklock_show(Eina_Bool suspend)
 _e_custom_desklock_exe =
   ecore_exe_run(e_config->desklock_custom_desklock_cmd, NULL);
 _e_desklock_state = EINA_TRUE;
+e_bindings_disabled_set(1);
 /* TODO: ensure layer is correct on external desklocks? */
 return 1;
  }
@@ -342,6 +343,7 @@ e_desklock_show(Eina_Bool suspend)
e_util_env_set("E_DESKLOCK_UNLOCKED", NULL);
e_util_env_set("E_DESKLOCK_LOCKED", "locked");
_e_desklock_state = EINA_TRUE;
+   e_bindings_disabled_set(1);
return 1;
 lang_fail:
if (e_config->desklock_language)
@@ -391,6 +393,7 @@ e_desklock_hide(void)
  }
 
_e_desklock_state = EINA_FALSE;
+   e_bindings_disabled_set(0);
ev = E_NEW(E_Event_Desklock, 1);
ev->on = 0;
ev->suspend = 1;

-- 




Re: [E-devel] [EGIT] [core/efl] master 03/04: edje.object: implement Efl.Observer interface

2016-11-18 Thread marcel-hollerbach
Hello,

i would like to get back to this.

On Tue, Nov 01, 2016 at 11:48:50AM -0700, Jee-Yong Um wrote:
> cedric pushed a commit to branch master.
> 
> http://git.enlightenment.org/core/efl.git/commit/?id=0fd144550877ff0a6f413c025685b7e7d63e6535
> 
> commit 0fd144550877ff0a6f413c025685b7e7d63e6535
> Author: Jee-Yong Um 
> Date:   Tue Nov 1 10:59:09 2016 -0700
> 
> edje.object: implement Efl.Observer interface
> 
> Summary:
> To remove duplicated lines to handle edje class (color, text, size),
> observer interface is implemented to Edje.Object.
> 
> Reviewers: jpeg, cedric
> 
> Reviewed By: cedric
> 
> Subscribers: bu5hm4n, cedric
> 
> Differential Revision: https://phab.enlightenment.org/D4359
> 
> Signed-off-by: Cedric BAIL 
> ---
>  src/Makefile_Efl.am  |   3 +
>  src/lib/edje/edje_load.c |   8 +-
>  src/lib/edje/edje_main.c |  45 +++-
>  src/lib/edje/edje_object.eo  |   4 +-
>  src/lib/edje/edje_private.h  |  19 +-
>  src/lib/edje/edje_smart.c|  50 
>  src/lib/edje/edje_text.c |   8 +-
>  src/lib/edje/edje_textblock_styles.c |   6 +-
>  src/lib/edje/edje_util.c | 441 
> ---
>  src/lib/efl/Efl.h|   3 +
>  src/lib/efl/interfaces/efl_observable.eo |  63 +
>  src/lib/efl/interfaces/efl_observer.c| 259 ++
>  src/lib/efl/interfaces/efl_observer.eo   |  15 ++
>  src/lib/efl/interfaces/efl_types.eot |   6 +
>  14 files changed, 514 insertions(+), 416 deletions(-)
>
 [snip]
> +#include "efl_observable.eo.c"
> +#include "efl_observer.eo.c"
> diff --git a/src/lib/efl/interfaces/efl_observer.eo 
> b/src/lib/efl/interfaces/efl_observer.eo
> new file mode 100644
> index 000..a0d4ffe
> --- /dev/null
> +++ b/src/lib/efl/interfaces/efl_observer.eo
> @@ -0,0 +1,15 @@
> +interface Efl.Observer {
> +   methods {
> +  update @virtual_pure {
> + [[Update observer according to the changes of observable object.
> +
> +   @since 1.19]]
> + params {
> +/* FIXME: obs should be Efl.Observable, but cyclic dependency 
> error occurs. */
> +@in obs: Efl.Object; [[An observable object]]

It looks like this is never going to change. So i guess its quite
dangerous to leave this interface like this, since its not going to work
like this. And the interface itself probebly needs to be defined in a
way that it works with the way eolian handles cyclic dependencies

Greetings
   Marcel Hollerbach
 

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


Re: [E-devel] how to configure touchpad like in Xorg

2016-11-18 Thread Gustavo Sverzut Barbieri
On Fri, Nov 18, 2016 at 11:34 AM, Vasiliy Tolstov  wrote:
> 2016-11-18 13:42 GMT+03:00 Gustavo Sverzut Barbieri :
>> I guess you'll have to use xinput command manually. :-(
>>
>
>
> But xinput only for Xorg or it works under wayland and xwayland too?

not sure, it seems they work on libinput which was split from x11 into
separate module.


-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (16) 99354-9890

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


[EGIT] [tools/eflete] master 01/01: editor_top_level: when internal group is used call editore_save_all

2016-11-18 Thread Vitalii Vorobiov
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=6848605c2ddad5672b518a0d11566ea047e15c10

commit 6848605c2ddad5672b518a0d11566ea047e15c10
Author: Vitalii Vorobiov 
Date:   Fri Nov 18 16:15:36 2016 +0200

editor_top_level: when internal group is used call editore_save_all

Fixes T4857
---
 src/bin/editor/editor_top_level.c | 30 +++---
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/bin/editor/editor_top_level.c 
b/src/bin/editor/editor_top_level.c
index 9b27e7f..e62d3b0 100644
--- a/src/bin/editor/editor_top_level.c
+++ b/src/bin/editor/editor_top_level.c
@@ -34,7 +34,7 @@ editor_image_add(Evas_Object *obj, const char *name, 
Eina_Bool notify)
if (!edje_edit_image_add(obj, name))
  return false;
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  return false; /* i hope it will never happen */
_editor_project_changed();
if (notify)
@@ -50,7 +50,7 @@ editor_image_del(Evas_Object *obj, const char *name, 
Eina_Bool notify)
 
CRIT_ON_FAIL(edje_edit_image_del(obj, name));
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  return false; /* i hope it will never happen */
_editor_project_changed();
if (notify)
@@ -67,7 +67,7 @@ editor_color_class_add(Evas_Object *obj, const char *name, 
Eina_Bool notify)
if (!edje_edit_color_class_add(obj, name))
  return false;
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  return false; /* i hope it will never happen */
_editor_project_changed();
if (notify)
@@ -83,7 +83,7 @@ editor_color_class_del(Evas_Object *obj, const char *name, 
Eina_Bool notify)
 
CRIT_ON_FAIL(edje_edit_color_class_del(obj, name));
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  return false; /* i hope it will never happen */
_editor_project_changed();
if (notify)
@@ -104,7 +104,7 @@ editor_color_class_description_set(Evas_Object *obj, const 
char *name, const cha
 
CRIT_ON_FAIL(edje_edit_color_class_description_set(obj, name, description));
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  {
 eina_stringshare_del(send.color_class_name);
 eina_stringshare_del(send.color_class_description);
@@ -140,7 +140,7 @@ editor_color_class_colors_set(Evas_Object *obj, const char 
*name,
  r2, g2, b2, a2,
  r3, g3, b3, a3));
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  {
 eina_stringshare_del(send.color_class_name);
 return false; /* i hope it will never happen */
@@ -161,7 +161,7 @@ editor_sound_sample_add(Evas_Object *obj, const char *name, 
const char *source,
if (!edje_edit_sound_sample_add(obj, name, source))
  return false;
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  return false; /* i hope it will never happen */
_editor_project_changed();
if (notify)
@@ -177,7 +177,7 @@ editor_sound_sample_del(Evas_Object *obj, const char *name, 
Eina_Bool notify)
 
CRIT_ON_FAIL(edje_edit_sound_sample_del(obj, name));
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  return false; /* i hope it will never happen */
_editor_project_changed();
if (notify)
@@ -193,7 +193,7 @@ editor_sound_tone_add(Evas_Object *obj, const char *name, 
int frq, Eina_Bool not
 
CRIT_ON_FAIL(edje_edit_sound_tone_add(obj, name, frq));
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  return false; /* i hope it will never happen */
_editor_project_changed();
if (notify)
@@ -209,7 +209,7 @@ editor_sound_tone_del(Evas_Object *obj, const char *name, 
Eina_Bool notify)
 
CRIT_ON_FAIL(edje_edit_sound_tone_del(obj, name));
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  return false; /* i hope it will never happen */
_editor_project_changed();
if (notify)
@@ -225,7 +225,7 @@ editor_style_add(Evas_Object *obj, const char *name, 
Eina_Bool notify)
 
CRIT_ON_FAIL(edje_edit_style_add(obj, name));
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  return false; /* i hope it will never happen */
_editor_project_changed();
if (notify)
@@ -241,7 +241,7 @@ editor_style_del(Evas_Object *obj, const char *name, 
Eina_Bool notify)
 
CRIT_ON_FAIL(edje_edit_style_del(obj, name));
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  return false; /* i hope it will never happen */
_editor_project_changed();
if (notify)
@@ -261,7 +261,7 @@ editor_style_tag_add(Evas_Object *obj, const char *name, 
const char *tag)
send.tag_name = eina_stringshare_add(tag);
send.style_name = eina_stringshare_add(name);
 
-   if (!editor_save(obj))
+   if (!editor_save_all(obj))
  {
 eina_stringshare_del(send.style_name);
 eina_stringshare_del(send.tag_name);
@@ -287,7 +287,7 @@ editor_style_tag_del(Evas_O

[EGIT] [core/efl] master 01/06: efl_net: use SOCKET_FMT to format SOCKET so it works on UNIX and Windows.

2016-11-18 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 5818dc71da2b058e6f38f218785b08660e8b92e6
Author: Gustavo Sverzut Barbieri 
Date:   Fri Nov 18 12:17:08 2016 -0200

efl_net: use SOCKET_FMT to format SOCKET so it works on UNIX and Windows.

On Windows SOCKET is unsigned, thus will cause sign errors when
formatting with "%d" or comparing with signed values.

On UNIX it was quiet and easy to miss, thus a new #define can be used
to check for those. It will use 'unsigned long' as SOCKET, thus will
complain out loud and not even work correctly when using pointers on
64bits UNIX on mistakes -- which should improve the situation.

This helped to fix lots of missing conversions, all fixed.

This partially addresses D4357.
---
 src/lib/ecore_con/ecore_con.c   | 104 
 src/lib/ecore_con/ecore_con_private.h   |  24 +++-
 src/lib/ecore_con/efl_net_dialer_http.c |  24 
 src/lib/ecore_con/efl_net_dialer_tcp.c  |   2 +-
 src/lib/ecore_con/efl_net_dialer_udp.c  |  10 +--
 src/lib/ecore_con/efl_net_dialer_unix.c |   4 +-
 src/lib/ecore_con/efl_net_server_fd.c   |  50 ---
 src/lib/ecore_con/efl_net_server_tcp.c  |  30 -
 src/lib/ecore_con/efl_net_server_udp.c  |  28 -
 src/lib/ecore_con/efl_net_server_unix.c |  26 
 src/lib/ecore_con/efl_net_socket_fd.c   |  18 +++---
 src/lib/ecore_con/efl_net_socket_tcp.c  |  28 +
 src/lib/ecore_con/efl_net_socket_udp.c  |  41 +++--
 src/lib/ecore_con/efl_net_socket_unix.c |  10 +--
 14 files changed, 222 insertions(+), 177 deletions(-)

diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index 48b1d1c..0812a7c 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -3045,7 +3045,7 @@ efl_net_unix_fmt(char *buf, size_t buflen, SOCKET fd, 
const struct sockaddr_un *
 
if (addrlen == offsetof(struct sockaddr_un, sun_path))
  {
-int r = snprintf(buf, buflen, "unnamed:%d", fd);
+int r = snprintf(buf, buflen, "unnamed:" SOCKET_FMT, fd);
 if (r < 0)
   {
  ERR("snprintf(): %s", strerror(errno));
@@ -3219,7 +3219,7 @@ efl_net_ip_socket_activate_check(const char *address, int 
family, int type, Eina
 r = sd_is_socket_unix(fd, type, 0, sun_path, len);
 if (r < 0)
   {
- ERR("socket %d is not of family=%d, type=%d", fd, family, type);
+ ERR("socket " SOCKET_FMT " is not of family=%d, type=%d", fd, 
family, type);
  return EINVAL;
   }
 if (listening) *listening = (r == 1);
@@ -3238,7 +3238,7 @@ efl_net_ip_socket_activate_check(const char *address, int 
family, int type, Eina
 r = sd_is_socket(fd, family, type, (type == SOCK_DGRAM) ? -1 : 0);
 if (r < 0)
   {
- ERR("socket %d is not of family=%d, type=%d", fd, family, type);
+ ERR("socket " SOCKET_FMT " is not of family=%d, type=%d", fd, 
family, type);
  return EINVAL;
   }
 if ((type == SOCK_DGRAM) && (listening)) *listening = EINA_FALSE;
@@ -3248,7 +3248,7 @@ efl_net_ip_socket_activate_check(const char *address, int 
family, int type, Eina
 if (getsockname(fd, (struct sockaddr *)&sock_addr, &addrlen) != 0)
   {
  err = efl_net_socket_error_get();
- ERR("could not query socket=%d name: %s", fd, 
eina_error_msg_get(err));
+ ERR("could not query socket=" SOCKET_FMT " name: %s", fd, 
eina_error_msg_get(err));
  return err;
   }
 
@@ -3285,7 +3285,7 @@ efl_net_ip_socket_activate_check(const char *address, int 
family, int type, Eina
  want_addr.ss_family = family;
  if (want_addr.ss_family != sock_addr.ss_family)
{
-  ERR("socket %d family=%d differs from wanted %d", fd, 
sock_addr.ss_family, want_addr.ss_family);
+  ERR("socket " SOCKET_FMT " family=%d differs from wanted 
%d", fd, sock_addr.ss_family, want_addr.ss_family);
   free(str);
   return EINVAL;
}
@@ -3324,7 +3324,7 @@ efl_net_ip_socket_activate_check(const char *address, int 
family, int type, Eina
   char buf[INET6_ADDRSTRLEN + sizeof("[]:65536")] = "";
 
   efl_net_ip_port_fmt(buf, sizeof(buf), (struct sockaddr 
*)&sock_addr);
-  ERR("socket %d address %s differs from wanted %s", fd, buf, 
address);
+  ERR("socket " SOCKET_FMT " address %s differs from wanted 
%s", fd, buf, address);
   free(str);
   return EINVAL;
}
@@ -3601,7 +3601,7 @@ _efl_net_connect_async_run(void *data, Ecore_Thread 
*thread EINA_UNUSED)
   efl_net_ip_port_fmt(buf, sizeof(buf), d->addr);
  }
 
-   DBG("connecti

[EGIT] [core/efl] master 03/06: efl_net: define EAI_SYSTEM when it's not defined (ie: Windows).

2016-11-18 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit b322a3ae53827cb880cec8d8f234f685dce6a179
Author: Gustavo Sverzut Barbieri 
Date:   Fri Nov 18 12:27:15 2016 -0200

efl_net: define EAI_SYSTEM when it's not defined (ie: Windows).

its value is unimportant, just do not match any other EAI error value.

Partially fixes D4357.
---
 src/lib/ecore_con/ecore_con_private.h | 9 +
 1 file changed, 9 insertions(+)

diff --git a/src/lib/ecore_con/ecore_con_private.h 
b/src/lib/ecore_con/ecore_con_private.h
index 6e4994c..5253985 100644
--- a/src/lib/ecore_con/ecore_con_private.h
+++ b/src/lib/ecore_con/ecore_con_private.h
@@ -426,6 +426,15 @@ void ecore_con_mempool_shutdown(void);
 #define AI_ADDRCONFIG 0
 #endif
 
+/* Windows do not define EAI_SYSTEM, so just define to some number
+ * that won't be matched, effectively disabling the subsequent
+ * checks/usage
+ */
+#ifndef EAI_SYSTEM
+#define EAI_SYSTEM 254 /* number that won't match anything in EAI_* */
+#endif
+
+
 void _efl_net_server_udp_client_init(Eo *client, SOCKET fd, const struct 
sockaddr *addr, socklen_t addrlen, const char *str);
 void _efl_net_server_udp_client_feed(Eo *client, Eina_Rw_Slice slice);
 

-- 




[EGIT] [core/efl] master 05/06: efl_net: remove send()/recv() warning on windows.

2016-11-18 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 8d24622f57bdb7ee4c25927d8fbf3321fadae40a
Author: Gustavo Sverzut Barbieri 
Date:   Fri Nov 18 12:39:43 2016 -0200

efl_net: remove send()/recv() warning on windows.

windows is nasty and defines the payload to be sent or received as
'char *', which triggers a warning when we use another kind of
pointer.

Partially addresses D4357.
---
 src/lib/ecore_con/ecore_con.c | 32 
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index 2d58c98..14698b5 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -3949,7 +3949,7 @@ 
_efl_net_ip_connect_async_run_socks4_try(Efl_Net_Ip_Connect_Async_Data *d, const
request->port = a->sin_port;
memcpy(request->ipv4, &a->sin_addr, 4);
 
-   s = send(fd, request, request_len, MSG_NOSIGNAL);
+   s = send(fd, (const char *)request, request_len, MSG_NOSIGNAL);
if (s != (ssize_t)request_len)
  {
 if (s == SOCKET_ERROR)
@@ -3960,7 +3960,7 @@ 
_efl_net_ip_connect_async_run_socks4_try(Efl_Net_Ip_Connect_Async_Data *d, const
else
  {
 Efl_Net_Socks4_Reply reply;
-s = recv(fd, &reply, sizeof(reply), MSG_NOSIGNAL);
+s = recv(fd, (char *)&reply, sizeof(reply), MSG_NOSIGNAL);
 if (s != sizeof(reply))
   {
  if (s == SOCKET_ERROR)
@@ -4170,7 +4170,7 @@ 
_efl_net_ip_connect_async_run_socks4a(Efl_Net_Ip_Connect_Async_Data *d, const ch
   request->ipv4[2] = 0;
   request->ipv4[3] = 255;
 
-  s = send(fd, request, request_len, MSG_NOSIGNAL);
+  s = send(fd, (const char *)request, request_len, 
MSG_NOSIGNAL);
   if (s != (ssize_t)request_len)
 {
if (s == SOCKET_ERROR)
@@ -4181,7 +4181,7 @@ 
_efl_net_ip_connect_async_run_socks4a(Efl_Net_Ip_Connect_Async_Data *d, const ch
   else
 {
Efl_Net_Socks4_Reply reply;
-   s = recv(fd, &reply, sizeof(reply), MSG_NOSIGNAL);
+   s = recv(fd, (char *)&reply, sizeof(reply), 
MSG_NOSIGNAL);
if (s != sizeof(reply))
  {
 if (s == SOCKET_ERROR)
@@ -4412,7 +4412,7 @@ 
_efl_net_ip_connect_async_run_socks5_auth_user_pass(SOCKET fd, const char *user,
  {
 uint8_t reply[2];
 
-s = recv(fd, &reply, sizeof(reply), MSG_NOSIGNAL);
+s = recv(fd, (char *)&reply, sizeof(reply), MSG_NOSIGNAL);
 if (s != (ssize_t)sizeof(reply))
   {
  if (s == SOCKET_ERROR)
@@ -4468,7 +4468,7 @@ 
_efl_net_ip_connect_async_run_socks5_try(Efl_Net_Ip_Connect_Async_Data *d, const
   DBG("resolved address='%s' to %s. Connect using fd=" SOCKET_FMT " 
socks5://%s:%s", d->address, buf, fd, proxy_host, proxy_port);
  }
 
-   s = send(fd, &greeting, sizeof(greeting), MSG_NOSIGNAL);
+   s = send(fd, (const char *)&greeting, sizeof(greeting), MSG_NOSIGNAL);
if (s != (ssize_t)sizeof(greeting))
  {
 if (s == SOCKET_ERROR)
@@ -4479,7 +4479,7 @@ 
_efl_net_ip_connect_async_run_socks5_try(Efl_Net_Ip_Connect_Async_Data *d, const
else
  {
 Efl_Net_Socks5_Greeting_Reply greeting_reply;
-s = recv(fd, &greeting_reply, sizeof(greeting_reply), MSG_NOSIGNAL);
+s = recv(fd, (char *)&greeting_reply, sizeof(greeting_reply), 
MSG_NOSIGNAL);
 if (s != sizeof(greeting_reply))
   {
  if (s == SOCKET_ERROR)
@@ -4508,7 +4508,7 @@ 
_efl_net_ip_connect_async_run_socks5_try(Efl_Net_Ip_Connect_Async_Data *d, const
  {
 EINA_THREAD_CLEANUP_PUSH(free, request);
 
-s = send(fd, request, request_len, MSG_NOSIGNAL);
+s = send(fd, (const char *)request, request_len, 
MSG_NOSIGNAL);
 if (s != (ssize_t)request_len)
   {
  if (s == SOCKET_ERROR)
@@ -4519,7 +4519,7 @@ 
_efl_net_ip_connect_async_run_socks5_try(Efl_Net_Ip_Connect_Async_Data *d, const
 else if (addrinfo->ai_family == AF_INET)
   {
  Efl_Net_Socks5_Reply_Ipv4 reply;
- s = recv(fd, &reply, sizeof(reply), 
MSG_NOSIGNAL);
+ s = recv(fd, (char *)&reply, sizeof(reply), 
MSG_NOSIGNAL);
  if (s != sizeof(reply))
{
   if (s == SOCKET_ERROR)
@@ -4545,7 +4545,7 @@ 
_efl_net_ip_connect_async_run_socks5_try(Efl_Net_Ip_Connect_A

[EGIT] [core/efl] master 06/06: efl_net: remove getsockopt()/setsockopt() warning on windows.

2016-11-18 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 371a3332efe86596531af90104b4fad45df87c2c
Author: Gustavo Sverzut Barbieri 
Date:   Fri Nov 18 12:52:08 2016 -0200

efl_net: remove getsockopt()/setsockopt() warning on windows.

windows is nasty and defines the value to be set or retrieved as
'char *', which triggers a warning when we use another kind of
pointer.

Partially addresses D4357.
---
 src/lib/ecore_con/ecore_con.c  | 16 
 src/lib/ecore_con/efl_net_dialer_udp.c |  4 ++--
 src/lib/ecore_con/efl_net_server_fd.c  | 10 +-
 src/lib/ecore_con/efl_net_server_tcp.c |  4 ++--
 src/lib/ecore_con/efl_net_server_udp.c |  8 
 src/lib/ecore_con/efl_net_socket_tcp.c | 12 ++--
 src/lib/ecore_con/efl_net_socket_udp.c | 16 
 7 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index 14698b5..18087c9 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -5271,7 +5271,7 @@ efl_net_multicast_join(SOCKET fd, int family, const char 
*address)
 if (err)
   return err;
 
-if (setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq)) 
== 0)
+if (setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const char *)&mreq, 
sizeof(mreq)) == 0)
   return 0;
  }
else if (family == AF_INET6)
@@ -5282,7 +5282,7 @@ efl_net_multicast_join(SOCKET fd, int family, const char 
*address)
 if (err)
   return err;
 
-if (setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, &mreq, sizeof(mreq)) 
== 0)
+if (setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, (const char *)&mreq, 
sizeof(mreq)) == 0)
   return 0;
  }
else
@@ -5307,7 +5307,7 @@ efl_net_multicast_leave(SOCKET fd, int family, const char 
*address)
 if (err)
   return err;
 
-if (setsockopt(fd, IPPROTO_IP, IP_DROP_MEMBERSHIP, &mreq, 
sizeof(mreq)) == 0)
+if (setsockopt(fd, IPPROTO_IP, IP_DROP_MEMBERSHIP, (const char 
*)&mreq, sizeof(mreq)) == 0)
   return 0;
  }
else if (family == AF_INET6)
@@ -5318,7 +5318,7 @@ efl_net_multicast_leave(SOCKET fd, int family, const char 
*address)
 if (err)
   return err;
 
-if (setsockopt(fd, IPPROTO_IPV6, IPV6_LEAVE_GROUP, &mreq, 
sizeof(mreq)) == 0)
+if (setsockopt(fd, IPPROTO_IPV6, IPV6_LEAVE_GROUP, (const char 
*)&mreq, sizeof(mreq)) == 0)
   return 0;
  }
else
@@ -5341,7 +5341,7 @@ efl_net_multicast_ttl_set(SOCKET fd, int family, uint8_t 
ttl)
int value = ttl;
 #endif
 
-   if (setsockopt(fd, level, opt, &value, sizeof(value)) == 0)
+   if (setsockopt(fd, level, opt, (const char *)&value, sizeof(value)) == 0)
  return 0;
 
return efl_net_socket_error_get();
@@ -5360,7 +5360,7 @@ efl_net_multicast_ttl_get(SOCKET fd, int family, uint8_t 
*ttl)
socklen_t valuelen = sizeof(value);
 #endif
 
-   if (getsockopt(fd, level, opt, &value, &valuelen) == 0)
+   if (getsockopt(fd, level, opt, (char *)&value, &valuelen) == 0)
  {
 *ttl = value;
 return 0;
@@ -5380,7 +5380,7 @@ efl_net_multicast_loopback_set(SOCKET fd, int family, 
Eina_Bool loopback)
int value = loopback;
 #endif
 
-   if (setsockopt(fd, level, opt, &value, sizeof(value)) == 0)
+   if (setsockopt(fd, level, opt, (const char *)&value, sizeof(value)) == 0)
  return 0;
 
return efl_net_socket_error_get();
@@ -5399,7 +5399,7 @@ efl_net_multicast_loopback_get(SOCKET fd, int family, 
Eina_Bool *loopback)
socklen_t valuelen = sizeof(value);
 #endif
 
-   if (getsockopt(fd, level, opt, &value, &valuelen) == 0)
+   if (getsockopt(fd, level, opt, (char *)&value, &valuelen) == 0)
  {
 *loopback = !!value;
 return 0;
diff --git a/src/lib/ecore_con/efl_net_dialer_udp.c 
b/src/lib/ecore_con/efl_net_dialer_udp.c
index 5a1a331..327a629 100644
--- a/src/lib/ecore_con/efl_net_dialer_udp.c
+++ b/src/lib/ecore_con/efl_net_dialer_udp.c
@@ -131,7 +131,7 @@ _efl_net_dialer_udp_resolved_bind(Eo *o, 
Efl_Net_Dialer_Udp_Data *pd EINA_UNUSED
 #else
  int enable = 1;
 #endif
- if (setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &enable, 
sizeof(enable)) == 0)
+ if (setsockopt(fd, SOL_SOCKET, SO_BROADCAST, (const char 
*)&enable, sizeof(enable)) == 0)
DBG("enabled SO_BROADCAST for socket=" SOCKET_FMT, fd);
  else
WRN("could not enable SO_BROADCAST for socket=" SOCKET_FMT ": 
%s", fd, eina_error_msg_get(efl_net_socket_error_get()));
@@ -145,7 +145,7 @@ _efl_net_dialer_udp_resolved_bind(Eo *o, 
Efl_Net_Dialer_Udp_Data *pd EINA_UNUSED
  struct ipv6_mreq mreq = {
.ipv6mr_multiaddr = a->sin6_addr,
  };
- if (setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, &mreq, 
sizeof

[EGIT] [core/efl] master 04/06: efl_net: do not use sockaddr_un on Windows.

2016-11-18 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit c3ddc8f09e6d7f7deec73d5f380f24a1cf2a3919
Author: Gustavo Sverzut Barbieri 
Date:   Fri Nov 18 12:32:16 2016 -0200

efl_net: do not use sockaddr_un on Windows.

struct sockaddr_un doesn't exist on windows, so do not use it.

Partially addresses D4357.
---
 src/lib/ecore_con/ecore_con.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index 0812a7c..2d58c98 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -3567,7 +3567,11 @@ static void
 _efl_net_connect_async_run(void *data, Ecore_Thread *thread EINA_UNUSED)
 {
Efl_Net_Connect_Async_Data *d = data;
-   char buf[INET6_ADDRSTRLEN + sizeof("[]:65536") + sizeof(struct 
sockaddr_un)] = "";
+   char buf[INET6_ADDRSTRLEN + sizeof("[]:65536")
+#ifndef _WIN32
++ sizeof(struct sockaddr_un)
+#endif
+] = "";
int r;
 
/* allows ecore_thread_cancel() to cancel at some points, see

-- 




[EGIT] [core/efl] master 02/06: efl_net: windows do not define AI_ADDRCONFIG.

2016-11-18 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 090940c3ae1f0fb2d284d916debbb44a6d254b21
Author: Gustavo Sverzut Barbieri 
Date:   Fri Nov 18 12:20:57 2016 -0200

efl_net: windows do not define AI_ADDRCONFIG.

do as for other missing bitwise flags and simply define to 0, reducing
need to ifdefs in the code.

This partially addresses D4357.
---
 src/lib/ecore_con/ecore_con_private.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/ecore_con/ecore_con_private.h 
b/src/lib/ecore_con/ecore_con_private.h
index aa1b819..6e4994c 100644
--- a/src/lib/ecore_con/ecore_con_private.h
+++ b/src/lib/ecore_con/ecore_con_private.h
@@ -422,6 +422,9 @@ void ecore_con_mempool_shutdown(void);
 #ifndef AI_V4MAPPED
 #define AI_V4MAPPED 0
 #endif
+#ifndef AI_ADDRCONFIG
+#define AI_ADDRCONFIG 0
+#endif
 
 void _efl_net_server_udp_client_init(Eo *client, SOCKET fd, const struct 
sockaddr *addr, socklen_t addrlen, const char *str);
 void _efl_net_server_udp_client_feed(Eo *client, Eina_Rw_Slice slice);

-- 




Re: [E-devel] how to configure touchpad like in Xorg

2016-11-18 Thread Christopher Michael
On 11/17/2016 07:23 PM, Vasiliy Tolstov wrote:
> As i understand i need enable this:
> libinput_device_config_tap_set_drag_lock_enabled
> libinput_device_config_dwt_set_enabled
> libinput_device_config_tap_set_drag_enabled
> libinput_device_config_scroll_set_method
> libinput_device_config_click_set_method
> libinput_device_config_tap_set_enabled
>
> How can i do that in enlightenment session?
>
>

Currently these functions are not exposed for the Elput library. They 
could be added as new Elput API functions, however that is only half the 
solution, the other half would require a config module (for 
Enlightenment) in order to set those values.

dh


> 2016-11-18 1:31 GMT+03:00 Vasiliy Tolstov :
>> 2016-11-17 16:35 GMT+03:00 Carsten Haitzler :
>>> yup. i've never had any incentive to... i hate the things. i plug in a 
>>> mouse if
>>> i use my laptop and smile. :)
>>
>>
>> Without ability to config touchpad under wayland, enlightenment
>> unusable, becouse i can't tap on touchpad to simulate clicking, i
>> can't scroll with two fingers. As i see libinput proto in gnome -
>> gnome-settings-daemon set needed options for touchpad.
>> In case of enlightenment i think that e need to configure touchpad.
>> Mouse need additional surface and eat additional power. In mobile
>> world and touchpad mouse don't need at all.
>> So please add basic touchpad module to configure tap wit one and two
>> fingers and scrolling ability. This is mostly needed features...
>> Thanks!
>>
>> --
>> Vasiliy Tolstov,
>> e-mail: v.tols...@selfip.ru
>
>
>


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


[EGIT] [website/www-content] master 01/01: Wiki page start changed with summary [Added the missing number(64) in the statement.] by Zubair Sharief

2016-11-18 Thread Zubair Sharief
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=d674560e1f6d567eb60ac856f6d9a3dd76afa4ea

commit d674560e1f6d567eb60ac856f6d9a3dd76afa4ea
Author: Zubair Sharief 
Date:   Fri Nov 18 06:20:34 2016 -0800

Wiki page start changed with summary [Added the missing number(64) in the 
statement.] by Zubair Sharief
---
 pages/docs/c/start.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/docs/c/start.txt b/pages/docs/c/start.txt
index 1d2b38e..fd9abcc 100644
--- a/pages/docs/c/start.txt
+++ b/pages/docs/c/start.txt
@@ -120,7 +120,7 @@ Pointers are also just integers. Either 32 or 64 bits. They 
refer to a location
 
 When we want signed numbers, we center our ranges AROUND 0. So bytes (chars) 
can go from -128 to 127, shorts from -32768 to 32767, and so on. By default all 
of the types are signed (except pointers) UNLESS you put an "unsigned" in front 
of them. You can also place "signed" in front to explicitly say you want the 
type to be signed. //A catch - on ARM systems chars often are unsigned by 
default//. Also be aware that it is common on 64 bit systems to have long 
integers be 64 bit, and on 32  [...]
 
-Pointers follow the instruction set mode. For 32 bit architectures pointers 
are 32 bits in size, and are bits in size on 64 bit architectures. Standard ARM 
systems are 32 bit, except for very new 64 bit ARM systems. On x86, 64 bit has 
been around for a while, and so you will commonly see both. This is the same 
for PowerPC and MIPS as well.
+Pointers follow the instruction set mode. For 32 bit architectures pointers 
are 32 bits in size, and are 64 bits in size on 64 bit architectures. Standard 
ARM systems are 32 bit, except for very new 64 bit ARM systems. On x86, 64 bit 
has been around for a while, and so you will commonly see both. This is the 
same for PowerPC and MIPS as well.
 
 Memory to a machine is just a big "spreadsheet" of numbers. Imagine it as a 
spreadsheet with only 1 column and a lot of rows. Every cell can store 8 bits 
(a byte). If you "merge" rows (2, 4, 8) you can store more values as above. But 
when you merge rows, the next row number doesn't change. You also could still 
address the "parts" of the merged cell as bytes or smaller units. In the end 
pointers are nothing more than a number saying "go to memory row 2943298 and 
get me the integer (4 byte [...]
 

-- 




Re: [E-devel] how to configure touchpad like in Xorg

2016-11-18 Thread Vasiliy Tolstov
2016-11-18 13:42 GMT+03:00 Gustavo Sverzut Barbieri :
> I guess you'll have to use xinput command manually. :-(
>


But xinput only for Xorg or it works under wayland and xwayland too?

-- 
Vasiliy Tolstov,
e-mail: v.tols...@selfip.ru

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


[EGIT] [core/efl] master 01/01: evas-gl-generic: Add missing EINA_UNUSED for unused function parameter

2016-11-18 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 0f1e7bad92cea4c17b87987d4be9aba107fc3018
Author: Chris Michael 
Date:   Fri Nov 18 08:13:47 2016 -0500

evas-gl-generic: Add missing EINA_UNUSED for unused function parameter

NB: No real functional changes, just adding a missing EINA_UNUSED

Signed-off-by: Chris Michael 
---
 src/modules/evas/engines/gl_generic/evas_engine.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c 
b/src/modules/evas/engines/gl_generic/evas_engine.c
index 4c5a168..77372c7 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -3110,7 +3110,7 @@ eng_image_surface_noscale_new(void *engdata, int w, int 
h, int alpha)
 }
 
 static void
-eng_image_surface_noscale_region_get(void *engdata, void *image, int *x, int 
*y, int *w, int *h)
+eng_image_surface_noscale_region_get(void *engdata EINA_UNUSED, void *image, 
int *x, int *y, int *w, int *h)
 {
Evas_GL_Image *im = image;
 

-- 




[EGIT] [core/efl] master 01/01: evas-software-generic: Add missing EINA_UNUSED for unused function parameter

2016-11-18 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 55e2ed5279ef21991922235fc1c88f9366d231cd
Author: Chris Michael 
Date:   Fri Nov 18 08:09:17 2016 -0500

evas-software-generic: Add missing EINA_UNUSED for unused function
parameter

NB: No real functional changes, just adding a missing EINA_UNUSED

Signed-off-by: Chris Michael 
---
 src/modules/evas/engines/software_generic/evas_engine.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/software_generic/evas_engine.c 
b/src/modules/evas/engines/software_generic/evas_engine.c
index 69536ae..611ee14 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -1956,7 +1956,7 @@ eng_image_surface_noscale_new(void *engdata, int w, int 
h, int alpha)
 }
 
 static void
-eng_image_surface_noscale_region_get(void *engdata, void *image, int *x, int 
*y, int *w, int *h)
+eng_image_surface_noscale_region_get(void *engdata EINA_UNUSED, void *image, 
int *x, int *y, int *w, int *h)
 {
RGBA_Image *im = image;
 

-- 




[EGIT] [core/efl] master 01/04: docs: elm_entry: fill gaps in elm entry eo file documentation

2016-11-18 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 78aa2dc625f3cad6cfd195b36553f1796943eff8
Author: Stefan Schmidt 
Date:   Thu Nov 17 16:30:05 2016 +0100

docs: elm_entry: fill gaps in elm entry eo file documentation
---
 src/lib/elementary/elm_entry.eo | 97 -
 1 file changed, 48 insertions(+), 49 deletions(-)

diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo
index a15be39..b0c30d1 100644
--- a/src/lib/elementary/elm_entry.eo
+++ b/src/lib/elementary/elm_entry.eo
@@ -103,7 +103,6 @@ enum Elm.Input.Hints
  @since 1.12]]
 }
 
-
 enum Elm.Cnp_Mode
 {
[[
@@ -121,6 +120,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
  Elm.Interface.Atspi.Text, Elm.Interface.Atspi.Text.Editable, 
Efl.File,
  Efl.Ui.Selectable, Efl.Ui.Scrollable)
 {
+   [[Elementary entry class]]
legacy_prefix: elm_entry;
eo_prefix: elm_obj_entry;
event_prefix: elm_entry;
@@ -158,7 +158,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 ]]
  }
  values {
-ondemand: bool; [[If true, the input panel will be shown in case 
of only Mouse up event.
+ondemand: bool; [[If $true, the input panel will be shown in case 
of only Mouse up event.
 (Focus event will be ignored.)
 ]]
  }
@@ -227,7 +227,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 [[Get the language mode of the input panel.]]
  }
  values {
-lang: Elm.Input.Panel.Lang; [[language to be set to the input 
panel.]]
+lang: Elm.Input.Panel.Lang; [[Language to be set to the input 
panel.]]
  }
   }
   @property selection_handler_disabled {
@@ -256,7 +256,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 ]]
  }
  values {
-variation: int; [[layout variation type.]]
+variation: int; [[Layout variation type.]]
  }
   }
   @property autocapital_type {
@@ -326,7 +326,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 [[Get whether the entry is set to be single line.]]
  }
  values {
-single_line: bool; [[If true, the text in the entry
+single_line: bool; [[If $true, the text in the entry
 will be on a single line.]]
  }
   }
@@ -342,7 +342,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 [[Get whether the entry is set to password mode.]]
  }
  values {
-password: bool; [[If true, password mode is enabled.]]
+password: bool; [[If $true, password mode is enabled.]]
  }
   }
   @property input_panel_return_key_disabled {
@@ -417,7 +417,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 [[Get the input panel layout of the entry.]]
  }
  values {
-layout: Elm.Input.Panel.Layout(Elm.Input.Panel.Layout.invalid); 
[[layout type.]]
+layout: Elm.Input.Panel.Layout(Elm.Input.Panel.Layout.invalid); 
[[Layout type.]]
  }
   }
   @property input_panel_return_key_type {
@@ -444,7 +444,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 [[Get the attribute to show the input panel automatically.]]
  }
  values {
-enabled: bool; [[If true, the input panel is appeared when entry 
is clicked or has a focus.]]
+enabled: bool; [[If $true, the input panel is appeared when entry 
is clicked or has a focus.]]
  }
   }
   @property line_wrap {
@@ -525,7 +525,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 ]]
  }
  values {
-enabled: bool; [[If $enabled is true, the return key is 
automatically disabled when the entry has no text.]]
+enabled: bool; [[If $enabled is $true, the return key is 
automatically disabled when the entry has no text.]]
  }
   }
   @property end_visible {
@@ -534,7 +534,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
   \@ref elm_object_part_content_set(ent, "end", content).]]
  }
  values {
-setting: bool; [[true if the object should be displayed,
+setting: bool; [[$true if the object should be displayed,
 false if not.]]
  }
   }
@@ -579,7 +579,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
   change the internal textblock object). This applies to all 
cursors
   returned fr

[EGIT] [core/efl] master 02/04: docs: efl_ui_text: fill gaps in efl ui text eo file documentation

2016-11-18 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 246c6dc4475f971538f1bab3ba622e421a8ec891
Author: Stefan Schmidt 
Date:   Thu Nov 17 16:56:30 2016 +0100

docs: efl_ui_text: fill gaps in efl ui text eo file documentation
---
 src/lib/elementary/efl_ui_text.eo | 56 +++
 1 file changed, 28 insertions(+), 28 deletions(-)

diff --git a/src/lib/elementary/efl_ui_text.eo 
b/src/lib/elementary/efl_ui_text.eo
index 97660fd..af1a249 100644
--- a/src/lib/elementary/efl_ui_text.eo
+++ b/src/lib/elementary/efl_ui_text.eo
@@ -90,7 +90,7 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 ]]
  }
  values {
-ondemand: bool; [[If true, the input panel will be shown in case 
of only Mouse up event.
+ondemand: bool; [[If $true, the input panel will be shown in case 
of only Mouse up event.
 (Focus event will be ignored.)
 ]]
  }
@@ -141,7 +141,7 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 [[Get the language mode of the input panel.]]
  }
  values {
-lang: Elm.Input.Panel.Lang; [[language to be set to the input 
panel.]]
+lang: Elm.Input.Panel.Lang; [[Language to be set to the input 
panel.]]
  }
   }
   @property selection_handler_disabled {
@@ -170,7 +170,7 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 ]]
  }
  values {
-variation: int; [[layout variation type.]]
+variation: int; [[Layout variation type.]]
  }
   }
   @property autocapital_type {
@@ -241,7 +241,7 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 [[Get the input panel layout of the entry.]]
  }
  values {
-layout: Elm.Input.Panel.Layout(Elm.Input.Panel.Layout.invalid); 
[[layout type.]]
+layout: Elm.Input.Panel.Layout(Elm.Input.Panel.Layout.invalid); 
[[Layout type.]]
  }
   }
   @property input_panel_return_key_type {
@@ -266,7 +266,7 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 [[Get the attribute to show the input panel automatically.]]
  }
  values {
-enabled: bool; [[If true, the input panel is appeared when entry 
is clicked or has a focus.]]
+enabled: bool; [[If $true, the input panel is appeared when entry 
is clicked or has a focus.]]
  }
   }
   @property input_panel_return_key_autoenabled {
@@ -279,7 +279,7 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 ]]
  }
  values {
-enabled: bool; [[If $enabled is true, the return key is 
automatically disabled when the entry has no text.]]
+enabled: bool; [[If $enabled is $true, the return key is 
automatically disabled when the entry has no text.]]
  }
   }
   @property imf_context {
@@ -291,7 +291,7 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
   IMPORTANT: Many functions may change (i.e delete and create a 
new one)
   the internal input method context. Do NOT cache the returned 
object.
 ]]
-return: void_ptr;
+return: void_ptr; [[Input method context]]
  }
   }
   item_provider_prepend {
@@ -413,7 +413,7 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
   }
   cursor_new {
  [[Creates and returns a new cursor for the text.]]
- return: Efl.Canvas.Text.Cursor;
+ return: Efl.Canvas.Text.Cursor; [[Text cursor]]
   }
}
implements {
@@ -475,26 +475,26 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
   Efl.Ui.Text.Interactive.editable.set;
}
events {
-  activated;
-  changed;
+  activated; [[Called when entry got activated]]
+  changed; [[Called when entry changed]]
   changed,user; [[Called when object changed due to user interaction]]
-  validate;
-  context,open;
-  anchor,clicked;
-  rejected;
-  maxlength,reached;
-  preedit,changed;
-  press;
-  redo,request;
-  undo,request;
-  text,set,done;
-  aborted;
-  anchor,down;
-  anchor,hover,opened;
-  anchor,in;
-  anchor,out;
-  anchor,up;
-  cursor,changed;
-  cursor,changed,manual;
+  validate; [[Called when validating]]
+  context,open; [[Called when context menu was opened]]
+  anchor,clicked; [[Called when anchor was clicked]]
+  rejected; [[Called when entry was rejected]]
+  maxlength,reached; [[Called when maximum entry length has been reached]]
+  preedit,changed; [[Calle

[EGIT] [core/efl] master 04/04: docs: genlist: fill gaps in genlist eo file documentation

2016-11-18 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 9d796a4d1b69d36f0821abdb8dc5d7b5fe4eaa6e
Author: Stefan Schmidt 
Date:   Fri Nov 18 12:30:50 2016 +0100

docs: genlist: fill gaps in genlist eo file documentation
---
 src/lib/elementary/elm_genlist.eo  | 96 +-
 src/lib/elementary/elm_genlist_item.eo |  1 +
 src/lib/elementary/elm_genlist_pan.eo  |  6 +--
 3 files changed, 52 insertions(+), 51 deletions(-)

diff --git a/src/lib/elementary/elm_genlist.eo 
b/src/lib/elementary/elm_genlist.eo
index 120b1ae..129960b 100644
--- a/src/lib/elementary/elm_genlist.eo
+++ b/src/lib/elementary/elm_genlist.eo
@@ -6,6 +6,7 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
Elm.Interface.Atspi_Widget_Action, 
Elm.Interface.Atspi.Selection,
Efl.Ui.Selectable)
 {
+   [[Elementary genlist class]]
legacy_prefix: elm_genlist;
eo_prefix: elm_obj_genlist;
event_prefix: elm_genlist;
@@ -304,7 +305,7 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
   item pointers in the list are only valid so long as those
   items are not deleted or the genlist is not deleted.
 ]]
-return: free(own(list), eina_list_free) 
@warn_unused;
+return: free(own(list), eina_list_free) 
@warn_unused; [[List of realized items]]
  }
   }
   @property selected_items {
@@ -322,7 +323,7 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
   Note: If not in multi-select mode, consider using function
   @.selected_item.get instead.
 ]]
-return: const(list);
+return: const(list); [[List of selected items]]
  }
   }
   @property last_item {
@@ -334,7 +335,7 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
   If filter is set to genlist, it returns
   last filtered item in the list.
 ]]
-return: Elm.Widget.Item;
+return: Elm.Widget.Item; [[Last item in list]]
  }
   }
   item_insert_before {
@@ -343,7 +344,7 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
This inserts an item before another in the list. It will be in
the same tree level or group as the item it is inserted before.
  ]]
- return: Elm.Widget.Item;
+ return: Elm.Widget.Item; [[Handle to inserted item]]
  params {
 @in itc: ptr(const(Elm.Genlist.Item.Class)); [[The item class for 
the item.]]
 @in data: const(void_ptr); [[The item data.]]
@@ -371,7 +372,7 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
This inserts an item after another in the list. It will be in the
same tree level or group as the item it is inserted after.
  ]]
- return: Elm.Widget.Item;
+ return: Elm.Widget.Item; [[Handle to inserted item]]
  params {
 @in itc: ptr(const(Elm.Genlist.Item.Class)); [[The item class for 
the item.]]
 @in data: const(void_ptr); [[The item data.]]
@@ -395,7 +396,7 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
1 based if the coordinate is above or below all items
respectively in the genlist.
  ]]
- return: Elm.Widget.Item;
+ return: Elm.Widget.Item; [[Item at position]]
  params {
 @in x: Evas.Coord; [[The input x coordinate.]]
 @in y: Evas.Coord; [[The input y coordinate.]]
@@ -435,7 +436,7 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
 
@since 1.18
  ]]
- return: uint;
+ return: uint; [[Count of items passing the filter]]
   }
   items_count @const {
  [[Return how many items are currently in a list.
@@ -443,7 +444,7 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
This behavior is O(1) and includes items which may or may not
be realized.
  ]]
- return: uint;
+ return: uint; [[Item in list]]
   }
   item_prepend {
  [[Prepend a new item in a given genlist widget.
@@ -451,7 +452,7 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
This adds an item to the beginning of the list or beginning of
the children of the parent if given.
  ]]
- return: Elm.Widget.Item;
+ return: Elm.Widget.Item; [[Handle to prepended item]]
  params {
 @in itc: ptr(const(Elm.Genlist.Item.Class)); [[The item class for 
the item.]]
 @in data: const(void_ptr); [[The item data.]]
@@ -473,7 +474,7 @@ clas

[EGIT] [core/efl] master 03/04: docs: gengrid: fill gaps in gengrid eo file documentation

2016-11-18 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 89166e383795d988f988bae6d73334925d8a35c2
Author: Stefan Schmidt 
Date:   Fri Nov 18 11:18:27 2016 +0100

docs: gengrid: fill gaps in gengrid eo file documentation
---
 src/lib/elementary/elm_gengrid.eo  | 50 +-
 src/lib/elementary/elm_gengrid_item.eo |  5 ++--
 src/lib/elementary/elm_gengrid_pan.eo  |  4 +--
 3 files changed, 29 insertions(+), 30 deletions(-)

diff --git a/src/lib/elementary/elm_gengrid.eo 
b/src/lib/elementary/elm_gengrid.eo
index 3440818..fcb265a 100644
--- a/src/lib/elementary/elm_gengrid.eo
+++ b/src/lib/elementary/elm_gengrid.eo
@@ -12,6 +12,7 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
Efl.Ui.Clickable, Elm.Interface.Atspi_Widget_Action,
Elm.Interface.Atspi.Selection)
 {
+   [[Elementary gengrid class]]
legacy_prefix: elm_gengrid;
eo_prefix: elm_obj_gengrid;
event_prefix: elm_gengrid;
@@ -61,7 +62,7 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
 ]]
  }
  values {
-fill: bool;
+fill: bool; [[$true if the grid is filled, $false otherwise]]
  }
   }
   @property page_relative {
@@ -71,8 +72,8 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
  set {}
  get {}
  values {
-h_pagerel: double;
-v_pagerel: double;
+h_pagerel: double; [[Page relation horizontal]]
+v_pagerel: double; [[Page relation vertical]]
  }
   }
   @property multi_select {
@@ -96,7 +97,7 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
 ]]
  }
  values {
-multi: bool;
+multi: bool; [[$true if multislect is enabled, $false otherwise]]
  }
   }
   @property group_item_size {
@@ -177,7 +178,7 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
  set {}
  get {}
  values {
-highlight: bool;
+highlight: bool; [[$true if item will be highlighted, $false 
otherwise]]
  }
   }
   @property reorder_type {
@@ -271,8 +272,8 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
 [[Set a given gengrid widget's scrolling page size.]]
  }
  values {
-h_pagesize: Evas.Coord;
-v_pagesize: Evas.Coord;
+h_pagesize: Evas.Coord; [[Page size horizontal]]
+v_pagesize: Evas.Coord; [[Page size vertical]]
  }
   }
   @property selected_item {
@@ -414,7 +415,7 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
This behavior is O(1) and includes items which may or may not
be realized.
  ]]
- return: uint;
+ return: uint; [[Items in list]]
   }
   at_xy_item_get @const {
  [[Get the item that is at the x, y canvas coords.
@@ -575,22 +576,21 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
   Elm.Interface.Atspi.Selection.clear;
}
events {
-  realized;
-  unrealized;
-  index,update;
-  scroll,page,changed;
-  edge,bottom;
-  edge,top;
-  edge,right;
-  edge,left;
-  item,focused;
-  item,unfocused;
-  item,reorder,anim,start;
-  item,reorder,anim,stop;
-  activated;
-  highlighted;
-  unhighlighted;
-  released;
+  realized; [[Called when gengrid realized]]
+  unrealized; [[Called when gengrid unrealized]]
+  index,update; [[Called on gengrid index update]]
+  scroll,page,changed; [[Called when scroll page changed]]
+  edge,bottom; [[Called when bottom edge is reached]]
+  edge,top; [[Called when top edge is reached]]
+  edge,right; [[Called when right edge is reached]]
+  edge,left; [[Called when left edge is reached]]
+  item,focused; [[Called when item got focus]]
+  item,unfocused; [[Called when item no longer has focus]]
+  item,reorder,anim,start; [[Called when item reorder animation started]]
+  item,reorder,anim,stop; [[Called when item reorder animation stopped]]
+  activated; [[Called when gengrid got activated]]
+  highlighted; [[Called when gengrid is highlighted]]
+  unhighlighted; [[Called when gengrid is no longer highlighted]]
+  released; [[Called when gengrid is released]]
}
-
 }
diff --git a/src/lib/elementary/elm_gengrid_item.eo 
b/src/lib/elementary/elm_gengrid_item.eo
index 15ceb49..ae31d34 100644
--- a/src/lib/elementary/elm_gengrid_item.eo
+++ b/src/lib/elementary/elm_gengrid_item.eo
@@ -25,6 +25,7 @@ enum Elm.Gengrid.Item.Field_Type
 
 class Elm.Gengrid.Item(Elm.Widget.Item)
 {
+  [[Elementary gengrid item class]]
   legacy_prefix: elm_gengrid_item;
   eo_prefix: elm_obj_gengrid_item;
   data: Elm_Gen_Item;
@@ -66,7 

[EGIT] [core/efl] master 01/02: Eo gdb: remove old and broken gdb macro.

2016-11-18 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit 3dd51bf53de9003e0e3ba396a5c0f2b10c44c1fd
Author: Tom Hacohen 
Date:   Fri Nov 18 07:31:39 2016 +

Eo gdb: remove old and broken gdb macro.
---
 data/eo/eo_gdb.py | 39 ---
 1 file changed, 39 deletions(-)

diff --git a/data/eo/eo_gdb.py b/data/eo/eo_gdb.py
index aafe881..2191210 100644
--- a/data/eo/eo_gdb.py
+++ b/data/eo/eo_gdb.py
@@ -2,42 +2,3 @@
 
 import gdb
 
-def symbol_equal_to_string(symbol, string):
-   return (symbol != None) and (symbol.name == string)
-
-class Eo_step(gdb.Command):
-   STEP_LIMIT = 10
-   def __init__(self):
-  gdb.Command.__init__(self, "eo_step", gdb.COMMAND_OBSCURE)
-  self.START_FUNC = "_eo_call_resolve"
-  self.SKIP_FUNC = "_eo_do_start"
-
-   def invoke (self, arg, from_tty):
-  # Get to the call resolve function.
-  i = 0
-  while not symbol_equal_to_string(gdb.selected_frame().function(), 
self.START_FUNC):
- if symbol_equal_to_string(gdb.selected_frame().function(), 
self.SKIP_FUNC):
-gdb.execute("finish", False, to_string=True)
-
- if i > Eo_step.STEP_LIMIT:
- break
- else:
- i += 1
- gdb.execute("step", False, to_string=True)
-
-  # If we found the function, return from it, otherwise, fail.
-  if symbol_equal_to_string(gdb.selected_frame().function(), 
self.START_FUNC):
- gdb.execute("finish", False, to_string=True)
-  else:
- print("Search limit reached, you tried calling eo_step too far from 
an eo_do.")
- return
-
-  # Step until we move to a different function. FIXME: The hook can 
confuse us, needs to be solved.
-  cur_func = gdb.selected_frame().function()
-  while gdb.selected_frame().function() == cur_func:
- gdb.execute("stepi", False, to_string=True)
-
-  # One last call to skip into the implementation
-  gdb.execute("step", True)
-
-Eo_step()

-- 




[EGIT] [core/efl] master 02/02: Eo gdb: add a way to resolve Eo ids from GDB without a running process

2016-11-18 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit 79d76fb25ece4ffbf5785b4be2b030f062ef9f2c
Author: Tom Hacohen 
Date:   Fri Nov 18 08:44:21 2016 +

Eo gdb: add a way to resolve Eo ids from GDB without a running process

Normally when debugging Eo with gdb you can just use any of the internal
eo functions to resolve the id to its internal pointer. However, when
loading a coredump you can't execute any code, not even the id resolve
code.

This change adds a gdb function that resolves the id to its pointer form
without executing any code in the process space. This plugin is
essentially the id resolve code written in python as a gdb function.

Usage:
 Print the pointer:
 (gdb) print $eo_resolve(obj)
 $1 = (_Eo_Object *) 0x559bbe70

 Use it directly (e.g. to print the class name):
 (gdb) $eo_resolve(obj)->klass->desc.name

This plugin requires that the coredump would be loaded with the exact
same libeo.so binary (or at least one that hasn't changed eo internals),
and that the debug symbols for libeo.so would be available for gdb to
use.

Note:
This feature is incomplete and only resolves IDs that are owned by the
main thread and in the main domain. This is not a big issue at the
moment, because almost all of our IDs are like that.

@feature
---
 data/eo/eo_gdb.py | 104 --
 src/lib/eo/eo.c   |   6 
 2 files changed, 108 insertions(+), 2 deletions(-)

diff --git a/data/eo/eo_gdb.py b/data/eo/eo_gdb.py
index 2191210..995aff4 100644
--- a/data/eo/eo_gdb.py
+++ b/data/eo/eo_gdb.py
@@ -1,4 +1,104 @@
-# Implement eo_break that'll break on a macro/subid/whatever.
-
 import gdb
 
+"""
+All of this script relies heavily on Eo internals and will break if they
+change. Need to make sure this is always in sync.
+"""
+
+ptr_size = int(gdb.parse_and_eval('sizeof(void *)'))
+
+SHIFT_MID_TABLE_ID = 0x30
+MASK_MID_TABLE_ID = 0x7ff
+SHIFT_TABLE_ID = 0x25
+MASK_TABLE_ID = 0x7ff
+SHIFT_ENTRY_ID = 0x1a
+MASK_ENTRY_ID = 0x7ff
+MASK_GENERATIONS = 0x3ff
+MASK_OBJ_TAG = 0x4000
+
+if ptr_size == 4:
+# 32 bits
+BITS_MID_TABLE_ID = 5
+BITS_TABLE_ID = 5
+BITS_ENTRY_ID = 11
+BITS_GENERATION_COUNTER = 6
+BITS_DOMAIN = 2
+BITS_CLASS = 1
+REF_TAG_SHIFT = 30
+SUPER_TAG_SHIFT = 31
+DROPPED_TABLES = 0
+DROPPED_ENTRIES = 4
+else:
+# 64 bits
+BITS_MID_TABLE_ID = 11
+BITS_TABLE_ID = 11
+BITS_ENTRY_ID = 11
+BITS_GENERATION_COUNTER = 26
+BITS_DOMAIN = 2
+BITS_CLASS = 1
+REF_TAG_SHIFT = 62
+SUPER_TAG_SHIFT = 63
+DROPPED_TABLES = 2
+DROPPED_ENTRIES = 3
+
+# /* Shifts macros to manipulate the Eo id */
+SHIFT_DOMAIN = (BITS_MID_TABLE_ID + BITS_TABLE_ID +
+BITS_ENTRY_ID + BITS_GENERATION_COUNTER)
+SHIFT_MID_TABLE_ID = (BITS_TABLE_ID +
+  BITS_ENTRY_ID + BITS_GENERATION_COUNTER)
+SHIFT_TABLE_ID = (BITS_ENTRY_ID + BITS_GENERATION_COUNTER)
+SHIFT_ENTRY_ID = (BITS_GENERATION_COUNTER)
+
+# /* Maximum ranges */
+MAX_DOMAIN = (1 << BITS_DOMAIN)
+MAX_MID_TABLE_ID = (1 << BITS_MID_TABLE_ID)
+MAX_TABLE_ID = ((1 << BITS_TABLE_ID) - DROPPED_TABLES)
+MAX_ENTRY_ID = ((1 << BITS_ENTRY_ID) - DROPPED_ENTRIES)
+MAX_GENERATIONS = (1 << BITS_GENERATION_COUNTER)
+
+# /* Masks */
+MASK_DOMAIN = (MAX_DOMAIN - 1)
+MASK_MID_TABLE_ID = (MAX_MID_TABLE_ID - 1)
+MASK_TABLE_ID = ((1 << BITS_TABLE_ID) - 1)
+MASK_ENTRY_ID = ((1 << BITS_ENTRY_ID) - 1)
+MASK_GENERATIONS = (MAX_GENERATIONS - 1)
+MASK_OBJ_TAG = (1 << (REF_TAG_SHIFT))
+
+
+null_ptr = gdb.parse_and_eval('(_Eo_Object *) 0')
+
+
+class Eo_resolve(gdb.Function):
+def __init__(self):
+gdb.Function.__init__(self, 'eo_resolve')
+
+def invoke(self, arg):
+obj_id = int(arg)
+
+mid_table_id = (obj_id >> SHIFT_MID_TABLE_ID) & MASK_MID_TABLE_ID
+table_id = (obj_id >> SHIFT_TABLE_ID) & MASK_TABLE_ID
+entry_id = (obj_id >> SHIFT_ENTRY_ID) & MASK_ENTRY_ID
+tag_bit = (obj_id) & MASK_OBJ_TAG
+generation = obj_id & MASK_GENERATIONS
+
+if (obj_id == 0) or (tag_bit == 0):
+gdb.write('Pointer is NULL or not a valid object.\n')
+return null_ptr
+
+entries = gdb.parse_and_eval('_eo_gdb_main_domain->tables[0]->' +
+ 'eo_ids_tables[{0}]'.format(mid_table_id))
+
+if int(entries) == 0:
+gdb.write('Pointer is not a valid object.\n')
+return null_ptr
+
+entry = entries[table_id]['entries'][entry_id]
+
+if (not entry['active']) or (int(entry['generation']) != generation):
+gdb.write('Pointer is no longer active.\n')
+return null_ptr
+
+return entry['ptr']
+
+
+Eo_resolve()
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index 46d6944

Re: [E-devel] [RFC] Ecore_Getopt STORE_DEF_* is strange

2016-11-18 Thread Gustavo Sverzut Barbieri
ping?

I can help with code, but at least need the better macro names :-)

On Sun, Nov 13, 2016 at 11:11 AM, Gustavo Sverzut Barbieri
 wrote:
>
>
> Em sexta-feira, 11 de novembro de 2016, Jean Guyomarc'h
>  escreveu:
>>
>> Hi all,
>>
>> I was using Ecore_Getopt with the STORE_DEF_* feature and noticed
>> something I find quite strange, I could qualify as disturbing. The
>> default storage thing seems very odd.
>>
>> (1) Values associated to optional parameters are not handled properly
>>
>> If you run the example, with minimal required arguments (e.g.
>> ./src/examples/ecore/ecore_getopt_example string 33 banana zz), you
>> will get the following (snipped):
>>
>> default-string = (null)
>> default-bool = false
>> default-short = 0
>> default-int = 0
>> default-long = 0
>> default-unsigned-short = 0
>> default-unsigned-int = 0
>> default-unsigned-long = 0
>> default-double = 0.00
>>
>> The default -* things are values that are supposed to be default
>> values. And they are all wrong. This is even specified in the
>> automatic help of the same program (snipped):
>>
>>   --default-string[=DEFAULT-STRING]
>>   Store a single string.
>>   Type: STR. Default: default-string-value.
>>   --default-bool[=DEFAULT-BOOL]
>>   Store a single boolean.
>>   Type: BOOL. Default: true.
>>   --default-short[=DEFAULT-SHORT]
>>   Store a single short.
>>   Type: SHORT. Default: 123.
>>   --default-int[=DEFAULT-INT]
>>   Store a single integer.
>>   Type: INT. Default: 1234.
>>   --default-long[=DEFAULT-LONG]
>>   Store a single long integer.
>>   Type: LONG. Default: 12345.
>>   --default-unsigned-short[=DEFAULT-UNSIGNED-SHORT]
>>   Store a single unsigned short integer.
>>   Type: USHORT. Default: 123.
>>   --default-unsigned-int[=DEFAULT-UNSIGNED-INT]
>>   Store a single unsigned integer.
>>   Type: UINT. Default: 1234.
>>   --default-unsigned-long[=DEFAULT-UNSIGNED-LONG]
>>   Store a single unsigned long integer.
>>   Type: ULONG. Default: 12345.
>>   --default-double[=DEFAULT-DOUBLE]
>>   Store a single double.
>>   Type: DOUBLE. Default: 12.345000.
>>
>> Every single use of the STORE_DEF stuff (in Ecore_Getopt) I've seen
>> was to manually assign the variable containing the default value to
>> the default value.
>>
>
> My bad, I wrote and was bitten by it some times. But the idea and why I
> didn't change it is because it is the default VALUE if the value is not
> specified, but the option switch must be used.
>
> Like --default-double (instead of --default-long=123) used default specified
> in the macro. But if you didn't specify the switch, nothing is assigned and
> you simply use the variable with preset value.
>
>
>
>>
>> To illustrate this, one typically mentions the default value in the
>> Ecore_Getopt descriptor:
>>
>> ECORE_GETOPT_STORE_DEF_SHORT(0, "default-short", "Store a single short",
>> 123),
>>
>> and pass this identical value to the Ecore_Getopt_Value thing:
>>
>> short def_val = 123; /* << Same than above */
>> Ecore_Getopt_Value values[] = {
>>  ECORE_GETOPT_VALUE_SHORT(&def_val),
>> };
>>
>>
>> This behaviour seems very wrong to me, because the implementation of
>> the default value is not left to the getopt but up to the developer.
>> And the developer should not do that. It should provide the default
>> value to the getopt (what it already does) and that's it.
>> If it (mistakenly) affects to the 'def_val' variable in our previous
>> example something different than what it has wirtten in the getopt
>> descriptor, the help and the actual default value will mismatch.
>> That's actually the case in the ecore_getopt example.
>>
>> The code tht the developer has to write should just be:
>>
>> short def_val; /* << default value, automatically assigned, nothing to
>> do here */
>> Ecore_Getopt_Value values[] = {
>>  ECORE_GETOPT_VALUE_SHORT(&def_val),
>> };
>>
>> And after parsing, boom, "def_val" will contain the value specified by
>> the programmer, or something else if the user has provided the option
>> that allows to change the default value.
>>
>>
>> (2) You can pass an option with phantom parameters to trigger the default
>> values
>>
>> It gets a bit creepy when looking at the code of Ecore_Getopt. The
>> default value affectation is of course already implemented, but is
>> triggered when the option is provided without value... which I think
>> does not make sense, at all.
>> To illustrate, if I slightly alter my call to the example program:
>>
>> ./src/examples/ecore/ecore_getopt_example string 33 banana zz
>> --default-string
>>
>> I get this (snipped):
>>
>> d

[EGIT] [core/efl] master 01/01: ecore_wayland: fix over writing file descriptor bug for reading

2016-11-18 Thread Taehyub Kim
raster pushed a commit to branch master.

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

commit 3a98ee3796d7fe4bc70be99fc928dd3d89eddc4a
Author: Taehyub Kim 
Date:   Fri Nov 18 19:53:14 2016 +0900

ecore_wayland: fix over writing file descriptor bug for reading

Summary:
fix over writing file descriptor bug for reading.
when we paste data to entry very fast, source->fd is over wrote by latest 
fd.
It cause blocking of read function since the read function use invalid fd.
so I make memorizing valid fd and using it in read function.

@fix

Reviewers: Hermet, jpeg, cedric, devilhorns, ManMower, raster

Differential Revision: https://phab.enlightenment.org/D4410
---
 src/lib/ecore_wayland/ecore_wl_dnd.c | 25 -
 1 file changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/lib/ecore_wayland/ecore_wl_dnd.c 
b/src/lib/ecore_wayland/ecore_wl_dnd.c
index c286624..f40eaf7 100644
--- a/src/lib/ecore_wayland/ecore_wl_dnd.c
+++ b/src/lib/ecore_wayland/ecore_wl_dnd.c
@@ -31,6 +31,12 @@
 #include "ecore_wl_private.h"
 
 /* local structures */
+struct _dnd_source
+{
+   Ecore_Wl_Dnd_Source *source;
+   int read_fd;
+};
+
 struct _dnd_task
 {
void *data;
@@ -615,6 +621,7 @@ _ecore_wl_dnd_selection_data_receive(Ecore_Wl_Dnd_Source 
*source, const char *ty
struct epoll_event *ep = NULL;
struct _dnd_task *task = NULL;
struct _dnd_read_ctx *read_ctx = NULL;
+   struct _dnd_source *read_source = NULL;
int p[2];
 
LOGFN(__FILE__, __LINE__, __FUNCTION__);
@@ -640,7 +647,12 @@ _ecore_wl_dnd_selection_data_receive(Ecore_Wl_Dnd_Source 
*source, const char *ty
epoll_fd  = epoll_create1(0);
if (epoll_fd < 0) goto err;
 
-   task->data = source;
+   read_source = calloc(1, sizeof(struct _dnd_source));
+   if (!read_source) goto err;
+
+   read_source = source;
+   read_source->read_fd = p[0];
+   task->data = read_source;
task->cb = _ecore_wl_dnd_selection_data_read;
ep->events = EPOLLIN;
ep->data.ptr = task;
@@ -653,7 +665,6 @@ _ecore_wl_dnd_selection_data_receive(Ecore_Wl_Dnd_Source 
*source, const char *ty
if (!ecore_idler_add(_ecore_wl_dnd_selection_cb_idle, read_ctx)) goto err;
 
source->refcount++;
-   source->fd = p[0];
 
return;
 
@@ -661,6 +672,7 @@ err:
if (ep) free(ep);
if (task) free(task);
if (read_ctx) free(read_ctx);
+   if (read_source) free(read_source);
close(p[0]);
return;
 }
@@ -671,21 +683,23 @@ _ecore_wl_dnd_selection_data_read(void *data, 
Ecore_Fd_Handler *fd_handler EINA_
int len;
char buffer[PATH_MAX];
Ecore_Wl_Dnd_Source *source;
+   struct _dnd_source *read_source;
Ecore_Wl_Event_Selection_Data_Ready *event;
Eina_Bool ret;
 
LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
-   source = data;
+   read_source = data;
+   source = read_source->source;
 
-   len = read(source->fd, buffer, sizeof buffer);
+   len = read(read_source->read_fd, buffer, sizeof buffer);
 
if (!(event = calloc(1, sizeof(Ecore_Wl_Event_Selection_Data_Ready
  return ECORE_CALLBACK_CANCEL;
 
if (len <= 0)
  {
-close(source->fd);
+close(read_source->read_fd);
 _ecore_wl_dnd_del(source);
 event->done = EINA_TRUE;
 event->data = NULL;
@@ -742,6 +756,7 @@ _ecore_wl_dnd_selection_cb_idle(void *data)
 if (task->cb(task->data, NULL) == ECORE_CALLBACK_CANCEL)
   {
  free(ctx->ep);
+ free(task->data);
  free(task);
  free(ctx);
  return ECORE_CALLBACK_CANCEL;

-- 




Re: [E-devel] how to configure touchpad like in Xorg

2016-11-18 Thread Gustavo Sverzut Barbieri
I guess you'll have to use xinput command manually. :-(


Example https://wiki.archlinux.org/index.php/Calibrating_Touchscreen

Em qui, 17 de nov de 2016 às 22:25, Vasiliy Tolstov 
escreveu:

> As i understand i need enable this:
> libinput_device_config_tap_set_drag_lock_enabled
> libinput_device_config_dwt_set_enabled
> libinput_device_config_tap_set_drag_enabled
> libinput_device_config_scroll_set_method
> libinput_device_config_click_set_method
> libinput_device_config_tap_set_enabled
>
> How can i do that in enlightenment session?
>
>
> 2016-11-18 1:31 GMT+03:00 Vasiliy Tolstov :
> > 2016-11-17 16:35 GMT+03:00 Carsten Haitzler :
> >> yup. i've never had any incentive to... i hate the things. i plug in a
> mouse if
> >> i use my laptop and smile. :)
> >
> >
> > Without ability to config touchpad under wayland, enlightenment
> > unusable, becouse i can't tap on touchpad to simulate clicking, i
> > can't scroll with two fingers. As i see libinput proto in gnome -
> > gnome-settings-daemon set needed options for touchpad.
> > In case of enlightenment i think that e need to configure touchpad.
> > Mouse need additional surface and eat additional power. In mobile
> > world and touchpad mouse don't need at all.
> > So please add basic touchpad module to configure tap wit one and two
> > fingers and scrolling ability. This is mostly needed features...
> > Thanks!
> >
> > --
> > Vasiliy Tolstov,
> > e-mail: v.tols...@selfip.ru
>
>
>
> --
> Vasiliy Tolstov,
> e-mail: v.tols...@selfip.ru
>
>
> --
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: evas map redraw update handling - dont trigger full redraw in e menus

2016-11-18 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 470478030bcc45e24a46ba1b71fe0d44c00187df
Author: Carsten Haitzler (Rasterman) 
Date:   Fri Nov 18 18:56:59 2016 +0900

evas map redraw update handling - dont trigger full redraw in e menus

this fixes T4904

dif e pops up menus it uses zoomap to zoom an existing object in and
out by forcing it to be mapped and controlling the map geom based on
smart obj geom. this will do a minimum update region for the case
where a map just got turned on or off for an obj since last frame and
cut this out.

@optimize
---
 src/lib/evas/canvas/evas_render.c | 96 +--
 1 file changed, 91 insertions(+), 5 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 0196f66..ca58960 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -512,6 +512,93 @@ _evas_render_phase1_direct(Evas_Public_Data *e,
RD(0, "  ---]\n");
 }
 
+static void
+_evas_render_object_map_change_update(Evas_Public_Data *e, Evas_Object *eo_obj 
EINA_UNUSED,
+  Evas_Object_Protected_Data *obj,
+  Eina_Bool map, Eina_Bool hmap,
+  int *redraw_all)
+{
+   if (map == hmap) return;
+
+   if (obj->map)
+ {
+Evas_Coord x = 0, y = 0, w = 0, h = 0;
+
+if (map)
+  {
+ x = obj->prev->cache.clip.x;
+ y = obj->prev->cache.clip.y;
+ w = obj->prev->cache.clip.w;
+ h = obj->prev->cache.clip.h;
+ if (obj->prev->clipper)
+   {
+  RECTS_CLIP_TO_RECT(x, y, w, h,
+ obj->prev->clipper->prev->cache.clip.x,
+ obj->prev->clipper->prev->cache.clip.y,
+ obj->prev->clipper->prev->cache.clip.w,
+ obj->prev->clipper->prev->cache.clip.h);
+   }
+ e->engine.func->output_redraws_rect_add(e->engine.data.output,
+ x + e->framespace.x,
+ y + e->framespace.y,
+ w, h);
+ x = obj->map->cur.map->normal_geometry.x;
+ y = obj->map->cur.map->normal_geometry.y;
+ w = obj->map->cur.map->normal_geometry.w;
+ h = obj->map->cur.map->normal_geometry.h;
+ if (obj->cur->clipper)
+   {
+  RECTS_CLIP_TO_RECT(x, y, w, h,
+ obj->cur->clipper->cur->cache.clip.x,
+ obj->cur->clipper->cur->cache.clip.y,
+ obj->cur->clipper->cur->cache.clip.w,
+ obj->cur->clipper->cur->cache.clip.h);
+   }
+ e->engine.func->output_redraws_rect_add(e->engine.data.output,
+ x + e->framespace.x,
+ y + e->framespace.y,
+ w, h);
+  }
+else if (hmap)
+  {
+ x = obj->map->prev.map->normal_geometry.x;
+ y = obj->map->prev.map->normal_geometry.y;
+ w = obj->map->prev.map->normal_geometry.w;
+ h = obj->map->prev.map->normal_geometry.h;
+ if (obj->prev->clipper)
+   {
+  RECTS_CLIP_TO_RECT(x, y, w, h,
+ obj->prev->clipper->prev->cache.clip.x,
+ obj->prev->clipper->prev->cache.clip.y,
+ obj->prev->clipper->prev->cache.clip.w,
+ obj->prev->clipper->prev->cache.clip.h);
+   }
+ e->engine.func->output_redraws_rect_add(e->engine.data.output,
+ x + e->framespace.x,
+ y + e->framespace.y,
+ w, h);
+ x = obj->cur->cache.clip.x;
+ y = obj->cur->cache.clip.y;
+ w = obj->cur->cache.clip.w;
+ h = obj->cur->cache.clip.h;
+ if (obj->cur->clipper)
+   {
+  RECTS_CLIP_TO_RECT(x, y, w, h,
+ obj->cur->clipper->cur->cache.clip.x,
+ obj->cur->clipper->cur->cache.clip.y,
+ obj->cur->clipper->cur->cache.clip.w,
+ obj->cur->clipper->cur->cache.clip.h);
+ 

[E-devel] FW: [EGIT] [core/efl] master 01/01: elm_spinner: apply value after pressing enter key

2016-11-18 Thread Hermet Park
This sounds like a regression bug fix. 

But it's a shame that commit message is too short to explain that situtation. 
It would be better if you mentioned how the previous patch caused the bug and 
how this patch resolved it.

-Original Message-
From: "Andrii Kroitor" 
To: ; 
Cc: 
Sent: 2016-11-17 (목) 22:58:33
Subject: [EGIT] [core/efl] master 01/01: elm_spinner: apply value after 
pressing enter key
 
lorddrew pushed a commit to branch master.

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

commit ef55640d2ac06ddcb74b582eff32a38bad89e566
Author: Andrii Kroitor 
Date:   Thu Nov 17 15:45:08 2016 +0200

elm_spinner: apply value after pressing enter key

This was broken previously by a659fe3484d3631c3d451299e5181789cecc5e00

@fix
---
 src/lib/elementary/elm_spinner.c  2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/elementary/elm_spinner.c b/src/lib/elementary/elm_spinner.c
index 78b12e6..6b8e4a2 100644
--- a/src/lib/elementary/elm_spinner.c
+++ b/src/lib/elementary/elm_spinner.c
@@ -608,6 +608,8 @@ _toggle_entry(Evas_Object *obj)
elm_entry_markup_filter_append(sd->ent, 
_min_max_validity_filter, obj);
  efl_event_callback_add
 (sd->ent, ELM_WIDGET_EVENT_UNFOCUSED, _entry_unfocused_cb, 
obj);
+ efl_event_callback_add
+(sd->ent, ELM_ENTRY_EVENT_ACTIVATED, _entry_unfocused_cb, obj);
   }
 if (!sd->button_layout)
   {

-- 

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


<    1   2