[EGIT] [core/elementary] master 01/02: theme: Updated Ibar to align with the origin

2015-03-06 Thread Marcel Hollerbach
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=073bac747bac1bafd9fbae4a37280dcf12d40e76

commit 073bac747bac1bafd9fbae4a37280dcf12d40e76
Author: Marcel Hollerbach 
Date:   Fri Mar 6 17:18:48 2015 -0500

theme: Updated Ibar to align with the origin

This fixes partly T1828

Summary: Use the feature provided by ibar.

Reviewers: raster, zmike

Subscribers: zmike

Differential Revision: https://phab.enlightenment.org/D1797
---
 data/themes/edc/ibar-ibox.edc | 99 +++
 1 file changed, 81 insertions(+), 18 deletions(-)

diff --git a/data/themes/edc/ibar-ibox.edc b/data/themes/edc/ibar-ibox.edc
index 77633ef..fbd13c3 100644
--- a/data/themes/edc/ibar-ibox.edc
+++ b/data/themes/edc/ibar-ibox.edc
@@ -431,6 +431,31 @@ group { name: "e/modules/ibox/icon_overlay";
images.image: "darken_rounded_square.png" COMP;
script {
   public urgent;
+  public origin;
+
+  public refresh_origin(){
+ new partid;
+
+ partid = get_part_id("e.text.label");
+ custom_state(partid, "default", 0.0);
+
+ if (get_int(origin) == 2){
+   //top
+   set_state_val(partid, STATE_ALIGNMENT, 0.5, 0.5);
+ }else if (get_int(origin) == 3){
+   //right
+   set_state_val(partid, STATE_ALIGNMENT, 0.0, 0.5);
+ }else if (get_int(origin) == 4){
+   //left
+   set_state_val(partid, STATE_ALIGNMENT, 1.0, 0.5);
+ }else{
+   //bottom
+   set_state_val(partid, STATE_ALIGNMENT, 0.5, 0.5);
+ }
+
+ /* apply the custom state */
+ set_state(partid, "custom", 0.0);
+  }
}
parts {
   part { name: "item_clip"; type: RECT;
@@ -495,7 +520,19 @@ group { name: "e/modules/ibox/icon_overlay";
 rel2.to: "background";
  }
   }
+  part { name: "clipper"; type: RECT;
+ description{ state: "default" 0.0;
+rel1.to: "bevel";
+rel2.to: "bevel";
+color: 255 255 255 0;
+ }
+ description{ state: "visible" 0.0;
+inherit: "default" 0.0;
+color: 255 255 255 255;
+ }
+  }
   part { name: "bevel"; mouse_events: 0;
+ clip_to: "clipper";
  description { state: "default" 0.0;
 rel1.offset: -10 -6;
 rel1.to: "e.text.label";
@@ -505,22 +542,29 @@ group { name: "e/modules/ibox/icon_overlay";
 image.border: 15 15 15 15;
 fill.smooth: 0;
 fixed: 1 1;
-color: 255 255 255 0;
-visible: 0;
  }
- description { state: "visible" 0.0;
-inherit: "default" 0.0;
-color: 255 255 255 255;
-visible: 1;
+  }
+  part { name: "spacer"; type: SPACER;
+ description { state: "default" 0.0;
+rel1.relative: 0.0 1.0;
+rel2.relative: 1.0 1.0;
  }
+ description { state:  "visible" 0.0;
+rel1.relative: 0.0 0.5;
+rel2.relative: 1.0 0.5;
+ }
+
   }
   part { name: "e.text.label"; type: TEXT; mouse_events: 0;
  effect: SHADOW BOTTOM;
  scale: 1;
+ clip_to: "clipper";
  description { state: "default" 0.0;
-rel1.relative: 0.0 1.0;
+rel1.to: "spacer";
+rel1.relative: 0.0 0.0;
+rel2.to: "spacer";
 rel2.relative: 1.0 1.0;
-color_class: "module_label_invisible";
+color_class: "module_label";
 color3: 255 255 255 255;
 text { font: FN; size: 10;
min: 1 1;
@@ -528,13 +572,7 @@ group { name: "e/modules/ibox/icon_overlay";
align: 0.5 0.5;
text_class: "module_normal";
 }
- }
- description { state: "visible" 0.0;
-inherit: "default" 0.0;
-rel1.relative: 0.0 0.5;
-rel2.relative: 1.0 0.5;
-color_class: "module_label";
-color3: 255 255 255 255;
+align: 0.5 0.5;
  }
   }
}
@@ -574,14 +612,39 @@ group { name: "e/modules/ibox/icon_overlay";
  signal: "e,action,show,label"; source: "e";
  action: STATE_SET "visible" 0.0;
  transition: SINUSOIDAL 0.5;
- target: "e.text.label";
- target: "bevel";
+ target: "spacer";
+ target: "clipper";
   }
   program {
  signal: "e,action,hide,label"; source: "e";
  action: STATE_SET "default" 0.0;
  transition: SINUSOIDAL 1.0;
- target: "e.text.label";
+ target: "spacer";
+ target: "clipper";
+  }
+#define ORIGIN_PRO(_NAME,_ID) \
+  program { \
+ signal: "e,origin,"_NAME; source: "e"; \
+ script { \
+set_int(origin, _ID); \
+refresh_origin(); \
+ } \
+  }
+
+

[EGIT] [core/elementary] master 02/02: ibar/ibox icon label positioning rewrite

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 34d1bbd63179d5a91b1d9ea49fc0bfc9525b3421
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 18:56:58 2015 -0500

ibar/ibox icon label positioning rewrite

the original code for handling label positioning was not robust enough to 
handle
cases such as ibar scrolling or gadget moving. this greatly simplifies the 
code
as well as handling all cases and providing small animations for moving the 
label
when necessary
---
 data/themes/edc/ibar-ibox.edc | 114 --
 1 file changed, 43 insertions(+), 71 deletions(-)

diff --git a/data/themes/edc/ibar-ibox.edc b/data/themes/edc/ibar-ibox.edc
index fbd13c3..02664ae 100644
--- a/data/themes/edc/ibar-ibox.edc
+++ b/data/themes/edc/ibar-ibox.edc
@@ -431,31 +431,6 @@ group { name: "e/modules/ibox/icon_overlay";
images.image: "darken_rounded_square.png" COMP;
script {
   public urgent;
-  public origin;
-
-  public refresh_origin(){
- new partid;
-
- partid = get_part_id("e.text.label");
- custom_state(partid, "default", 0.0);
-
- if (get_int(origin) == 2){
-   //top
-   set_state_val(partid, STATE_ALIGNMENT, 0.5, 0.5);
- }else if (get_int(origin) == 3){
-   //right
-   set_state_val(partid, STATE_ALIGNMENT, 0.0, 0.5);
- }else if (get_int(origin) == 4){
-   //left
-   set_state_val(partid, STATE_ALIGNMENT, 1.0, 0.5);
- }else{
-   //bottom
-   set_state_val(partid, STATE_ALIGNMENT, 0.5, 0.5);
- }
-
- /* apply the custom state */
- set_state(partid, "custom", 0.0);
-  }
}
parts {
   part { name: "item_clip"; type: RECT;
@@ -520,19 +495,7 @@ group { name: "e/modules/ibox/icon_overlay";
 rel2.to: "background";
  }
   }
-  part { name: "clipper"; type: RECT;
- description{ state: "default" 0.0;
-rel1.to: "bevel";
-rel2.to: "bevel";
-color: 255 255 255 0;
- }
- description{ state: "visible" 0.0;
-inherit: "default" 0.0;
-color: 255 255 255 255;
- }
-  }
   part { name: "bevel"; mouse_events: 0;
- clip_to: "clipper";
  description { state: "default" 0.0;
 rel1.offset: -10 -6;
 rel1.to: "e.text.label";
@@ -542,29 +505,47 @@ group { name: "e/modules/ibox/icon_overlay";
 image.border: 15 15 15 15;
 fill.smooth: 0;
 fixed: 1 1;
+color: 255 255 255 0;
+visible: 0;
+ }
+ description { state: "visible" 0.0;
+inherit: "default" 0.0;
+color: 255 255 255 255;
+visible: 1;
  }
   }
-  part { name: "spacer"; type: SPACER;
- description { state: "default" 0.0;
-rel1.relative: 0.0 1.0;
-rel2.relative: 1.0 1.0;
+  text { name: "spacer";
+ effect: SHADOW BOTTOM;
+ scale: 1;
+ desc { color: 0 0 0 0;
+rel1.relative: 1 0;
+rel2.relative: 0 1;
+text {
+   source: "e.text.label";
+   text_source: "e.text.label";
+}
+link.base: "e,origin,center" "e";
+link.transition: SINUSOIDAL 0.1 CURRENT;
  }
- description { state:  "visible" 0.0;
-rel1.relative: 0.0 0.5;
-rel2.relative: 1.0 0.5;
+ desc { "left"; inherit: "default";
+align: 0.0 0.5;
+link.base: "e,origin,left" "e";
+link.transition: SINUSOIDAL 0.1 CURRENT;
+ }
+ desc { "right"; inherit: "default";
+align: 1.0 0.5;
+link.base: "e,origin,right" "e";
+link.transition: SINUSOIDAL 0.1 CURRENT;
  }
-
   }
   part { name: "e.text.label"; type: TEXT; mouse_events: 0;
  effect: SHADOW BOTTOM;
  scale: 1;
- clip_to: "clipper";
  description { state: "default" 0.0;
-rel1.to: "spacer";
-rel1.relative: 0.0 0.0;
-rel2.to: "spacer";
-rel2.relative: 1.0 1.0;
-color_class: "module_label";
+rel1.to_x: "spacer";
+rel2.to_x: "spacer";
+rel1.relative: 0 1;
+color_class: "module_label_invisible";
 color3: 255 255 255 255;
 text { font: FN; size: 10;
min: 1 1;
@@ -572,7 +553,13 @@ group { name: "e/modules/ibox/icon_overlay";
align: 0.5 0.5;
text_class: "module_normal";
 }
-align: 0.5 0.5;
+ }
+ description { state: "visible" 0.0;
+inherit: "default" 0.0;
+rel1.relative: 0.0 0.5;
+rel2.relative: 1.0 0.5;
+  

[EGIT] [core/enlightenment] enlightenment-0.19 01/02: fix horizontal/vertical smart maximize

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit baf9640ef519203efbacaba40727245368f59c41
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 17:16:24 2015 -0500

fix horizontal/vertical smart maximize

fix T2170
---
 src/bin/e_client.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 28ae269..ec18ce2 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -1617,11 +1617,11 @@ _e_client_maximize(E_Client *ec, E_Maximize max)
  break;
 
case E_MAXIMIZE_VERTICAL:
- evas_object_geometry_set(ec->frame, x1, zy, w, zh);
+ evas_object_geometry_set(ec->frame, ec->x, zy, ec->w, zh);
  break;
 
case E_MAXIMIZE_HORIZONTAL:
- evas_object_geometry_set(ec->frame, zx, yy1, zw, h);
+ evas_object_geometry_set(ec->frame, zx, ec->y, zw, ec->h);
  break;
 
case E_MAXIMIZE_LEFT:

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 02/02: fix crash when using e_comp_object_util_center_pos_get() with non comp_objects

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 5e48e67b2391b71862ada4b7b539fd2fede82b55
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 17:59:43 2015 -0500

fix crash when using e_comp_object_util_center_pos_get() with non 
comp_objects
---
 src/bin/e_comp_object.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 442a926..1aa404b 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -2660,12 +2660,17 @@ e_comp_object_util_center_pos_get(Evas_Object *obj, int 
*x, int *y)
 {
E_Zone *zone;
int zx, zy, zw, zh;
+   int ow, oh;
SOFT_ENTRY();
 
+   if (cw)
+ ow = cw->w, oh = cw->h;
+   else
+ evas_object_geometry_get(obj, NULL, NULL, &ow, &oh);
zone = e_comp_object_util_zone_get(obj);
e_zone_useful_geometry_get(zone, &zx, &zy, &zw, &zh);
-   if (x) *x = zx + (zw - cw->w) / 2;
-   if (y) *y = zy + (zh - cw->h) / 2;
+   if (x) *x = zx + (zw - ow) / 2;
+   if (y) *y = zy + (zh - oh) / 2;
 }
 
 EAPI void

-- 




[EGIT] [core/enlightenment] master 02/03: redo ibar icon label position signalling to emit left/center/right

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 45cb2e6cf178c83710940ffc8ca0f806a2da7221
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 18:54:31 2015 -0500

redo ibar icon label position signalling to emit left/center/right

also calc based on icon position, not icon orientation
---
 src/modules/ibar/e_mod_main.c | 51 ++-
 1 file changed, 26 insertions(+), 25 deletions(-)

diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 23f0940..0957005 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -102,14 +102,13 @@ static void _ibar_resize_handle(IBar *b);
 static void _ibar_instance_drop_zone_recalc(Instance *inst);
 static Config_Item *_ibar_config_item_get(const char *id);
 static IBar_Icon   *_ibar_icon_at_coord(IBar *b, Evas_Coord x, Evas_Coord y);
-static void _ibar_icon_origin_update(IBar_Icon *ic, Instance *inst);
 static IBar_Icon   *_ibar_icon_new(IBar *b, Efreet_Desktop *desktop, Eina_Bool 
notinorder);
 static IBar_Icon   *_ibar_icon_notinorder_new(IBar *b, E_Exec_Instance *exe);
 static void _ibar_icon_free(IBar_Icon *ic);
 static void _ibar_icon_fill(IBar_Icon *ic);
 static void _ibar_icon_empty(IBar_Icon *ic);
 static void _ibar_sep_create(IBar *b);
-static void _ibar_icon_signal_emit(IBar_Icon *ic, char *sig, char 
*src);
+static void _ibar_icon_signal_emit(IBar_Icon *ic, const char *sig, 
const char *src);
 static void _ibar_cb_app_change(void *data, E_Order *eo);
 static void _ibar_cb_obj_moveresize(void *data, Evas *e, Evas_Object 
*obj, void *event_info);
 static void _ibar_cb_menu_icon_action_exec(void *data, E_Menu *m, 
E_Menu_Item *mi);
@@ -342,7 +341,6 @@ static void
 _gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient)
 {
Instance *inst;
-   IBar_Icon *ic;
 
inst = gcc->data;
if ((int)orient != -1) inst->orient = orient;
@@ -355,11 +353,6 @@ _gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient)
  {
 _ibar_orient_set(inst->ibar, 1);
  }
-
-   EINA_INLIST_FOREACH(inst->ibar->icons, ic)
- {
-_ibar_icon_origin_update(ic, inst);
- }
 }
 
 static const char *
@@ -792,19 +785,6 @@ _ibar_icon_at_coord(IBar *b, Evas_Coord x, Evas_Coord y)
return NULL;
 }
 
-static void
-_ibar_icon_origin_update(IBar_Icon *ic, Instance *inst)
-{
-   char buf[PATH_MAX];
-   char *pos[4] = {"bottom", "top", "right", "left"};
-   int position = _convert_theme_ids(inst);
-   if (position >= 0)
- {
-snprintf(buf, sizeof(buf), "e,origin,%s", pos[position]);
-_ibar_icon_signal_emit(ic, buf, "e");
- }
-}
-
 static IBar_Icon *
 _ibar_icon_new(IBar *b, Efreet_Desktop *desktop, Eina_Bool notinorder)
 {
@@ -980,7 +960,7 @@ _ibar_icon_empty(IBar_Icon *ic)
 }
 
 static void
-_ibar_icon_signal_emit(IBar_Icon *ic, char *sig, char *src)
+_ibar_icon_signal_emit(IBar_Icon *ic, const char *sig, const char *src)
 {
if (ic->o_holder)
  edje_object_signal_emit(ic->o_holder, sig, src);
@@ -1875,14 +1855,35 @@ _ibar_cb_icon_mouse_move(void *data, Evas *e 
__UNUSED__, Evas_Object *obj __UNUS
 }
 
 static void
-_ibar_cb_icon_move(void *data, Evas *e __UNUSED__, Evas_Object *obj 
__UNUSED__, void *event_info __UNUSED__)
+_ibar_cb_icon_move(void *data, Evas *e, Evas_Object *obj, void *event_info 
__UNUSED__)
 {
IBar_Icon *ic;
-   Evas_Coord x, y;
+   int x, y, w, h, cw, chx, len = 0;
+   const char *sig = "e,origin,center";
+   E_Zone *zone;
 
ic = data;
-   evas_object_geometry_get(ic->o_holder, &x, &y, NULL, NULL);
+   evas_object_geometry_get(ic->o_holder, &x, &y, &w, &h);
evas_object_move(ic->o_holder2, x, y);
+   evas_output_size_get(e, &cw, NULL);
+
+   edje_object_part_geometry_get(ic->o_holder2, "e.text.label", NULL, NULL, 
&len, NULL);
+   chx = x + (w / 2);
+   zone = e_comp_object_util_zone_get(obj);
+   if (!zone)
+ {
+if (x < 1)
+  zone = e_comp_zone_xy_get(e_comp, 0, y);
+else
+  zone = e_comp_zone_xy_get(e_comp, e_comp->man->w - 5, y);
+if (!zone)
+  zone = eina_list_data_get(e_comp->zones);
+ }
+   if (chx - (len / 2) < zone->x)
+ sig = "e,origin,left";
+   else if ((chx + (len / 2) > cw) || ((chx + (len / 2) > zone->x + zone->w)))
+ sig = "e,origin,right";
+   _ibar_icon_signal_emit(ic, sig, "e");
 }
 
 static void

-- 




[EGIT] [core/enlightenment] master 03/03: Don't update xkbstate when no app has focus

2015-03-06 Thread Derek Foreman
discomfitor pushed a commit to branch master.

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

commit 8c7364b682e5eb1732404ce3a6194fd09a874269
Author: Derek Foreman 
Date:   Fri Mar 6 18:55:39 2015 -0500

Don't update xkbstate when no app has focus

Summary:
We still update the keyboard array.  focus_in adds everything in the
array to xkbstate anyway, so adding it when there's no focus results
in a double update of state and potentially stuck modifiers.

Reviewers: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2111
---
 src/bin/e_comp_wl.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 88b0b9f..c4fa5d5 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -809,11 +809,11 @@ _e_comp_wl_cb_key_down(void *event)
k = wl_array_add(&cdata->kbd.keys, sizeof(*k));
*k = keycode;
 
-   /* update modifier state */
-   e_comp_wl_input_keyboard_state_update(cdata, keycode, EINA_TRUE);
-
if ((ec = e_client_focused_get()))
  {
+/* update modifier state */
+e_comp_wl_input_keyboard_state_update(cdata, keycode, EINA_TRUE);
+
 if (ec->comp_data->surface)
   {
  struct wl_client *wc;

-- 




[EGIT] [core/enlightenment] master 01/03: fix crash when using e_comp_object_util_center_pos_get() with non comp_objects

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 567802f251b105b7ac2820c073011c9ef28d08b3
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 17:59:43 2015 -0500

fix crash when using e_comp_object_util_center_pos_get() with non 
comp_objects
---
 src/bin/e_comp_object.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 2ed543c..b83fcae 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -2646,12 +2646,17 @@ e_comp_object_util_center_pos_get(Evas_Object *obj, int 
*x, int *y)
 {
E_Zone *zone;
int zx, zy, zw, zh;
+   int ow, oh;
SOFT_ENTRY();
 
+   if (cw)
+ ow = cw->w, oh = cw->h;
+   else
+ evas_object_geometry_get(obj, NULL, NULL, &ow, &oh);
zone = e_comp_object_util_zone_get(obj);
e_zone_useful_geometry_get(zone, &zx, &zy, &zw, &zh);
-   if (x) *x = zx + (zw - cw->w) / 2;
-   if (y) *y = zy + (zh - cw->h) / 2;
+   if (x) *x = zx + (zw - ow) / 2;
+   if (y) *y = zy + (zh - oh) / 2;
 }
 
 EAPI void

-- 




[EGIT] [core/enlightenment] master 01/02: use current zone for shelf cfd setup

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit bf90bc32dbe28006c7f710578ff22c1beb3ce565
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 17:06:43 2015 -0500

use current zone for shelf cfd setup

fix T2168
---
 src/modules/conf_shelves/e_int_config_shelf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/conf_shelves/e_int_config_shelf.c 
b/src/modules/conf_shelves/e_int_config_shelf.c
index b8de9d0..bd2d0e8 100644
--- a/src/modules/conf_shelves/e_int_config_shelf.c
+++ b/src/modules/conf_shelves/e_int_config_shelf.c
@@ -125,7 +125,7 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, 
E_Config_Dialog_Data
e_dialog_resizable_set(cfd->dia, 1);

ol = e_widget_list_add(evas, 0, 0);
-   zone = e_comp_object_util_zone_get(cfdata->cfd->dia->win);
+   zone = e_zone_current_get(e_comp);
snprintf(buf, sizeof(buf), _("Configured Shelves: Display %d"), zone->num);
of = e_widget_framelist_add(evas, buf, 0);
cfdata->o_list = e_widget_ilist_add(evas, 24, 24, &(cfdata->cur_shelf));

-- 




[EGIT] [core/enlightenment] master 02/02: fix horizontal/vertical smart maximize

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 143c0a929214a81ca69fdc0ce1c6d78068458af8
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 17:16:24 2015 -0500

fix horizontal/vertical smart maximize

fix T2170
---
 src/bin/e_client.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index d0770e3..6a0d4ad 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -1600,11 +1600,11 @@ _e_client_maximize(E_Client *ec, E_Maximize max)
  break;
 
case E_MAXIMIZE_VERTICAL:
- evas_object_geometry_set(ec->frame, x1, zy, w, zh);
+ evas_object_geometry_set(ec->frame, ec->x, zy, ec->w, zh);
  break;
 
case E_MAXIMIZE_HORIZONTAL:
- evas_object_geometry_set(ec->frame, zx, yy1, zw, h);
+ evas_object_geometry_set(ec->frame, zx, ec->y, zw, ec->h);
  break;
 
case E_MAXIMIZE_LEFT:

-- 




[EGIT] [core/enlightenment] master 01/01: Revert "disable fileman popups in wl-only mode"

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 107ab84a19300fcd48dbe815fd01ddc486b4f466
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 16:05:27 2015 -0500

Revert "disable fileman popups in wl-only mode"

This reverts commit e6c47e8d90e75182cffd1d8cbdbb9e3821a4dbf1.

these no longer crash so reenable them
---
 src/modules/fileman/e_fwin.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c
index 54c9c8f..ac1c5f4 100644
--- a/src/modules/fileman/e_fwin.c
+++ b/src/modules/fileman/e_fwin.c
@@ -941,10 +941,6 @@ _e_fwin_icon_mouse_in(void *data, Evas_Object *obj 
__UNUSED__, void *event_info)
if (fwin->popup_timer) ecore_timer_del(fwin->popup_timer);
fwin->popup_timer = NULL;
if (!fileman_config->tooltip.enable) return;
-#ifdef HAVE_WAYLAND_ONLY
-   return;
-#warning REMOVE FOR WL RELEASE
-#endif
fwin->popup_timer = ecore_timer_add(fileman_config->tooltip.delay, 
_e_fwin_icon_popup, fwin);
fwin->popup_icon = ici;
 #ifndef HAVE_WAYLAND_ONLY

-- 




[EGIT] [core/enlightenment] master 01/01: remove unnecessary wl client pixmap checks

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 7147b7d54baefd09a79c735c4ad0c58c1c8ddb87
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 16:02:49 2015 -0500

remove unnecessary wl client pixmap checks

these are direct object callbacks so they will only be triggered on wl 
clients
---
 src/bin/e_comp_wl.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 05f4e14..88b0b9f 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -444,7 +444,6 @@ _e_comp_wl_evas_cb_focus_in(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *obj
if (!(ec = data)) return;
if (e_object_is_del(E_OBJECT(ec))) return;
if (ec->iconic) return;
-   if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return;
 
/* block spurious focus events */
focused = e_client_focused_get();
@@ -475,7 +474,6 @@ _e_comp_wl_evas_cb_focus_out(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *ob
  e_comp_wl_input_keyboard_state_update(cdata, *k, EINA_FALSE);
 
if (e_object_is_del(E_OBJECT(ec))) return;
-   if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return;
 
/* lower client priority */
_e_comp_wl_client_priority_normal(ec);
@@ -499,7 +497,6 @@ _e_comp_wl_evas_cb_resize(void *data, Evas_Object *obj 
EINA_UNUSED, void *event
E_Client *ec;
 
if (!(ec = data)) return;
-   if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return;
 
if ((ec->shading) || (ec->shaded)) return;
if (!ec->comp_data->shell.configure_send) return;
@@ -569,7 +566,6 @@ _e_comp_wl_evas_cb_state_update(void *data, Evas_Object 
*obj EINA_UNUSED, void *
if (e_object_is_del(E_OBJECT(ec))) return;
 
/* check for wayland pixmap */
-   if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return;
 
if (ec->comp_data->shell.configure_send)
  ec->comp_data->shell.configure_send(ec->comp_data->shell.surface, 0, 0, 
0);

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 02/02: use stderr messages when failing to init X compositor

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit d3d4cbd61603110460ecfd01d138757518862a53
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 15:00:52 2015 -0500

use stderr messages when failing to init X compositor

can't show error dialogs when we're about to exit, may as well print 
something useful

fix T2182
---
 src/bin/e_comp_x.c | 10 +++---
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 5ce0fa5..76011d8 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -4911,9 +4911,7 @@ _e_comp_x_setup(E_Comp *c, Ecore_X_Window root, int w, 
int h)
res = ecore_x_screen_is_composited(c->num);
if (res)
  {
-e_util_dialog_internal(_("Compositor Error"),
-  _("Another compositor is already running"
-"on your display server."));
+ERR(_("Another compositor is already running on your display 
server."));
 return EINA_FALSE;
  }
if (!ecore_x_window_manage(root)) return EINA_FALSE;
@@ -4932,10 +4930,8 @@ _e_comp_x_setup(E_Comp *c, Ecore_X_Window root, int w, 
int h)
c->win = ecore_x_composite_render_window_enable(root);
if (!c->win)
  {
-e_util_dialog_internal(_("Compositor Error"),
-  _("Your display server does not support the"
-"compositor overlay window. This is needed"
-"for it to function."));
+ERR(_("Your display server does not support the compositor overlay 
window.\n"
+  "This is needed for Enlightenment to function."));
 return EINA_FALSE;
  }
c->man = e_manager_new(root, c, w, h);

-- 




[EGIT] [core/enlightenment] master 02/02: use stderr messages when failing to init X compositor

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 961a56ea10a409b8222ce70661219c2c2daf4812
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 15:00:52 2015 -0500

use stderr messages when failing to init X compositor

can't show error dialogs when we're about to exit, may as well print 
something useful

fix T2182
---
 src/bin/e_comp_x.c | 10 +++---
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index f75e0f6..e54bb93 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -5014,9 +5014,7 @@ _e_comp_x_setup(E_Comp *c, Ecore_X_Window root, int w, 
int h)
res = ecore_x_screen_is_composited(c->num);
if (res)
  {
-e_util_dialog_internal(_("Compositor Error"),
-  _("Another compositor is already running"
-"on your display server."));
+ERR(_("Another compositor is already running on your display 
server."));
 return EINA_FALSE;
  }
if (!ecore_x_window_manage(root)) return EINA_FALSE;
@@ -5035,10 +5033,8 @@ _e_comp_x_setup(E_Comp *c, Ecore_X_Window root, int w, 
int h)
c->win = ecore_x_composite_render_window_enable(root);
if (!c->win)
  {
-e_util_dialog_internal(_("Compositor Error"),
-  _("Your display server does not support the"
-"compositor overlay window. This is needed"
-"for it to function."));
+ERR(_("Your display server does not support the compositor overlay 
window.\n"
+  "This is needed for Enlightenment to function."));
 return EINA_FALSE;
  }
c->man = e_manager_new(root, c, w, h);

-- 




[EGIT] [core/enlightenment] master 01/02: exit immediately if any unrecognized arg is passed on startup

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 691c5187c21ebd90db81663f40eb36dbf06dc9ac
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 14:57:58 2015 -0500

exit immediately if any unrecognized arg is passed on startup

ref T2182
---
 src/bin/e_main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index d7bb2c1..1213d99 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -1183,7 +1183,8 @@ _e_main_parse_arguments(int argc, char **argv)
   e_nopause = EINA_TRUE;
 else if ((!strcmp(argv[i], "-h")) ||
  (!strcmp(argv[i], "-help")) ||
- (!strcmp(argv[i], "--help")))
+ (!strcmp(argv[i], "--help")) ||
+ argv[i][0])
   {
  printf
(_(

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 01/02: exit immediately if any unrecognized arg is passed on startup

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 28d85ea90a66c50a4f3540b219fcdecb4862d468
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 14:57:58 2015 -0500

exit immediately if any unrecognized arg is passed on startup

ref T2182
---
 src/bin/e_main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index a64a8e6..c581386 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -1172,7 +1172,8 @@ _e_main_parse_arguments(int argc, char **argv)
   e_nopause = EINA_TRUE;
 else if ((!strcmp(argv[i], "-h")) ||
  (!strcmp(argv[i], "-help")) ||
- (!strcmp(argv[i], "--help")))
+ (!strcmp(argv[i], "--help")) ||
+ argv[i][0])
   {
  printf
(_(

-- 




[EGIT] [core/enlightenment] master 01/01: disable wl clients in X

2015-03-06 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit e8d408650f050a80bda17ea0d4dc872a9c3902fe
Author: Mike Blumenkrantz 
Date:   Fri Mar 6 14:52:12 2015 -0500

disable wl clients in X

this is untested and undeveloped, no point in leaving it around to crash 
randomly
---
 src/bin/e_comp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 74cb15c..fbcd9c4 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -1058,9 +1058,9 @@ e_comp_init(void)
   }
 return EINA_FALSE;
  }
-#if defined(HAVE_WAYLAND_CLIENTS) || defined(HAVE_WAYLAND_ONLY)
-   e_comp_wl_init();
-#endif
+//#ifdef HAVE_WAYLAND_CLIENTS
+   //e_comp_wl_init();
+//#endif
if (!e_comp) return EINA_FALSE;
 out:
e_comp->elm = elm_win_fake_add(e_comp->ee);

-- 




[EGIT] [core/elementary] master 01/01: test: fix crash of configuration test

2015-03-06 Thread kabeer khan
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=7d500e3331dfac4d2a5ec834e0fd5124529b075f

commit 7d500e3331dfac4d2a5ec834e0fd5124529b075f
Author: kabeer khan 
Date:   Fri Mar 6 16:34:01 2015 +0100

test: fix crash of configuration test

Summary:
Add extra check to prevent crashing when user clicks configuration
test from elementary_test window

Signed-off-by: kabeer khan 

Reviewers: seoz, cedric

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

Signed-off-by: Cedric BAIL 
---
 src/bin/test_config.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/test_config.c b/src/bin/test_config.c
index fe8159f..bf032a7 100644
--- a/src/bin/test_config.c
+++ b/src/bin/test_config.c
@@ -416,7 +416,7 @@ _plug_add(Evas_Object *win, Evas_Object *bx, const char 
*name)
} while(0)
 
 void
-test_config(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
+test_config(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
 {
App_Data *ad;
Prof_Data *pd = (Prof_Data *)data;
@@ -514,7 +514,7 @@ test_config(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUS
evas_object_smart_callback_add(win, "profile,changed", 
_win_profile_changed_cb, NULL);
evas_object_smart_callback_add(win, "delete,request", _win_del_cb, NULL);
 
-   if (pd)
+   if (pd && !obj) //obj is NULL when called by _bt_win_add but not when user 
clicks this test
  {
 if (pd->available_profiles[0])
   elm_win_available_profiles_set(win,

-- 




[EGIT] [core/efl] master 06/12: edje: add orientation properties in edje_cc

2015-03-06 Thread perepelits.m
cedric pushed a commit to branch master.

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

commit 61ea719eba9b3cb4d4cbfa8e935182af7427a855
Author: perepelits.m 
Date:   Fri Mar 6 16:31:53 2015 +0100

edje: add orientation properties in edje_cc

Summary: Adding of two modes of node orientation, by setting of the angle 
and by setting of the quaternion.

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: artem.popov, cedric

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

Signed-off-by: Cedric BAIL 
---
 src/bin/edje/edje_cc_handlers.c | 100 
 1 file changed, 100 insertions(+)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index d9ce1d7..6d96fd2 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -376,6 +376,8 @@ static void 
st_collections_group_parts_part_description_properties_shade(void);
 static void 
st_collections_group_parts_part_description_orientation_look1(void);
 static void 
st_collections_group_parts_part_description_orientation_look2(void);
 static void 
st_collections_group_parts_part_description_orientation_look_to(void);
+static void 
st_collections_group_parts_part_description_orientation_angle_axis(void);
+static void 
st_collections_group_parts_part_description_orientation_quaternion(void);
 
 #ifdef HAVE_EPHYSICS
 static void st_collections_group_parts_part_description_physics_mass(void);
@@ -565,6 +567,32 @@ static void st_collections_group_nobroadcast(void);
 ed->type_node.orientation.type = 
EVAS_3D_NODE_ORIENTATION_TYPE_LOOK_TO;  \
  }
 
+#define SET_ANGLE_AXIS(Type, type_node)
\
+Edje_Part_Description_##Type *ed;  
\
+   ed = (Edje_Part_Description_##Type*) current_desc;  
\
+   
\
+   if (ed->type_node.orientation.type <= 
EVAS_3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS) \
+ { 
\
+ed->type_node.orientation.data[0] = FROM_DOUBLE(parse_float(0));   
\
+ed->type_node.orientation.data[1] = FROM_DOUBLE(parse_float(1));   
\
+ed->type_node.orientation.data[2] = FROM_DOUBLE(parse_float(2));   
\
+ed->type_node.orientation.data[3] = FROM_DOUBLE(parse_float(3));   
\
+ed->type_node.orientation.type = 
EVAS_3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS; \
+ }
+
+#define SET_QUATERNION(Type, type_node)
\
+Edje_Part_Description_##Type *ed;  
\
+   ed = (Edje_Part_Description_##Type*) current_desc;  
\
+   
\
+   if (ed->type_node.orientation.type <= 
EVAS_3D_NODE_ORIENTATION_TYPE_QUATERNION) \
+ { 
\
+ed->type_node.orientation.data[1] = FROM_DOUBLE(parse_float(0));   
\
+ed->type_node.orientation.data[2] = FROM_DOUBLE(parse_float(1));   
\
+ed->type_node.orientation.data[3] = FROM_DOUBLE(parse_float(2));   
\
+ed->type_node.orientation.data[0] = FROM_DOUBLE(parse_float(3));   
\
+ed->type_node.orientation.type = 
EVAS_3D_NODE_ORIENTATION_TYPE_QUATERNION; \
+ }
+
 New_Statement_Handler statement_handlers[] =
 {
  {"externals.external", st_externals_external},
@@ -778,6 +806,8 @@ New_Statement_Handler statement_handlers[] =
  {"collections.group.parts.part.description.orientation.look1", 
st_collections_group_parts_part_description_orientation_look1},
  {"collections.group.parts.part.description.orientation.look2", 
st_collections_group_parts_part_description_orientation_look2},
  {"collections.group.parts.part.description.orientation.look_to", 
st_collections_group_parts_part_description_orientation_look_to},
+ {"collections.group.parts.part.description.orientation.angle_axis", 
st_collections_group_parts_part_description_orientation_angle_axis},
+ {"collections.group.parts.part.description.orientation.quaternion", 
st_collections_group_parts_part_description_orientation_quaternion},
 
 #ifdef HAVE_EPHYSICS
  {"collections.group.parts.part.description.physics.mass", 
st_collections_group_parts_part_description_physics_mass},
@@ -9686,6 +9716,76 @@ 
st_collections_group_parts_part_description_orientation_look_to(void)
  }
 }
 
+/**
+@page edcref
+@property
+angle_axis
+@parameters
+[x] [y] [z] [w]
+@effect
+Specifies the angle and indicates what proportions the MESH_NODE 
rotates in.
+@endpr

[EGIT] [core/efl] master 08/12: evas: materials in .mtl format are deleted

2015-03-06 Thread Bogdan Devichev
cedric pushed a commit to branch master.

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

commit ad17806fb0550e2a5ae36de3627af183722905de
Author: Bogdan Devichev 
Date:   Fri Mar 6 16:55:32 2015 +0100

evas: materials in .mtl format are deleted

Summary: Materials are not used in any loader and will not be used in 
nearest future.

Reviewers: cedric, raster, Hermet

Subscribers: cedric

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

Signed-off-by: Cedric BAIL 
---
 src/examples/evas/Makefile.am  |  6 --
 src/examples/evas/resources/models/M15.mtl | 16 
 .../evas/resources/models/mesh_for_mmap.mtl| 11 ---
 src/examples/evas/resources/models/sweet_home.mtl  | 22 --
 .../models/sweet_home_only_vertex_coords.mtl   | 12 
 .../models/sweet_home_without_normals.mtl  | 22 --
 .../models/sweet_home_without_tex_coords.mtl   | 12 
 7 files changed, 101 deletions(-)

diff --git a/src/examples/evas/Makefile.am b/src/examples/evas/Makefile.am
index d3b1534..17e9bd9 100644
--- a/src/examples/evas/Makefile.am
+++ b/src/examples/evas/Makefile.am
@@ -339,11 +339,9 @@ resources/images/sonic.png \
 resources/images/sweet_home_reversed.png \
 resources/images/star.jpg \
 resources/models/eagle.md2 \
-resources/models/M15.mtl \
 resources/models/M15.obj \
 resources/models/mesh_for_mmap.eet \
 resources/models/mesh_for_mmap.md2 \
-resources/models/mesh_for_mmap.mtl \
 resources/models/mesh_for_mmap.obj \
 resources/models/mesh_for_mmap.ply \
 resources/models/Normal_UVs_Colors.ply \
@@ -355,13 +353,9 @@ resources/models/NoNormal_UVs_NoColors.ply \
 resources/models/NoNormal_NoUVs_Colors.ply \
 resources/models/NoNormal_NoUVs_NoColors.ply \
 resources/models/sonic.md2 \
-resources/models/sweet_home.mtl \
 resources/models/sweet_home.obj \
-resources/models/sweet_home_only_vertex_coords.mtl \
 resources/models/sweet_home_only_vertex_coords.obj \
-resources/models/sweet_home_without_normals.mtl \
 resources/models/sweet_home_without_normals.obj \
-resources/models/sweet_home_without_tex_coords.mtl \
 resources/models/sweet_home_without_tex_coords.obj \
 Makefile.examples
 
diff --git a/src/examples/evas/resources/models/M15.mtl 
b/src/examples/evas/resources/models/M15.mtl
deleted file mode 100644
index 363dc5f..000
--- a/src/examples/evas/resources/models/M15.mtl
+++ /dev/null
@@ -1,16 +0,0 @@
-# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
-# File Created: 26.03.2014 19:15:34
-
-newmtl Material__25
-   Ns 10.
-   Ni 1.5000
-   d 1.
-   Tr 0.
-   Tf 1. 1. 1. 
-   illum 2
-   Ka 0.5880 0.5880 0.5880
-   Kd 0.5880 0.5880 0.5880
-   Ks 0. 0. 0.
-   Ke 0. 0. 0.
-   map_Ka D:\Bajado de Internet\Max 3ds\BF4 weapons\Gadgets\M15\m15_d.tga
-   map_Kd D:\Bajado de Internet\Max 3ds\BF4 weapons\Gadgets\M15\m15_d.tga
diff --git a/src/examples/evas/resources/models/mesh_for_mmap.mtl 
b/src/examples/evas/resources/models/mesh_for_mmap.mtl
deleted file mode 100644
index 10bcab6..000
--- a/src/examples/evas/resources/models/mesh_for_mmap.mtl
+++ /dev/null
@@ -1,11 +0,0 @@
-# Blender MTL File: 'None'
-# Material Count: 1
-
-newmtl Material.001
-Ns 90.196078
-Ka 0.00 0.00 0.00
-Kd 0.124158 0.125842 0.00
-Ks 0.025297 0.00 1.00
-Ni 1.00
-d 1.00
-illum 2
diff --git a/src/examples/evas/resources/models/sweet_home.mtl 
b/src/examples/evas/resources/models/sweet_home.mtl
deleted file mode 100644
index c3342d4..000
--- a/src/examples/evas/resources/models/sweet_home.mtl
+++ /dev/null
@@ -1,22 +0,0 @@
-# Blender MTL File: 'sweet_home.blend'
-# Material Count: 2
-
-newmtl Material
-Ns 96.078431
-Ka 0.00 0.00 0.00
-Kd 0.64 0.64 0.64
-Ks 0.50 0.50 0.50
-Ni 1.00
-d 1.00
-illum 2
-map_Kd /home/bdevichev/Desktop/rect.png
-
-newmtl Material_Untitled
-Ns 96.078431
-Ka 0.00 0.00 0.00
-Kd 0.64 0.64 0.64
-Ks 0.50 0.50 0.50
-Ni 1.00
-d 1.00
-illum 2
-map_Kd /home/bdevichev/Desktop/sweet_home.png
diff --git 
a/src/examples/evas/resources/models/sweet_home_only_vertex_coords.mtl 
b/src/examples/evas/resources/models/sweet_home_only_vertex_coords.mtl
deleted file mode 100644
index 19d1272..000
--- a/src/examples/evas/resources/models/sweet_home_only_vertex_coords.mtl
+++ /dev/null
@@ -1,12 +0,0 @@
-# Blender MTL File: 'sweet_home.blend'
-# Material Count: 1
-
-newmtl Material
-Ns 96.078431
-Ka 0.00 0.00 0.00
-Kd 0.64 0.64 0.64
-Ks 0.50 0.50 0.50
-Ni 1.00
-d 1.00
-illum 2
-map_Kd /home/bdevichev/Desktop/rect.png
diff --git a/src/examples/evas/resources/models/sweet_home_without_normals.mtl 
b/src/examples/evas/resources/models/sweet_home_without

[EGIT] [core/efl] master 05/12: ecore_con: Not returning error if port is less than zero for local sockets.

2015-03-06 Thread Srivardhan Hebbar
cedric pushed a commit to branch master.

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

commit 9b1cdff941a429f13698184e02b37b2ad41fcaf4
Author: Srivardhan Hebbar 
Date:   Fri Mar 6 16:26:24 2015 +0100

ecore_con: Not returning error if port is less than zero for local sockets.

Summary:
If the socket is local, then there is no need to through error if the port 
is less than 0 (i.e., negetive). The behavior is same in 
_ecore_con_connector_eo_base_finalize funtion. So applied the same here. There 
is code in ecore_con_local.c to handle if port is less than zero for local 
sockets.
In _ecore_con_connector_eo_base_finalize function, I've added a space just 
so that it shows difference in phabricator and  would be easy for you to review.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2089
---
 src/lib/ecore_con/ecore_con.c | 11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index 914faa8..20aa2a8 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -398,9 +398,16 @@ _ecore_con_server_eo_base_finalize(Ecore_Con_Server *obj, 
Ecore_Con_Server_Data
 
servers = eina_list_append(servers, obj);
 
-   if (!svr->name || (svr->port < 0))
+   if (!svr->name)
  goto error;
 
+   EINA_SAFETY_ON_TRUE_GOTO(((type == ECORE_CON_REMOTE_TCP) ||
+ (type == ECORE_CON_REMOTE_NODELAY) ||
+ (type == ECORE_CON_REMOTE_CORK) ||
+ (type == ECORE_CON_REMOTE_UDP) ||
+ (type == ECORE_CON_REMOTE_BROADCAST)) &&
+ (svr->port < 0), error);
+
if (ecore_con_ssl_server_prepare(obj, compl_type & ECORE_CON_SSL))
  goto error;
 
@@ -506,7 +513,7 @@ _ecore_con_connector_eo_base_finalize(Ecore_Con_Server 
*obj, void *pd EINA_UNUSE
  (type == ECORE_CON_REMOTE_CORK) ||
  (type == ECORE_CON_REMOTE_UDP) ||
  (type == ECORE_CON_REMOTE_BROADCAST)) &&
-(svr->port < 0), error);
+ (svr->port < 0), error);
 
if ((type == ECORE_CON_LOCAL_USER) ||
(type == ECORE_CON_LOCAL_SYSTEM) ||

-- 




[EGIT] [core/efl] master 03/12: ecore_con: add test cases related to SSL.

2015-03-06 Thread Srivardhan Hebbar
cedric pushed a commit to branch master.

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

commit 5b274257822c706608eb8d8a325b71e5727e4e94
Author: Srivardhan Hebbar 
Date:   Fri Mar 6 15:55:58 2015 +0100

ecore_con: add test cases related to SSL.

Summary:
Add test cases related to SSL. Now it is not crashing and all test cases 
passes.

Signed-off-by: Srivardhan Hebbar 

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL 
---
 src/tests/ecore/ecore_test_ecore_con.c | 114 ++---
 src/tests/ecore/server.key |  15 +
 src/tests/ecore/server.pem |  14 
 3 files changed, 134 insertions(+), 9 deletions(-)

diff --git a/src/tests/ecore/ecore_test_ecore_con.c 
b/src/tests/ecore/ecore_test_ecore_con.c
index e29139d..70b9162 100644
--- a/src/tests/ecore/ecore_test_ecore_con.c
+++ b/src/tests/ecore/ecore_test_ecore_con.c
@@ -176,9 +176,9 @@ _dns_err(void *data, int type EINA_UNUSED, void *ev 
EINA_UNUSED)
return ECORE_CALLBACK_RENEW;
 }
 
-void _ecore_con_server_client_tests(Ecore_Con_Type compl_type, const char 
*name)
+void _ecore_con_server_client_tests(Ecore_Con_Type compl_type, const char 
*name, Eina_Bool is_ssl)
 {
-   Ecore_Con_Server *server = NULL;
+   Ecore_Con_Server *server;
Ecore_Con_Server *client;
Ecore_Con_Client *cl;
const Eina_List *clients, *l;
@@ -220,6 +220,12 @@ void _ecore_con_server_client_tests(Ecore_Con_Type 
compl_type, const char *name)
server_data);
fail_if (server == NULL);
 
+   if (is_ssl)
+ {
+fail_unless(ecore_con_ssl_server_cert_add(server, 
TESTS_SRC_DIR"/server.pem"));
+fail_unless(ecore_con_ssl_server_privkey_add(server, 
TESTS_SRC_DIR"/server.key"));
+ }
+
del_ret = ecore_con_server_data_get(server);
fail_if (del_ret != server_data);
 
@@ -241,6 +247,12 @@ void _ecore_con_server_client_tests(Ecore_Con_Type 
compl_type, const char *name)
client_data);
fail_if (client == NULL);
 
+   if (is_ssl)
+ {
+fail_unless(ecore_con_ssl_server_cafile_add(server, 
TESTS_SRC_DIR"/server.pem"));
+ecore_con_ssl_server_verify(server);
+ }
+
ecore_main_loop_begin();
 
clients = ecore_con_server_clients_get(server);
@@ -285,31 +297,103 @@ void _ecore_con_server_client_tests(Ecore_Con_Type 
compl_type, const char *name)
 
 START_TEST(ecore_test_ecore_con_local_user)
 {
-   _ecore_con_server_client_tests(ECORE_CON_LOCAL_USER, "test_sock");
+   _ecore_con_server_client_tests(ECORE_CON_LOCAL_USER, "test_sock", 
EINA_FALSE);
 }
 END_TEST
 
 START_TEST(ecore_test_ecore_con_local_system)
 {
-   _ecore_con_server_client_tests(ECORE_CON_LOCAL_SYSTEM, "test_sock");
+   _ecore_con_server_client_tests(ECORE_CON_LOCAL_SYSTEM, "test_sock", 
EINA_FALSE);
 }
 END_TEST
 
 START_TEST(ecore_test_ecore_con_local_abstract)
 {
-   _ecore_con_server_client_tests(ECORE_CON_LOCAL_ABSTRACT, "test_sock");
+   _ecore_con_server_client_tests(ECORE_CON_LOCAL_ABSTRACT, "test_sock", 
EINA_FALSE);
 }
 END_TEST
 
 START_TEST(ecore_test_ecore_con_remote_tcp)
 {
-   _ecore_con_server_client_tests(ECORE_CON_REMOTE_TCP, "127.0.0.1");
+   _ecore_con_server_client_tests(ECORE_CON_REMOTE_TCP, "127.0.0.1", 
EINA_FALSE);
 }
 END_TEST
 
 START_TEST(ecore_test_ecore_con_remote_nodelay)
 {
-   _ecore_con_server_client_tests(ECORE_CON_REMOTE_NODELAY, "127.0.0.1");
+   _ecore_con_server_client_tests(ECORE_CON_REMOTE_NODELAY, "127.0.0.1", 
EINA_FALSE);
+}
+END_TEST
+
+START_TEST(ecore_test_ecore_con_remote_tcp_ssl3)
+{
+   _ecore_con_server_client_tests(ECORE_CON_REMOTE_TCP | ECORE_CON_USE_SSL3, 
"127.0.0.1", EINA_TRUE);
+}
+END_TEST
+
+START_TEST(ecore_test_ecore_con_remote_tcp_ssl3_load_cert)
+{
+   _ecore_con_server_client_tests(ECORE_CON_REMOTE_TCP | ECORE_CON_USE_SSL3 | 
ECORE_CON_LOAD_CERT, "127.0.0.1", EINA_TRUE);
+}
+END_TEST
+
+START_TEST(ecore_test_ecore_con_remote_tcp_tls)
+{
+   _ecore_con_server_client_tests(ECORE_CON_REMOTE_TCP | ECORE_CON_USE_TLS, 
"127.0.0.1", EINA_TRUE);
+}
+END_TEST
+
+START_TEST(ecore_test_ecore_con_remote_tcp_tls_load_cert)
+{
+   _ecore_con_server_client_tests(ECORE_CON_REMOTE_TCP | ECORE_CON_USE_TLS | 
ECORE_CON_LOAD_CERT, "127.0.0.1", EINA_TRUE);
+}
+END_TEST
+
+START_TEST(ecore_test_ecore_con_remote_tcp_mixed)
+{
+   _ecore_con_server_client_tests(ECORE_CON_REMOTE_TCP | ECORE_CON_USE_MIXED, 
"127.0.0.1", EINA_TRUE);
+}
+END_TEST
+
+START_TEST(ecore_test_ecore_con_remote_tcp_mixed_load_cert)
+{
+   _ecore_con_server_client_tests(ECORE_CON_REMOTE_TCP | ECORE_CON_USE_MIXED | 
ECORE_CON_LOAD_CERT, "127.0.0.1", EINA_TRUE);
+}
+END_TEST
+
+START_TEST(ecore_test_ecore_con_remote_nodelay_ssl3)
+{
+   _ecore_con_server_client_tests(ECORE_CON_REMOTE_NODELAY | 
ECORE_CON_USE_SSL3, "127.0.0.1", EINA_TRUE);
+}
+END_TEST
+
+START_TEST(ecore_test_ecore_con_remote_nodelay_ssl3_load_cer

[EGIT] [core/efl] master 10/12: evas: fix bug in the destructor of node in Evas_3D.

2015-03-06 Thread se.osadchy
cedric pushed a commit to branch master.

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

commit e58b135e31d636d5c56336c298950779ec2b8ff2
Author: se.osadchy 
Date:   Fri Mar 6 19:12:57 2015 +0100

evas: fix bug in the destructor of node in Evas_3D.

Summary: Bug relative with segmentation fault if node isn't mesh_node type.

@fix

Reviewers: cedric, raster, Hermet

Subscribers: cedric

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

Signed-off-by: Cedric BAIL 
---
 src/lib/evas/canvas/evas_3d_node.c | 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/lib/evas/canvas/evas_3d_node.c 
b/src/lib/evas/canvas/evas_3d_node.c
index 09bffc8..1f69cdc 100644
--- a/src/lib/evas/canvas/evas_3d_node.c
+++ b/src/lib/evas/canvas/evas_3d_node.c
@@ -621,7 +621,12 @@ _node_free(Evas_3D_Object *obj)
 eina_list_free(pd->members);
  }
 
-   if (pd->data.mesh.meshes)
+   if (pd->parent)
+ {
+eo_do(pd->parent, evas_3d_node_member_del(obj));
+ }
+
+   if (pd->type == EVAS_3D_NODE_TYPE_MESH && pd->data.mesh.meshes)
  {
 Eina_List *l;
 Evas_3D_Mesh *m;
@@ -632,10 +637,10 @@ _node_free(Evas_3D_Object *obj)
   }
 
 eina_list_free(pd->data.mesh.meshes);
- }
 
-   if (pd->data.mesh.node_meshes)
- eina_hash_free(pd->data.mesh.node_meshes);
+if (pd->data.mesh.node_meshes)
+  eina_hash_free(pd->data.mesh.node_meshes);
+ }
 
if (pd->scenes_root)
  eina_hash_free(pd->scenes_root);

-- 




[EGIT] [core/efl] master 01/12: eina: minimize fragmentation of chainned mempool.

2015-03-06 Thread Subodh Kumar
cedric pushed a commit to branch master.

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

commit 554b2cd9da44b55e598f32db94cf98ac43da58a0
Author: Subodh Kumar 
Date:   Fri Mar 6 15:48:38 2015 +0100

eina: minimize fragmentation of chainned mempool.

Summary:
Previously: Each allocation happened in the first chain after any free.
Now: All allocation will happen in one chain until all buckets are full, 
this can reduce
fragmentation to some extent.

Reviewers: seoz, govi, shilpasingh, raster, cedric

Reviewed By: cedric

Subscribers: cedric, rajeshps

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

Signed-off-by: Cedric BAIL 
---
 AUTHORS|  1 +
 .../eina/mp/chained_pool/eina_chained_mempool.c| 61 ++
 2 files changed, 40 insertions(+), 22 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index e15446a..8db8538 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -50,6 +50,7 @@ Igor Murzov 
 Vladislav Brovko 
 ChunEon Park (Hermet) 
 Rajeev Ranjan (Rajeev)  
+Subodh Kumar 
 
 Eet
 ---
diff --git a/src/modules/eina/mp/chained_pool/eina_chained_mempool.c 
b/src/modules/eina/mp/chained_pool/eina_chained_mempool.c
index c587ae0..5c916e7 100644
--- a/src/modules/eina/mp/chained_pool/eina_chained_mempool.c
+++ b/src/modules/eina/mp/chained_pool/eina_chained_mempool.c
@@ -68,6 +68,18 @@ static int _eina_chained_mp_log_dom = -1;
 static int aligned_chained_pool = 0;
 static int page_size = 0;
 
+typedef struct _Chained_Pool Chained_Pool;
+struct _Chained_Pool
+{
+   EINA_INLIST;
+   EINA_RBTREE;
+   Eina_Trash *base;
+   int usage;
+
+   unsigned char *last;
+   unsigned char *limit;
+};
+
 typedef struct _Chained_Mempool Chained_Mempool;
 struct _Chained_Mempool
 {
@@ -79,6 +91,7 @@ struct _Chained_Mempool
int alloc_size;
int group_size;
int usage;
+   Chained_Pool* first_fill; //All allocation will happen in this chain,unless 
it is filled
 #ifdef EINA_DEBUG_MALLOC
int minimal_size;
 #endif
@@ -88,17 +101,6 @@ struct _Chained_Mempool
Eina_Spinlock mutex;
 };
 
-typedef struct _Chained_Pool Chained_Pool;
-struct _Chained_Pool
-{
-   EINA_INLIST;
-   EINA_RBTREE;
-   Eina_Trash *base;
-   int usage;
-
-   unsigned char *last;
-   unsigned char *limit;
-};
 
 static inline Eina_Rbtree_Direction
 _eina_chained_mp_pool_cmp(const Eina_Rbtree *left, const Eina_Rbtree *right, 
EINA_UNUSED void *data)
@@ -183,7 +185,7 @@ _eina_chained_mempool_alloc_in(Chained_Mempool *pool, 
Chained_Pool *p)
   mem = p->last;
   p->last += pool->item_alloc;
   if (p->last >= p->limit)
-   p->last = NULL;
+  p->last = NULL;
 }
   else
 {
@@ -244,9 +246,14 @@ _eina_chained_mempool_free_in(Chained_Mempool *pool, 
Chained_Pool *p, void *ptr)
 pool->first = eina_inlist_remove(pool->first, EINA_INLIST_GET(p));
 pool->root = eina_rbtree_inline_remove(pool->root, EINA_RBTREE_GET(p),
_eina_chained_mp_pool_cmp, 
NULL);
+if (pool->first_fill == p)
+  {
+ pool->first_fill = NULL;
+ pool->first_fill = EINA_INLIST_CONTAINER_GET(pool->first, 
Chained_Pool);
+  }
 _eina_chained_mp_pool_free(p);
 
-   return EINA_TRUE;
+   return EINA_TRUE;
  }
else
  {
@@ -271,12 +278,21 @@ eina_chained_mempool_malloc(void *data, EINA_UNUSED 
unsigned int size)
 #endif
  }
 
-   // Either we have some free space in the first one, or there is no free 
space.
-   if (pool->first) p = EINA_INLIST_CONTAINER_GET(pool->first, Chained_Pool);
+   //we have some free space in first fill chain
+   if (pool->first_fill) p = pool->first_fill;
 
// base is not NULL - has a free slot
if (p && !p->base && !p->last)
- p = NULL;
+ {
+   //Current pointed chain is filled , so point it to first one
+   pool->first_fill = EINA_INLIST_CONTAINER_GET(pool->first, Chained_Pool);
+   //Either first one has some free space or every chain is filled
+   if (pool->first_fill && !pool->first_fill->base && 
!pool->first_fill->last)
+{
+   p = NULL;
+   pool->first_fill = NULL;
+}
+ }
 
 #ifdef DEBUG
if (p == NULL)
@@ -287,19 +303,20 @@ eina_chained_mempool_malloc(void *data, EINA_UNUSED 
unsigned int size)
// we have reached the end of the list - no free pools
if (!p)
  {
-p = _eina_chained_mp_pool_new(pool);
-if (!p)
+   //new chain created ,point it to be the first_fill chain
+pool->first_fill = _eina_chained_mp_pool_new(pool);
+if (!pool->first_fill)
   {
  eina_spinlock_release(&pool->mutex);
  return NULL;
   }
 
-pool->first = eina_inlist_prepend(pool->first, EINA_INLIST_GET(p));
-pool->root = eina_rbtree_inline_insert(pool->root, EINA_RBTREE_GET(p),
+pool->fir

[EGIT] [core/efl] master 07/12: eo: updated documentation of eo_add and eo_ref_add.

2015-03-06 Thread Srivardhan Hebbar
cedric pushed a commit to branch master.

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

commit d180f4991ba0b173cfabef12c23d970d92b6d9f4
Author: Srivardhan Hebbar 
Date:   Fri Mar 6 16:35:45 2015 +0100

eo: updated documentation of eo_add and eo_ref_add.

Summary: Had a chat with raster to understand the behavior of these two 
functions in the IRC. Thought it might be helpful if added in the documentation 
itself. So updated it accordingly.

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL 
---
 src/lib/eo/Eo.h | 17 -
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
index 6cd8279..af78795 100644
--- a/src/lib/eo/Eo.h
+++ b/src/lib/eo/Eo.h
@@ -641,11 +641,15 @@ EAPI void eo_error_set_internal(const Eo *obj, const char 
*file, int line);
 
 /**
  * @def eo_add
- * @brief Create a new object with the default constructor.
+ * @brief Create a new object and call its constructor(If it exits).
  *
- * The object returned by this function always has at least 1 ref. If the 
object
- * has a parent, it returns with 1 ref, and even if it doesn't have a parent
- * it's returned with 1 ref. This is convenient in C.
+ * The object returned by this function will always have 1 ref
+ * (reference count) irrespective of whether the parent is NULL or
+ * not.
+ * If the object is created using this function, then it would
+ * automatically gets deleted when the parent object is deleted.
+ * There is no need to call eo_unref on the child. This is convenient
+ * in C.
  *
  * If you want a more "consistent" behaviour, take a look at #eo_add_ref.
  *
@@ -658,10 +662,13 @@ EAPI void eo_error_set_internal(const Eo *obj, const char 
*file, int line);
 
 /**
  * @def eo_add_ref
- * @brief Create a new object with the default constructor.
+ * @brief Create a new object and call its constructor(If it exists).
  *
  * The object returned by this function has 1 ref for itself, 1 ref from the
  * parent (if exists) and possible other refs if were added during 
construction.
+ * If a child object is created using this, then it won't get deleted
+ * when the parent object is deleted until you manually remove the ref
+ * by calling eo_unref().
  *
  * @param klass the class of the object to create.
  * @param parent the parent to set to the object.

-- 




[EGIT] [core/efl] master 02/12: ecore_con: calling ecore_con_local_init/shutdown from ecore_con_init/shutdown.

2015-03-06 Thread Srivardhan Hebbar
cedric pushed a commit to branch master.

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

commit 6721800e7bd7b55acddd496e22369cb7b780dce2
Author: Srivardhan Hebbar 
Date:   Fri Mar 6 15:52:43 2015 +0100

ecore_con: calling ecore_con_local_init/shutdown from 
ecore_con_init/shutdown.

Summary:
ecore_con_local doesn't currently require any initialization, but it might 
need
that on some platform and not having the init make the source code non 
obvious.
This is just a patch to improve future maintenability.

Signed-off-by: Srivardhan Hebbar 

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL 
---
 src/lib/ecore_con/ecore_con.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index a440bcd..914faa8 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -224,6 +224,7 @@ ecore_con_init(void)
ecore_con_socks_init();
ecore_con_ssl_init();
ecore_con_info_init();
+   ecore_con_local_init();
 
 #ifdef HAVE_SYSTEMD
sd_fd_max = sd_listen_fds(0);
@@ -281,6 +282,7 @@ ecore_con_shutdown(void)
ecore_con_socks_shutdown();
if (!_ecore_con_event_count) ecore_con_mempool_shutdown();
 
+   ecore_con_local_shutdown();
ecore_con_info_shutdown();
ecore_con_ssl_shutdown();
eina_log_domain_unregister(_ecore_con_log_dom);

-- 




[EGIT] [core/efl] master 04/12: eina: add test cases for eina_xattr functions.

2015-03-06 Thread vivek
cedric pushed a commit to branch master.

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

commit a6b5ee94f0b4f01f88a038574ee75ed8ab98694b
Author: vivek 
Date:   Fri Mar 6 16:19:13 2015 +0100

eina: add test cases for eina_xattr functions.

Summary:
Add eina_test_xattr.c file for testing eina xattr functions and added test
cases for eina_xattr_set and eina_xattr_fd_set functions. Those tests need
a directory where the underlying file system allow xattr. Usually /tmp is
running on tmpfs that doesn't support today xattr. This test won't be run
if we are not provided with an existing proper directory.

Signed-off-by: vivek 

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL 
---
 configure.ac |   3 ++
 src/Makefile_Eina.am |   4 +-
 src/tests/eina/eina_suite.c  |   3 ++
 src/tests/eina/eina_suite.h  |   1 +
 src/tests/eina/eina_test_xattr.c | 111 +++
 5 files changed, 121 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 90a5c6d..82da49d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -854,6 +854,9 @@ AC_ARG_ENABLE([magic-debug],
 
 EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
 
+AC_ARG_WITH([xattr-tests-path],
+   [AS_HELP_STRING([--with-xattr-tests-path=DIR],[path of xattr enabled 
directory to create test 
files])],[XATTR_TEST_DIR=${withval}][AC_DEFINE_UNQUOTED([XATTR_TEST_DIR],["$withval"],
 [xattr enabled directory])])
+
 ### Checks for programs
 
 ### Checks for libraries
diff --git a/src/Makefile_Eina.am b/src/Makefile_Eina.am
index 539eadb..6341cd1 100644
--- a/src/Makefile_Eina.am
+++ b/src/Makefile_Eina.am
@@ -282,9 +282,11 @@ tests/eina/eina_test_cow.c \
 tests/eina/eina_test_barrier.c \
 tests/eina/eina_test_tmpstr.c \
 tests/eina/eina_test_trash.c \
-tests/eina/eina_test_lock.c
+tests/eina/eina_test_lock.c \
+tests/eina/eina_test_xattr.c
 # tests/eina/eina_test_model.c
 
+
 tests_eina_eina_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
 -DTESTS_WD=\"`pwd`\" \
 -DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/eina\" \
diff --git a/src/tests/eina/eina_suite.c b/src/tests/eina/eina_suite.c
index 26e3048..6e16d8e 100644
--- a/src/tests/eina/eina_suite.c
+++ b/src/tests/eina/eina_suite.c
@@ -76,6 +76,9 @@ static const Eina_Test_Case etc[] = {
{ "Locking", eina_test_locking },
{ "ABI", eina_test_abi },
{ "Trash", eina_test_trash },
+#ifdef XATTR_TEST_DIR
+   { "Xattr", eina_test_xattr },
+#endif
{ NULL, NULL }
 };
 
diff --git a/src/tests/eina/eina_suite.h b/src/tests/eina/eina_suite.h
index bc81a7c..433d95a 100644
--- a/src/tests/eina/eina_suite.h
+++ b/src/tests/eina/eina_suite.h
@@ -63,5 +63,6 @@ void eina_test_tmpstr(TCase *tc);
 void eina_test_locking(TCase *tc);
 void eina_test_abi(TCase *tc);
 void eina_test_trash(TCase *tc);
+void eina_test_xattr(TCase *tc);
 
 #endif /* EINA_SUITE_H_ */
diff --git a/src/tests/eina/eina_test_xattr.c b/src/tests/eina/eina_test_xattr.c
new file mode 100644
index 000..a7f4728
--- /dev/null
+++ b/src/tests/eina/eina_test_xattr.c
@@ -0,0 +1,111 @@
+/* EINA - EFL data type library
+ * Copyright (C) 2015 Vivek Ellur
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library;
+ * if not, see .
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include 
+#include 
+#include 
+#include 
+
+#include "eina_suite.h"
+#include "Eina.h"
+
+Eina_Tmpstr*
+get_file_path(const char* tmpdirname, const char* filename)
+{
+char file_path[PATH_MAX] = "";
+eina_str_join(file_path, sizeof(file_path), '/', tmpdirname, filename);
+return eina_tmpstr_add(file_path);
+}
+
+#ifdef XATTR_TEST_DIR
+START_TEST(eina_test_xattr_set)
+{
+   char *filename = "tmpfile";
+   char *attribute1 = "user.comment1";
+   char *data1 = "This is comment 1";
+   char *attribute2 = "user.comment2";
+   char *data2 = "This is comment 2";
+   char *ret_str;
+   int fd, len;
+   Eina_Bool ret;
+   Eina_Tmpstr *test_file_path;
+
+   eina_init();
+
+   test_file_path = get_file_path(XATTR_TEST_DIR, filename);
+   fd = open(test_file_path, O_WRONLY | O_CREAT | O_TRUNC, S_IRWXU | S_IRWXG | 
S_IRWXO);
+   fail_if(fd == 0);
+
+   ret = eina_xattr_set(test_file_path, a

[EGIT] [core/efl] master 11/12: edje: Edje_Edit - fix part alias source generation.

2015-03-06 Thread Andrii Kroitor
cedric pushed a commit to branch master.

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

commit 4ad20ac8e40a97ffcbb4851e75d243c3d3055e7e
Author: Andrii Kroitor 
Date:   Fri Mar 6 19:16:06 2015 +0100

edje: Edje_Edit - fix part alias source generation.

Summary:
generating correct part alias string 'alias: "theme_part_path" 
"real_part_path";'
@fix

Reviewers: cedric, seoz, Hermet, raster

Subscribers: cedric, reutskiy.v.v

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

Signed-off-by: Cedric BAIL 
---
 src/lib/edje/edje_edit.c| 14 +-
 src/lib/edje/edje_load.c|  2 +-
 src/lib/edje/edje_private.h |  1 +
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index 2ea12c5..5687e3e 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -11426,6 +11426,9 @@ _edje_generate_source_of_group(Edje *ed, 
Edje_Part_Collection_Directory_Entry *p
Eina_List *alias_list = NULL;
const char *alias;
Eina_Iterator *it;
+   int len;
+   char *tmp_alias;
+   const char* aliased;
 
obj = edje_edit_object_add(ed->base->evas);
if (!edje_object_file_set(obj, ed->file->path, group)) return EINA_FALSE;
@@ -11507,13 +11510,14 @@ _edje_generate_source_of_group(Edje *ed, 
Edje_Part_Collection_Directory_Entry *p
BUF_APPEND(I2"parts {\n");
if ((pc->aliased) && (pc->alias))
  {
-it = eina_hash_iterator_data_new(pc->aliased);
-EINA_ITERATOR_FOREACH(it, alias)
-   BUF_APPENDF(I3"alias: \"%s\" ", alias);
-eina_iterator_free(it);
 it = eina_hash_iterator_data_new(pc->alias);
 EINA_ITERATOR_FOREACH(it, alias)
-   BUF_APPENDF("\"%s\";\n", alias);
+  {
+ tmp_alias = strdup(alias);
+ aliased = _edje_find_alias(pc->aliased, tmp_alias, &len);
+ BUF_APPENDF(I3"alias: \"%s\" \"%s\";\n", aliased, alias);
+ free(tmp_alias);
+  }
 eina_iterator_free(it);
  }
for (i = 0; i < pc->parts_count; i++)
diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index 22eed37..3124151 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -1809,7 +1809,7 @@ _edje_object_pack_item_hints_set(Evas_Object *obj, 
Edje_Pack_Element *it)
evas_object_resize(obj, w, h);
 }
 
-static const char *
+const char *
 _edje_find_alias(Eina_Hash *aliased, char *src, int *length)
 {
const char *alias;
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 906dca5..678421b 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -2255,6 +2255,7 @@ void  _edje_color_class_on_del(Edje *ed, 
Edje_Part *ep);
 void  _edje_color_class_members_free(void);
 void  _edje_color_class_hash_free(void);
 
+const char   * _edje_find_alias(Eina_Hash *aliased, char *src, int 
*length);
 Edje_Text_Class  *_edje_text_class_find(Edje *ed, const char *text_class);
 void  _edje_text_class_member_add(Edje *ed, const char 
*text_class);
 void  _edje_text_class_member_del(Edje *ed, const char 
*text_class);

-- 




[EGIT] [core/efl] master 12/12: examples: fix bad unref's in ecore and evas.

2015-03-06 Thread Avi Levin
cedric pushed a commit to branch master.

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

commit 92901e09397190bbaf00afc37ee28fe56378d093
Author: Avi Levin 
Date:   Fri Mar 6 19:17:55 2015 +0100

examples: fix bad unref's in ecore and evas.

Summary:
recived Error that object already deleted in the following files:
In evas-object-manipulation-eo.c: d.clipper and d.bg where created with
eo_add ( 1 ref ) but where unrefd twice: once explicity and once when
d.ee were deleted.
In ecore_indler_example: ctxt->idler were again explicity unrefd and
again unrefd by ecore_shutdown.
@fix

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL 
---
 src/examples/ecore/ecore_idler_example.c| 1 -
 src/examples/evas/evas-object-manipulation-eo.c | 4 
 2 files changed, 5 deletions(-)

diff --git a/src/examples/ecore/ecore_idler_example.c 
b/src/examples/ecore/ecore_idler_example.c
index 2991926..681d95f 100644
--- a/src/examples/ecore/ecore_idler_example.c
+++ b/src/examples/ecore/ecore_idler_example.c
@@ -65,7 +65,6 @@ _event_handler_cb(void *data, int type EINA_UNUSED, void 
*event EINA_UNUSED) //
 ecore_idle_enterer_del(ctxt->enterer);
 ecore_idle_exiter_del(ctxt->exiter);
 //ecore_idler_del(ctxt->idler);
-eo_unref(ctxt->idler);
 
 ctxt->enterer = NULL;
 ctxt->exiter = NULL;
diff --git a/src/examples/evas/evas-object-manipulation-eo.c 
b/src/examples/evas/evas-object-manipulation-eo.c
index e594e90..6bb2cbd 100644
--- a/src/examples/evas/evas-object-manipulation-eo.c
+++ b/src/examples/evas/evas-object-manipulation-eo.c
@@ -248,10 +248,6 @@ main(void)
 
ecore_main_loop_begin();
 
-   /* Decrementing object's reference count.*/
-   eo_unref(d.bg);
-   eo_unref(d.clipper_border);
-
ecore_evas_free(d.ee);
ecore_evas_shutdown();
return 0;

-- 




[E-devel] Icons placement and evry file plugin

2015-03-06 Thread Massimo Maiurana
Just two suggestions.

When I plug an external volume its icon appears on my desktop on the
upper left corner, which is fine, and when I plug in a second one its
icon is placed at the right hand side of the first. Since usually
monitors are rectangular, with more space at left and right sides than
at top and bottom, wouldn't it be better if new icons were placed under
the previous? Or at least to have an option to choose from :)

Also, when I open the file plugin of evry I get an empty view, then i
type a slash and I'm in the root dir. I think the user would expect to
have the root dir as the first view, or at least his home dir, or
whatever view is not an empty one.

-- 
Massimo Maiurana
Ragusa (RG)

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/enlightenment] master 01/01: Fix stuck modifiers on client exit

2015-03-06 Thread Derek Foreman
devilhorns pushed a commit to branch master.

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

commit 6e4214c8adaa2ae7bc0a864295d42c068ca6a59c
Author: Derek Foreman 
Date:   Fri Mar 6 13:08:24 2015 -0500

Fix stuck modifiers on client exit

Summary:
We still need to remove the active keys when focus_out happens, even
if the pixmap is already gone.  If we don't and a modifier was held
down during exit then the xkb state will have that modifier stuck
forever.

Reviewers: zmike, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2110
---
 src/bin/e_comp_wl.c | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index ad3a2ee..05f4e14 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -467,11 +467,6 @@ _e_comp_wl_evas_cb_focus_out(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *ob
Eina_List *l;
 
if (!(ec = data)) return;
-   if (e_object_is_del(E_OBJECT(ec))) return;
-   if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return;
-
-   /* lower client priority */
-   _e_comp_wl_client_priority_normal(ec);
 
cdata = ec->comp->wl_comp_data;
 
@@ -479,6 +474,12 @@ _e_comp_wl_evas_cb_focus_out(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *ob
wl_array_for_each(k, &cdata->kbd.keys)
  e_comp_wl_input_keyboard_state_update(cdata, *k, EINA_FALSE);
 
+   if (e_object_is_del(E_OBJECT(ec))) return;
+   if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return;
+
+   /* lower client priority */
+   _e_comp_wl_client_priority_normal(ec);
+
if (!ec->comp_data->surface) return;
 
/* send keyboard_leave to all keyboard resources */

-- 




Re: [E-devel] [EGIT] [core/efl] master 03/03: Evas GL common: Disable evas gl preload by default

2015-03-06 Thread Cedric BAIL
On Wed, Mar 4, 2015 at 9:30 AM, Jean-Philippe ANDRÉ  wrote:
> jpeg pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=f020171bf2fca0c2f30199904798b79dba929c65
>
> commit f020171bf2fca0c2f30199904798b79dba929c65
> Author: Jean-Philippe Andre 
> Date:   Wed Mar 4 17:11:26 2015 +0900
>
> Evas GL common: Disable evas gl preload by default
>
> Unfortunately, this "feature" has many problems and does not really
> fix those it was supposed to address:
>
> - Elm Photocam becomes horrible to use (the transition from
>   low-res to high-res tiles triggers this miniature path).
>
> - Evas async preload callback is called before the full image
>   is ready (ie. the texture is not uploaded yet), when really
>   the preload callback should be triggered only once the image
>   is 100% ready. (TODO)
>
> - Sometimes the miniature image keeps being used even though the
>   main image has been uploaded (eg. with E background). Maybe the
>   object image is not redrawn when it should.
>
> - This uses a separate thread for the upload, which is both a good
>   and bad idea because we need to do a make current. Also, this does
>   not upload the full-res image tile by tile, but only in one pass,
>   thus blocking the render loop until finished.
>
> This patch changes the env var from "EVAS_GL_NOPRELOAD" to
> "EVAS_GL_PRELOAD" (and only "1" will enable).
>
> Sorry Cedric, we can talk later about how to improve this.

Yeah, most of that has been on my TODO list for a long time, but sadly
times has been something that I have been missing a lot lately... I
wish I could have this damn time freeze button working !

> ---
>  src/modules/evas/engines/gl_common/evas_gl_common.h  |  5 +++--
>  src/modules/evas/engines/gl_common/evas_gl_preload.c | 12 ++--
>  src/modules/evas/engines/gl_common/evas_gl_texture.c |  5 -
>  3 files changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/src/modules/evas/engines/gl_common/evas_gl_common.h 
> b/src/modules/evas/engines/gl_common/evas_gl_common.h
> index 3602319..24e926f 100644
> --- a/src/modules/evas/engines/gl_common/evas_gl_common.h
> +++ b/src/modules/evas/engines/gl_common/evas_gl_common.h
> @@ -659,8 +659,9 @@ EAPI void 
> evas_gl_common_image_native_disable(Evas_GL_Image *im);
>  EAPI void evas_gl_common_image_free(Evas_GL_Image *im);
>  EAPI void evas_gl_common_image_native_enable(Evas_GL_Image *im);
>
> -EAPI int evas_gl_preload_init(void);
> -EAPI int evas_gl_preload_shutdown(void);
> +EAPI int  evas_gl_preload_init(void);
> +EAPI int  evas_gl_preload_shutdown(void);
> +EAPI Eina_Boolevas_gl_preload_enabled(void);
>
>  EAPI Evas_Engine_GL_Context  *evas_gl_common_context_new(void);
>
> diff --git a/src/modules/evas/engines/gl_common/evas_gl_preload.c 
> b/src/modules/evas/engines/gl_common/evas_gl_preload.c
> index 17836c2..5344473 100644
> --- a/src/modules/evas/engines/gl_common/evas_gl_preload.c
> +++ b/src/modules/evas/engines/gl_common/evas_gl_preload.c
> @@ -351,7 +351,8 @@ evas_gl_preload_target_unregister(Evas_GL_Texture *tex, 
> Eo *target)
>  EAPI int
>  evas_gl_preload_init(void)
>  {
> -   if (getenv("EVAS_GL_NOPRELOAD")) return 0;
> +   const char *s = getenv("EVAS_GL_PRELOAD");
> +   if (!s || (atoi(s) != 1)) return 0;
> if (async_loader_init++) return async_loader_init;
>
> eina_lock_new(&async_loader_lock);
> @@ -368,7 +369,8 @@ evas_gl_preload_init(void)
>  EAPI int
>  evas_gl_preload_shutdown(void)
>  {
> -   if (getenv("EVAS_GL_NOPRELOAD")) return 0;
> +   const char *s = getenv("EVAS_GL_PRELOAD");
> +   if (!s || (atoi(s) != 1)) return 0;
> if (--async_loader_init) return async_loader_init;
>
> async_loader_exit = EINA_TRUE;
> @@ -381,3 +383,9 @@ evas_gl_preload_shutdown(void)
>
> return async_loader_init;
>  }
> +
> +EAPI Eina_Bool
> +evas_gl_preload_enabled(void)
> +{
> +   return (async_loader_init >= 1);
> +}
> diff --git a/src/modules/evas/engines/gl_common/evas_gl_texture.c 
> b/src/modules/evas/engines/gl_common/evas_gl_texture.c
> index 6c3b034..4f0c0b3 100644
> --- a/src/modules/evas/engines/gl_common/evas_gl_texture.c
> +++ b/src/modules/evas/engines/gl_common/evas_gl_texture.c
> @@ -1267,7 +1267,10 @@ evas_gl_common_texture_update(Evas_GL_Texture *tex, 
> RGBA_Image *im)
>   }
>
> // if preloaded, then async push it in after uploading a miniature of it
> -   if (im->cache_entry.flags.preload_done && tex->w > 2 * EVAS_GL_TILE_SIZE 
> && tex->h > 2 * EVAS_GL_TILE_SIZE)
> +   if (im->cache_entry.flags.preload_done
> +   && (tex->w > (2 * EVAS_GL_TILE_SIZE))
> +   && (tex->h > (2 * EVAS_GL_TILE_SIZE))
> +   && evas_gl_preload_enabled())
>   {
>  Evas_GL_Texture_Async_Preload *async;
>  unsigned char *in;
>
> --
>
>
>



-- 
Cedric BAIL

--
Dive into the

[EGIT] [core/efl] master 01/01: elua: more reliable eoid->lua number conversion

2015-03-06 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 8bb13b626f3a5d284f50af493f3f7b5566e06586
Author: Daniel Kolesa 
Date:   Fri Mar 6 14:36:25 2015 +

elua: more reliable eoid->lua number conversion
---
 src/bindings/luajit/eo.lua | 5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/src/bindings/luajit/eo.lua b/src/bindings/luajit/eo.lua
index f26a907..03303b0 100644
--- a/src/bindings/luajit/eo.lua
+++ b/src/bindings/luajit/eo.lua
@@ -112,11 +112,8 @@ ffi.cdef [[
 extern const Eo_Event_Description _EO_BASE_EVENT_DEL;
 ]]
 
-local addr_d = ffi.typeof("union { double d; const Eo *p; }")
 local eo_obj_addr_get = function(x)
-local v = addr_d()
-v.p = x
-return tonumber(v.d)
+return tonumber(ffi.cast("intptr_t", x))
 end
 
 local cutil = require("cutil")

-- 




[EGIT] [core/efl] master 01/01: elua: unexpose callback add/del events

2015-03-06 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 0bd2fc15e9c61adbbe794bdf5bd5639abf20ac6d
Author: Daniel Kolesa 
Date:   Fri Mar 6 14:38:12 2015 +

elua: unexpose callback add/del events
---
 src/bindings/luajit/eo.lua | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/bindings/luajit/eo.lua b/src/bindings/luajit/eo.lua
index 03303b0..0d84aa2 100644
--- a/src/bindings/luajit/eo.lua
+++ b/src/bindings/luajit/eo.lua
@@ -107,8 +107,6 @@ ffi.cdef [[
 
 const Eo_Class *eo_base_class_get(void);
 
-extern const Eo_Event_Description _EO_BASE_EVENT_CALLBACK_ADD;
-extern const Eo_Event_Description _EO_BASE_EVENT_CALLBACK_DEL;
 extern const Eo_Event_Description _EO_BASE_EVENT_DEL;
 ]]
 

-- 




[EGIT] [core/efl] master 01/01: elua: remove irrelevant comment

2015-03-06 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit e75cf0db13cad000835275dd3ec41c23e682f526
Author: Daniel Kolesa 
Date:   Fri Mar 6 14:29:37 2015 +

elua: remove irrelevant comment
---
 src/bindings/luajit/eo.lua | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bindings/luajit/eo.lua b/src/bindings/luajit/eo.lua
index bbb8d9e..f26a907 100644
--- a/src/bindings/luajit/eo.lua
+++ b/src/bindings/luajit/eo.lua
@@ -191,7 +191,6 @@ local disconnect = function(self, ename, func)
 if not cbs then
 return false
 end
--- TODO: make a hash table for func-to-index conversions
 local  cbi = eo_cbidcache[addr]
 assert(cbi)
 local cidx = cbi[func]

-- 




[EGIT] [core/efl] master 01/01: elua: a func-to-idx cache for eo callbacks

2015-03-06 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit bcc5ba83b320924ded614ee722c08b8d68a08a44
Author: Daniel Kolesa 
Date:   Fri Mar 6 14:25:29 2015 +

elua: a func-to-idx cache for eo callbacks
---
 src/bindings/luajit/eo.lua | 25 -
 1 file changed, 12 insertions(+), 13 deletions(-)

diff --git a/src/bindings/luajit/eo.lua b/src/bindings/luajit/eo.lua
index 22f9094..bbb8d9e 100644
--- a/src/bindings/luajit/eo.lua
+++ b/src/bindings/luajit/eo.lua
@@ -131,14 +131,14 @@ local eo_classes = {}
 
 -- event system
 
-local eo_callbacks = {}
+local eo_callbacks, eo_cbidcache = {}, {}
 
 local eo_event_del, eo_event_cb
 
 local eo_event_del_fun = function(data, obj, desc, einfo)
 local addr = eo_obj_addr_get(obj)
 if  eo_callbacks[addr] then
-eo_callbacks[addr] = nil
+eo_callbacks[addr], eo_cbidcache[addr] = nil, nil
 end
 end
 
@@ -162,13 +162,14 @@ local connect = function(self, ename, func, priority)
 local cdel = false
 local addr = eo_obj_addr_get(self)
 local  cbs = eo_callbacks[addr]
+local  cbi = eo_cbidcache[addr]
 if not cbs then
-cbs = {}
-eo_callbacks[addr] = cbs
+cbs, cbi = {}, {}
+eo_callbacks[addr], eo_cbidcache[addr] = cbs, cbi
 cdel = true
 end
 local cidx = #cbs + 1
-cbs[cidx] = func
+cbs[cidx], cbi[func] = func, cidx
 M.__do_start(self, cl)
 eo.eo_event_callback_priority_add(ev, priority or 0,
 eo_event_cb, ffi.cast("void *", cidx))
@@ -191,17 +192,14 @@ local disconnect = function(self, ename, func)
 return false
 end
 -- TODO: make a hash table for func-to-index conversions
-local cidx = -1
-for i = 1, #cbs do
-if cbs[i] == func then
-cidx = i
-break
-end
-end
-if cidx < 0 then
+local  cbi = eo_cbidcache[addr]
+assert(cbi)
+local cidx = cbi[func]
+if not cidx then
 return false
 end
 cbs[cidx] = nil
+cbi[func] = nil
 M.__do_start(self, cl)
 eo.eo_event_callback_del(ev, eo_event_cb, ffi.cast("void *", cidx))
 M.__do_end()
@@ -234,6 +232,7 @@ local shutdown = function()
 eo_event_del = nil
 eo_event_cb  = nil
 eo_callbacks = {}
+eo_cbidcache = {}
 util.lib_unload("eo")
 end
 

-- 




Re: [E-devel] Interested in Becoming A Developer

2015-03-06 Thread Cedric BAIL
Hello,

On Thu, Mar 5, 2015 at 4:00 AM, Rick Van Camp  wrote:
> I have been communicating with Jeff Hoogland of Bodhi Linux regarding my
> interest in becoming involved in his effort.  After explaining my
> background and interests to him (do you need these as well?) he suggested I
> contact the developers here.

Nice to see that you are interested. The starting point is obviously
to build efl/elementary and all the stack from our git already. From
there, I think the easiest think is to maybe start by looking at our
documentation and maybe propose some first patch there to fix it. Or
look at our example directory and cleanup/improve what you find. From
there the next items that is also useful is to look at our tests
coverage report
(https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/coverage/html/index.html)
and improve it by providing new tests or extending existing tests.
Also we kind of have a todo list for EFL that you may want to look at
and take some items you are interested on
(https://phab.enlightenment.org/w/efl_todo/).

I am already helping other people to do this process of starting
developing in efl, so don't hesitate to contact me directly.

Have fun,
-- 
Cedric BAIL

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Editable feature in hoversel

2015-03-06 Thread Cedric BAIL
Hello,

On Thu, Mar 5, 2015 at 10:55 AM, SHILPA ONKAR SINGH
 wrote:
> I had observed that we don't have editable combobox type of widget in 
> elementary and
> thought that instead of creating a new widget, why not just add editable 
> feature in hoversel widget itself.
> if we call elm_hoversel_editable_set API on hoversel, the widget will behave 
> as combobox, if we click on right arrow area
> it will show entire menu or filtered menu based on text entered in entry and 
> recently I checked below todo list
> https://phab.enlightenment.org/w/efl_todo/
> and happen to see the same above requirement which we are working on. Please 
> let me know if the above method looks
> OK so that we can submit the patch else we will implement new widget by 
> inheriting from hoversel itself.

I find hoversel to limited to become a really useful combobox. I have
started a branch in elementary (devs/cedric/combobox) a long time ago
to actually provide a powerful widget using elm_entry and elm_genlist.
It is not mergeable at all yet. It is kind of working, but with tons
of bugs and some missing theme elements. If you have some times, maybe
you could look at it and try to fix it. I won't have time to work on
it in the coming month and I won't push that in the current release
cycle without some help.

Regards,
-- 
Cedric BAIL

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Elementary from Git Breaks the Start Gadget in my E Theme

2015-03-06 Thread Cedric BAIL
Hello,

This is typically a good time to use git bisect and report which
commit did break things. It is a little bit more complex due to some
times having to update elm at the same time as efl, but it should be
quite quick if it is between 1.12 and current git.

Cedric

On Fri, Mar 6, 2015 at 5:36 AM, Jeff Hoogland  wrote:
> I was under that impression as well, but here is my shelf with EFL/Elm
> 1.12.4:
>
> http://i.imgur.com/EkgpOHL.png
>
> And then after upgrading to EFL/Elm from git:
>
> http://i.imgur.com/SEYQYzG.png
>
> Start menu gadget works as expected with E's default theme. Same E version
> is used in both screenshots, just efl/elm was changed.
>
> On Thu, Mar 5, 2015 at 9:43 PM, Carsten Haitzler 
> wrote:
>
>> On Thu, 5 Mar 2015 21:34:20 -0600 Jeff Hoogland 
>> said:
>>
>> > Any idea what changes in elementary between 1.12 and Git now might cause
>> > the start gadget in my custom e theme to stop working?
>>
>> errr.. start gadget has nothing to do with elm... ?
>>
>> --
>> - Codito, ergo sum - "I code, therefore I am" --
>> The Rasterman (Carsten Haitzler)ras...@rasterman.com
>>
>>
>
>
> --
> ~Jeff Hoogland 
> My Projects on GitHub 
> --
> Dive into the World of Parallel Programming The Go Parallel Website, sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for all
> things parallel software development, from weekly thought leadership blogs to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>



-- 
Cedric BAIL

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: Edje epp: Fix FSF mailing address in the copyright notice.

2015-03-06 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit 374fa09f4821e06396b20014b95b9138e63ab0ee
Author: Tom Hacohen 
Date:   Fri Mar 6 10:39:59 2015 +

Edje epp: Fix FSF mailing address in the copyright notice.

Fixes T2157.

Thanks to spotrh for suggesting the fix.
---
 src/bin/edje/epp/cppalloc.c | 3 +--
 src/bin/edje/epp/cpperror.c | 3 +--
 src/bin/edje/epp/cppexp.c   | 3 +--
 src/bin/edje/epp/cpphash.c  | 3 +--
 src/bin/edje/epp/cpplib.c   | 3 +--
 src/bin/edje/epp/cpplib.h   | 3 +--
 src/bin/edje/epp/cppmain.c  | 3 +--
 7 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/src/bin/edje/epp/cppalloc.c b/src/bin/edje/epp/cppalloc.c
index 4ce0dd0..5cfdc66 100644
--- a/src/bin/edje/epp/cppalloc.c
+++ b/src/bin/edje/epp/cppalloc.c
@@ -16,8 +16,7 @@
  * GNU General Public License for more details.
  * 
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * along with this program; if not, see .
  * 
  * In other words, you are welcome to use, share and improve this program.
  * You are forbidden to forbid anyone else to use, share and improve
diff --git a/src/bin/edje/epp/cpperror.c b/src/bin/edje/epp/cpperror.c
index 2ebfac8..ad30ab0 100644
--- a/src/bin/edje/epp/cpperror.c
+++ b/src/bin/edje/epp/cpperror.c
@@ -16,8 +16,7 @@
  * GNU General Public License for more details.
  * 
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * along with this program; if not, see .
  * 
  * In other words, you are welcome to use, share and improve this program.
  * You are forbidden to forbid anyone else to use, share and improve
diff --git a/src/bin/edje/epp/cppexp.c b/src/bin/edje/epp/cppexp.c
index 44a3a81..191be25 100644
--- a/src/bin/edje/epp/cppexp.c
+++ b/src/bin/edje/epp/cppexp.c
@@ -13,8 +13,7 @@
  * GNU General Public License for more details.
  * 
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * along with this program; if not, see .
  * 
  * In other words, you are welcome to use, share and improve this program.
  * You are forbidden to forbid anyone else to use, share and improve
diff --git a/src/bin/edje/epp/cpphash.c b/src/bin/edje/epp/cpphash.c
index ea2c414..80972ea 100644
--- a/src/bin/edje/epp/cpphash.c
+++ b/src/bin/edje/epp/cpphash.c
@@ -16,8 +16,7 @@
  * GNU General Public License for more details.
  * 
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * along with this program; if not, see .
  * 
  * In other words, you are welcome to use, share and improve this program.
  * You are forbidden to forbid anyone else to use, share and improve
diff --git a/src/bin/edje/epp/cpplib.c b/src/bin/edje/epp/cpplib.c
index d776d88..af6dbfb 100644
--- a/src/bin/edje/epp/cpplib.c
+++ b/src/bin/edje/epp/cpplib.c
@@ -16,8 +16,7 @@
  * GNU General Public License for more details.
  * 
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * along with this program; if not, see .
  * 
  * In other words, you are welcome to use, share and improve this program.
  * You are forbidden to forbid anyone else to use, share and improve
diff --git a/src/bin/edje/epp/cpplib.h b/src/bin/edje/epp/cpplib.h
index 310c424..c040ebd 100644
--- a/src/bin/edje/epp/cpplib.h
+++ b/src/bin/edje/epp/cpplib.h
@@ -13,8 +13,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+along with this program; if not, see .
 
  In other words, you are welcome to use, share and improve this program.
  You are forbidden to forbid anyone else to use, share and improve
diff --git a/src/bin/edje/epp/cppmain.c b/src/bin/edje/epp/cppmain.c
index ea0a0b2..2e8059b 100644
--- a/src/bin/edje/epp/cppmain.c
+++ b/src/bin/edje/epp/cppmain.c
@@ -14,8 +14,7 @@
  * GNU General Public License for more details.
  * 
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Softw

Re: [E-devel] Have E suspend on lid close only while running from battery?

2015-03-06 Thread Vasiliy Tolstov
2015-03-06 3:44 GMT+03:00 Carsten Haitzler :
> nope - not going to backport. too much time. it depends on randr2 as well and
> that is a rewrite and thats not going to get a backport due to size and 
> effort.


Ok =)

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

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/evas_generic_loaders] evas_generic_loaders-1.13 01/01: pdf: Add support for changes with poppler >= 0.31

2015-03-06 Thread Stefan Schmidt
stefan pushed a commit to branch evas_generic_loaders-1.13.

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

commit d45d046bae4f72ac9083de2e6008fbbc391fa348
Author: Stefan Schmidt 
Date:   Fri Mar 6 10:44:50 2015 +0100

pdf: Add support for changes with poppler >= 0.31

With 0.31 poppler removed some parts of GlobalParams
which they do not consider a public API. The antialias
setting can now be done over the output device.

Fixes T2184
@fix
---
 configure.ac | 14 --
 src/bin/pdf/main.cpp | 10 --
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 6734317..6e9c952 100644
--- a/configure.ac
+++ b/configure.ac
@@ -73,15 +73,25 @@ if test "x${want_poppler}" = "xyes" ; then
   [have_poppler="no"])
 
if test "x${have_poppler}" = "xno" ; then
-  PKG_CHECK_EXISTS([poppler >= 0.20],
+  PKG_CHECK_EXISTS([poppler >= 0.20 poppler < 0.31],
  [
-  poppler_pc="poppler >= 0.20"
+  poppler_pc="poppler >= 0.20 poppler < 0.31"
   AC_DEFINE(HAVE_POPPLER_020, 1, [Have poppler 0.20])
   have_poppler="yes"
  ],
  [have_poppler="no"])
fi
 
+   if test "x${have_poppler}" = "xno" ; then
+  PKG_CHECK_EXISTS([poppler >= 0.31],
+ [
+  poppler_pc="poppler >= 0.31"
+  AC_DEFINE(HAVE_POPPLER_031, 1, [Have poppler 0.31])
+  have_poppler="yes"
+ ],
+ [have_poppler="no"])
+   fi
+
if test "x${have_poppler}" = "xyes" ; then
   PKG_CHECK_MODULES([POPPLER], [${poppler_pc}],
  [have_poppler="yes"],
diff --git a/src/bin/pdf/main.cpp b/src/bin/pdf/main.cpp
index a68b21f..78f918e 100644
--- a/src/bin/pdf/main.cpp
+++ b/src/bin/pdf/main.cpp
@@ -62,10 +62,12 @@ Eina_Bool poppler_init(const char *file, int page_nbr, int 
size_w, int size_h)
if (!eina_init())
  goto del_global_param;
 
+#ifndef HAVE_POPPLER_031
if (globalParams->getAntialias())
  globalParams->setAntialias((char *)"yes");
if (globalParams->getVectorAntialias())
  globalParams->setVectorAntialias((char *)"yes");
+#endif
 
pdfdoc = new PDFDoc(new GooString(file), NULL);
if (!pdfdoc)
@@ -161,7 +163,7 @@ void poppler_load_image(int size_w, int size_h)
if (!output_dev)
  return;
 
-#ifdef HAVE_POPPLER_020
+#if defined(HAVE_POPPLER_020) || defined(HAVE_POPPLER_031)
output_dev->startDoc(pdfdoc);
 #else
output_dev->startDoc(pdfdoc->getXRef());
@@ -169,8 +171,12 @@ void poppler_load_image(int size_w, int size_h)
 
if (dpi <= 0.0) dpi = DEF_DPI;
 
+#ifdef HAVE_POPPLER_031
+   output_dev->setFontAntialias(EINA_TRUE);
+   output_dev->setVectorAntialias(EINA_TRUE);
+#endif
 
-#ifdef HAVE_POPPLER_020
+#if defined(HAVE_POPPLER_020) || defined(HAVE_POPPLER_031)
page->displaySlice(output_dev, dpi, dpi, 
   0, false, false,
   0, 0, width, height,

-- 




[EGIT] [core/evas_generic_loaders] master 01/01: pdf: Add support for changes with poppler >= 0.31

2015-03-06 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 1e1a1e6fffc1805aadf75467e72af71391636075
Author: Stefan Schmidt 
Date:   Fri Mar 6 10:44:50 2015 +0100

pdf: Add support for changes with poppler >= 0.31

With 0.31 poppler removed some parts of GlobalParams
which they do not consider a public API. The antialias
setting can now be done over the output device.

Fixes T2184
@fix
---
 configure.ac | 14 --
 src/bin/pdf/main.cpp | 10 --
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 7e13584..1079c6e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -73,15 +73,25 @@ if test "x${want_poppler}" = "xyes" ; then
   [have_poppler="no"])
 
if test "x${have_poppler}" = "xno" ; then
-  PKG_CHECK_EXISTS([poppler >= 0.20],
+  PKG_CHECK_EXISTS([poppler >= 0.20 poppler < 0.31],
  [
-  poppler_pc="poppler >= 0.20"
+  poppler_pc="poppler >= 0.20 poppler < 0.31"
   AC_DEFINE(HAVE_POPPLER_020, 1, [Have poppler 0.20])
   have_poppler="yes"
  ],
  [have_poppler="no"])
fi
 
+   if test "x${have_poppler}" = "xno" ; then
+  PKG_CHECK_EXISTS([poppler >= 0.31],
+ [
+  poppler_pc="poppler >= 0.31"
+  AC_DEFINE(HAVE_POPPLER_031, 1, [Have poppler 0.31])
+  have_poppler="yes"
+ ],
+ [have_poppler="no"])
+   fi
+
if test "x${have_poppler}" = "xyes" ; then
   PKG_CHECK_MODULES([POPPLER], [${poppler_pc}],
  [have_poppler="yes"],
diff --git a/src/bin/pdf/main.cpp b/src/bin/pdf/main.cpp
index a68b21f..78f918e 100644
--- a/src/bin/pdf/main.cpp
+++ b/src/bin/pdf/main.cpp
@@ -62,10 +62,12 @@ Eina_Bool poppler_init(const char *file, int page_nbr, int 
size_w, int size_h)
if (!eina_init())
  goto del_global_param;
 
+#ifndef HAVE_POPPLER_031
if (globalParams->getAntialias())
  globalParams->setAntialias((char *)"yes");
if (globalParams->getVectorAntialias())
  globalParams->setVectorAntialias((char *)"yes");
+#endif
 
pdfdoc = new PDFDoc(new GooString(file), NULL);
if (!pdfdoc)
@@ -161,7 +163,7 @@ void poppler_load_image(int size_w, int size_h)
if (!output_dev)
  return;
 
-#ifdef HAVE_POPPLER_020
+#if defined(HAVE_POPPLER_020) || defined(HAVE_POPPLER_031)
output_dev->startDoc(pdfdoc);
 #else
output_dev->startDoc(pdfdoc->getXRef());
@@ -169,8 +171,12 @@ void poppler_load_image(int size_w, int size_h)
 
if (dpi <= 0.0) dpi = DEF_DPI;
 
+#ifdef HAVE_POPPLER_031
+   output_dev->setFontAntialias(EINA_TRUE);
+   output_dev->setVectorAntialias(EINA_TRUE);
+#endif
 
-#ifdef HAVE_POPPLER_020
+#if defined(HAVE_POPPLER_020) || defined(HAVE_POPPLER_031)
page->displaySlice(output_dev, dpi, dpi, 
   0, false, false,
   0, 0, width, height,

--