[EGIT] [core/enlightenment] enlightenment-0.19 02/04: only unpopulate a shelf when applying new settings if the shelf won't be recreated

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit ff1408c040cb5637304d8d434addff7f78659bb7
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 12:36:41 2015 -0400

only unpopulate a shelf when applying new settings if the shelf won't be 
recreated
---
 src/bin/e_int_shelf_config.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_int_shelf_config.c b/src/bin/e_int_shelf_config.c
index 236cdd3..6536325 100644
--- a/src/bin/e_int_shelf_config.c
+++ b/src/bin/e_int_shelf_config.c
@@ -347,7 +347,8 @@ _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data 
*cfdata)
   }
  }
 
-   e_gadcon_unpopulate(cfdata->es->gadcon);
+   if (!recreate)
+ e_gadcon_unpopulate(cfdata->es->gadcon);
if (!cfdata->escfg->style)
  {
 cfdata->escfg->style = eina_stringshare_ref(cfdata->style);

-- 




[EGIT] [core/enlightenment] master 01/01: calculate comp object visibility regardless of pending damages

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 4173bd9977f4d1c70cf4a9ef659191e27f6751af
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 13:14:51 2015 -0400

calculate comp object visibility regardless of pending damages

in the case of clients on non-visible vdesks, this improves the reliability
of mirrored rendering
---
 src/bin/e_comp_object.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 7b62b42..55c6dc4 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -3432,6 +3432,7 @@ e_comp_object_dirty(Evas_Object *obj)
 if (!dirty)
   evas_object_image_data_set(o, NULL);
 evas_object_image_size_set(o, w, h);
+visible |= evas_object_visible_get(o);
  }
if (!dirty)
  {
@@ -3445,10 +3446,7 @@ e_comp_object_dirty(Evas_Object *obj)
 RENDER_DEBUG("UPDATE ADD [%p]: %d %d %dx%d", cw->ec, rect->x, rect->y, 
rect->w, rect->h);
 evas_object_image_data_update_add(cw->obj, rect->x, rect->y, rect->w, 
rect->h);
 EINA_LIST_FOREACH(cw->obj_mirror, ll, o)
-  {
- evas_object_image_data_update_add(o, rect->x, rect->y, rect->w, 
rect->h);
- visible |= evas_object_visible_get(o);
-  }
+  evas_object_image_data_update_add(o, rect->x, rect->y, rect->w, 
rect->h);
 if (cw->pending_updates)
   eina_tiler_rect_add(cw->pending_updates, rect);
  }

-- 




[EGIT] [core/enlightenment] master 01/01: fix shot module compile without x11 support

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 81ea29a715ba0c4f11a22dca3f416429ae9afbff
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 13:54:28 2015 -0400

fix shot module compile without x11 support
---
 src/modules/shot/e_mod_main.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/modules/shot/e_mod_main.c b/src/modules/shot/e_mod_main.c
index 5189a73..c7b9075 100644
--- a/src/modules/shot/e_mod_main.c
+++ b/src/modules/shot/e_mod_main.c
@@ -1020,6 +1020,11 @@ _wl_shot_now(E_Zone *zone, E_Client *ec, const char 
*params)
 static void
 _x_shot_now(E_Zone *zone, E_Client *ec, const char *params)
 {
+#ifdef HAVE_WAYLAND_ONLY
+   (void)zone;
+   (void)ec;
+   (void)params;
+#else
Ecore_X_Image *img;
unsigned char *src;
unsigned int *dst;
@@ -1117,6 +1122,7 @@ _x_shot_now(E_Zone *zone, E_Client *ec, const char 
*params)
 
free(dst);
ecore_x_image_free(img);
+#endif
 }
 
 static Eina_Bool

-- 




[EGIT] [core/enlightenment] master 01/01: add weekeyboard edj files

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 4173bd0c0c9595a4f472aab975e545d9ee798c2f
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 15:03:39 2015 -0400

add weekeyboard edj files
---
 .../wl_weekeyboard/themes/default/default_1080.edj | Bin 0 -> 484848 bytes
 .../wl_weekeyboard/themes/default/default_600.edj  | Bin 0 -> 484760 bytes
 .../wl_weekeyboard/themes/default/default_720.edj  | Bin 0 -> 484760 bytes
 3 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/src/modules/wl_weekeyboard/themes/default/default_1080.edj 
b/src/modules/wl_weekeyboard/themes/default/default_1080.edj
new file mode 100644
index 000..63db8a5
Binary files /dev/null and 
b/src/modules/wl_weekeyboard/themes/default/default_1080.edj differ
diff --git a/src/modules/wl_weekeyboard/themes/default/default_600.edj 
b/src/modules/wl_weekeyboard/themes/default/default_600.edj
new file mode 100644
index 000..ccde12c
Binary files /dev/null and 
b/src/modules/wl_weekeyboard/themes/default/default_600.edj differ
diff --git a/src/modules/wl_weekeyboard/themes/default/default_720.edj 
b/src/modules/wl_weekeyboard/themes/default/default_720.edj
new file mode 100644
index 000..0327ddf
Binary files /dev/null and 
b/src/modules/wl_weekeyboard/themes/default/default_720.edj differ

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 02/02: improve client exe_inst creation

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit eeda49735c6de625de706072fc5e4cb7e7a511ee
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 16:00:09 2015 -0400

improve client exe_inst creation

ref T2679
---
 src/bin/e_client.c | 13 -
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 160d1a7..6e663db 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2183,12 +2183,15 @@ _e_client_eval(E_Client *ec)
   }
 
 e_comp_object_frame_icon_update(ec->frame);
-if ((ec->new_client || ec->re_manage) && ec->desktop && 
(!ec->exe_inst))
-  e_exec_phony(ec);
-else if (ec->desktop && ec->exe_inst && (!ec->exe_inst->desktop))
+if (ec->desktop)
   {
- efreet_desktop_ref(ec->desktop);
- ec->exe_inst->desktop = ec->desktop;
+ if (!ec->exe_inst)
+   e_exec_phony(ec);
+ if (!ec->exe_inst->desktop)
+   {
+  efreet_desktop_ref(ec->desktop);
+  ec->exe_inst->desktop = ec->desktop;
+   }
   }
 ec->changes.icon = 0;
 prop |= E_CLIENT_PROPERTY_ICON;

-- 




[EGIT] [core/enlightenment] master 01/01: improve client exe_inst creation

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit c9c880ec596ce65cc831aab76208e99e19f5ef1d
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 16:00:09 2015 -0400

improve client exe_inst creation

ref T2679
---
 src/bin/e_client.c | 13 -
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 664a8b2..c001edd 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2182,12 +2182,15 @@ _e_client_eval(E_Client *ec)
   }
 
 e_comp_object_frame_icon_update(ec->frame);
-if ((ec->new_client || ec->re_manage) && ec->desktop && 
(!ec->exe_inst))
-  e_exec_phony(ec);
-else if (ec->desktop && ec->exe_inst && (!ec->exe_inst->desktop))
+if (ec->desktop)
   {
- efreet_desktop_ref(ec->desktop);
- ec->exe_inst->desktop = ec->desktop;
+ if (!ec->exe_inst)
+   e_exec_phony(ec);
+ if (!ec->exe_inst->desktop)
+   {
+  efreet_desktop_ref(ec->desktop);
+  ec->exe_inst->desktop = ec->desktop;
+   }
   }
 ec->changes.icon = 0;
 prop |= E_CLIENT_PROPERTY_ICON;

-- 




[EGIT] [tools/enventor] master 01/01: Candidates list: add attributes rel*.to_x/y.

2015-09-22 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=4ddc93b231f74b0379562d694d356a18436beb42

commit 4ddc93b231f74b0379562d694d356a18436beb42
Author: Mykyta Biliavskyi 
Date:   Tue Sep 22 15:46:02 2015 +

Candidates list: add attributes rel*.to_x/y.

@fix T2500
---
 src/lib/edc_parser.c | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/src/lib/edc_parser.c b/src/lib/edc_parser.c
index 04aa803..7ef5084 100644
--- a/src/lib/edc_parser.c
+++ b/src/lib/edc_parser.c
@@ -890,6 +890,20 @@ type_init_thread_blocking(void *data, Ecore_Thread *thread 
EINA_UNUSED)
attr.value.append_str = ATTR_APPEND_SEMICOLON;
eina_inarray_push(td->attrs, );
 
+   memset(, 0x00, sizeof(parser_attr));
+   attr.keyword = eina_stringshare_add("to_x");
+   attr.value.type = ATTR_VALUE_PART;
+   attr.value.prepend_str = ATTR_PREPEND_COLON;
+   attr.value.append_str = ATTR_APPEND_SEMICOLON;
+   eina_inarray_push(td->attrs, );
+
+   memset(, 0x00, sizeof(parser_attr));
+   attr.keyword = eina_stringshare_add("to_y");
+   attr.value.type = ATTR_VALUE_PART;
+   attr.value.prepend_str = ATTR_PREPEND_COLON;
+   attr.value.append_str = ATTR_APPEND_SEMICOLON;
+   eina_inarray_push(td->attrs, );
+
//Type: State
memset(, 0x00, sizeof(parser_attr));
attr.keyword = eina_stringshare_add("STATE_SET");

-- 




[EGIT] [core/efl] master 02/05: edje: edje_edit - add getters/setters for container padding

2015-09-22 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit 2f87a20c3b9ad77c337a0d527be3ae51feef6295
Author: Vyacheslav Reutskiy 
Date:   Mon Sep 21 15:47:27 2015 +0300

edje: edje_edit - add getters/setters for container padding

This functions designed that make the edje edit API's more
homogeneous. The all edje attribute setters and getters
treated only ony attribute, besides container API's.
---
 src/lib/edje/Edje_Edit.h | 64 ++--
 src/lib/edje/edje_edit.c | 58 +++
 2 files changed, 120 insertions(+), 2 deletions(-)

diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h
index df3fc05..6026b03 100644
--- a/src/lib/edje/Edje_Edit.h
+++ b/src/lib/edje/Edje_Edit.h
@@ -2125,12 +2125,41 @@ edje_edit_state_container_min_y_set(Evas_Object *obj, 
const char *part, const ch
  * @param x Variable to store x padding.
  * @param y Variable to store y padding.
  *
+ * @deprecated Use edje_edit_state_container_padding_x_get() and
+ * edje_edit_state_container_padding_y_get() instead.
+ *
  * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise.
  * @since 1.14
  */
-EAPI Eina_Bool
+EINA_DEPRECATED EAPI Eina_Bool
 edje_edit_state_container_padding_get(Evas_Object *obj, const char *part, 
const char *state, double value, int *x, int *y);
 
+/** Get x padding for BOX or TABLE part.
+ *
+ * @param obj Object being edited.
+ * @param part Part that has BOX/TABLE type.
+ * @param state Name of the state.
+ * @param value Value of the state.
+ *
+ * @return The padding by x axis.
+ * @since 1.16
+ */
+EAPI int
+edje_edit_state_container_padding_x_get(Evas_Object *obj, const char *part, 
const char *state, double value);
+
+/** Get y padding for BOX or TABLE part.
+ *
+ * @param obj Object being edited.
+ * @param part Part that has BOX/TABLE type.
+ * @param state Name of the state.
+ * @param value Value of the state.
+ *
+ * @return The padding by y axis.
+ * @since 1.16
+ */
+EAPI int
+edje_edit_state_container_padding_y_get(Evas_Object *obj, const char *part, 
const char *state, double value);
+
 /** Set x and y paddings for BOX or TABLE part.
  *
  * @param obj Object being edited.
@@ -2140,12 +2169,43 @@ edje_edit_state_container_padding_get(Evas_Object *obj, 
const char *part, const
  * @param x Value for setting x padding.
  * @param y Value for setting y padding.
  *
+ * @deprecated Use edje_edit_state_container_padding_x_set() and
+ * edje_edit_state_container_padding_y_set() instead.
+ *
  * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise.
  * @since 1.14
  */
-EAPI Eina_Bool
+EINA_DEPRECATED EAPI Eina_Bool
 edje_edit_state_container_padding_set(Evas_Object *obj, const char *part, 
const char *state, double value, int x, int y);
 
+/** Set x padding for BOX or TABLE part.
+ *
+ * @param obj Object being edited.
+ * @param part Part that has BOX/TABLE type.
+ * @param state Name of the state.
+ * @param value Value of the state.
+ * @param x New x padding value.
+ *
+ * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise.
+ * @since 1.16
+ */
+EAPI Eina_Bool
+edje_edit_state_container_padding_x_set(Evas_Object *obj, const char *part, 
const char *state, double value, int x);
+
+/** Set y padding for BOX or TABLE part.
+ *
+ * @param obj Object being edited.
+ * @param part Part that has BOX/TABLE type.
+ * @param state Name of the state.
+ * @param value Value of the state.
+ * @param y New y padding value.
+ *
+ * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise.
+ * @since 1.16
+ */
+EAPI Eina_Bool
+edje_edit_state_container_padding_y_set(Evas_Object *obj, const char *part, 
const char *state, double value, int y);
+
 /** Set x and y align for BOX or TABLE part.
  *
  * @param obj Object being edited.
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index 0af12a6..3b86aac 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -4362,6 +4362,64 @@ FUNC_CONTAINER_BOOL(min, h)
 
 #undef FUNC_CONTAINER_BOOL
 
+#define FUNC_CONTAINER_INT(CLASS, VALUE) \
+EAPI int \
+edje_edit_state_container_##CLASS##_##VALUE##_get(Evas_Object *obj, const char 
*part, const char *state, double value) \
+{ \
+   int val; \
+   GET_PD_OR_RETURN(EINA_FALSE) \
+   switch (rp->part->type) \
+ { \
+  case EDJE_PART_TYPE_TABLE: \
+  { \
+ Edje_Part_Description_Table *table; \
+ table = (Edje_Part_Description_Table *)pd; \
+ val = table->table.CLASS.VALUE; \
+ break; \
+  } \
+  case EDJE_PART_TYPE_BOX: \
+  { \
+ Edje_Part_Description_Box *box; \
+ box = (Edje_Part_Description_Box *)pd; \
+ val = box->box.CLASS.VALUE; \
+ break; \
+  } \
+  default: \
+val = 0; \
+ } \
+   return val; \
+} \
+EAPI Eina_Bool \

[EGIT] [core/enlightenment] enlightenment-0.19 03/04: clamp client geometry to zone during geometry calc

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 5ae61c954eebfddf6e8c32edc4546b88d0c7dd50
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 12:37:14 2015 -0400

clamp client geometry to zone during geometry calc

somehow it was possible for client sizes to overflow the zone geometry here
which would end up breaking maximization limits and result in clients
not respecting various geometry boundaries
---
 src/bin/e_maximize.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_maximize.c b/src/bin/e_maximize.c
index 74aa4d7..fd12f67 100644
--- a/src/bin/e_maximize.c
+++ b/src/bin/e_maximize.c
@@ -178,8 +178,8 @@ _e_maximize_client_rects_fill(E_Client *ec, Eina_List 
*rects, int *x1, int *yy1,
 
 bx = E_CLAMP(ec->x, ec->zone->x, ec->zone->x + ec->zone->w);
 by = E_CLAMP(ec->y, ec->zone->y, ec->zone->y + ec->zone->h);
-bw = ec->w;
-bh = ec->h;
+bw = E_CLAMP(ec->w, 0, ec->zone->w);
+bh = E_CLAMP(ec->h, 0, ec->zone->h);
 
 if ((dir & E_MAXIMIZE_DIRECTION) == E_MAXIMIZE_HORIZONTAL)
   _e_maximize_client_rects_fill_horiz(ec, rects, x1, x2, , , 
, );

-- 




[EGIT] [core/enlightenment] master 01/02: Revert "Revert "Revert "deskmirror - fix dangling reference to mirror by refcounting it"""

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 2373b69c61d7d6ab74675a4facff54601831ce9a
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 12:54:10 2015 -0400

Revert "Revert "Revert "deskmirror - fix dangling reference to mirror by 
refcounting it"""

This reverts commit 6bef668a8fb37104f1e9e4bb1bb0dd379cb68ef5.
---
 src/bin/e_deskmirror.c | 23 +--
 1 file changed, 1 insertion(+), 22 deletions(-)

diff --git a/src/bin/e_deskmirror.c b/src/bin/e_deskmirror.c
index 4abc0b3..3efe066 100644
--- a/src/bin/e_deskmirror.c
+++ b/src/bin/e_deskmirror.c
@@ -41,7 +41,6 @@ typedef struct Mirror
Evas_Object *comp_object;
Evas_Object *mirror;
int x, y, w, h;
-   int ref;
Eina_Bool added : 1;
 } Mirror;
 
@@ -111,20 +110,6 @@ _mirror_scale_set(Mirror *m, float sc)
 }
 
 static void
-_mirror_ref(Mirror *m)
-{
-   m->ref++;
-}
-
-static void
-_mirror_unref(Mirror *m)
-{
-   m->ref--;
-   if (m->ref > 0) return;
-   free(m);
-}
-
-static void
 _e_deskmirror_smart_reconfigure(E_Smart_Data *sd)
 {
e_layout_freeze(sd->layout);
@@ -352,10 +337,7 @@ _mirror_client_smart_del(Evas_Object *obj)
 evas_object_smart_callback_del_full(mb->m->ec->frame, "shadow_change", 
_mirror_client_shadow_change, mb->frame);
  }
evas_object_del(mb->frame);
-   mb->frame = NULL;
evas_object_del(mb->mirror);
-   mb->mirror = NULL;
-   _mirror_unref(mb->m);
free(mb);
 }
 
@@ -492,13 +474,12 @@ _e_deskmirror_mirror_del_hash(Mirror *m)
evas_object_smart_callback_del_full(m->comp_object, "frame_recalc_done", 
_e_deskmirror_mirror_frame_recalc_cb, m);
evas_object_event_callback_del_full(m->comp_object, EVAS_CALLBACK_DEL, 
_e_deskmirror_mirror_del_cb, m);
evas_object_del(m->mirror);
-   m->mirror = NULL;
evas_object_event_callback_del_full(m->comp_object, EVAS_CALLBACK_SHOW, 
(Evas_Object_Event_Cb)_comp_object_show, m);
evas_object_event_callback_del_full(m->comp_object, EVAS_CALLBACK_HIDE, 
(Evas_Object_Event_Cb)_comp_object_hide, m);
evas_object_event_callback_del_full(m->comp_object, EVAS_CALLBACK_RESTACK, 
(Evas_Object_Event_Cb)_comp_object_stack, m);
evas_object_event_callback_del_full(m->comp_object, EVAS_CALLBACK_RESIZE, 
(Evas_Object_Event_Cb)_comp_object_configure, m);
evas_object_event_callback_del_full(m->comp_object, EVAS_CALLBACK_MOVE, 
(Evas_Object_Event_Cb)_comp_object_configure, m);
-   _mirror_unref(m);
+   free(m);
 }
 
 static Evas_Object *
@@ -511,7 +492,6 @@ _mirror_client_new(Mirror *m)
o = evas_object_smart_add(m->sd->e, _mirror_client_smart);
mb = evas_object_smart_data_get(o);
mb->m = m;
-   _mirror_ref(m);
mb->frame = edje_object_add(m->sd->e);
evas_object_name_set(mb->frame, "mirror_border");
_mirror_client_theme_setup(mb, mb->frame);
@@ -676,7 +656,6 @@ _e_deskmirror_mirror_add(E_Smart_Data *sd, Evas_Object *obj)
m->ec = ec;
m->sd = sd;
m->mirror = o;
-   m->ref = 1;
evas_object_event_callback_add(obj, EVAS_CALLBACK_SHOW, 
(Evas_Object_Event_Cb)_comp_object_show, m);
evas_object_event_callback_add(obj, EVAS_CALLBACK_HIDE, 
(Evas_Object_Event_Cb)_comp_object_hide, m);
evas_object_event_callback_add(obj, EVAS_CALLBACK_RESTACK, 
(Evas_Object_Event_Cb)_comp_object_stack, m);

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 02/02: attempt to maintain currently-selected kbd layout when modifying kbd list

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit f19a122605446bc4cf501384af303e7c7799eb6c
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 14:17:35 2015 -0400

attempt to maintain currently-selected kbd layout when modifying kbd list

the previous behavior would just set up the new layouts, resulting in
the first layout in the list being applied. now it should be the case
that if the current layout has not been deleted, it will continue to
remain in effect; alternatively if the current layout has been modified,
it's now more likely to be picked up and used
---
 src/modules/xkbswitch/e_mod_config.c | 32 ++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/src/modules/xkbswitch/e_mod_config.c 
b/src/modules/xkbswitch/e_mod_config.c
index e2c17fa..a4ab756 100644
--- a/src/modules/xkbswitch/e_mod_config.c
+++ b/src/modules/xkbswitch/e_mod_config.c
@@ -225,6 +225,7 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, 
E_Config_Dialog_Data *cfdata)
E_Config_XKB_Layout *cl, *nl;
E_Config_XKB_Option *oc;
E_XKB_Dialog_Option *od;
+   Eina_Bool cur_ok = EINA_FALSE, sel_ok = EINA_FALSE;
 
EINA_LIST_FREE(e_config->xkb.used_layouts, cl)
  {
@@ -243,6 +244,34 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, 
E_Config_Dialog_Data *cfdata)
 
 e_config->xkb.used_layouts =
   eina_list_append(e_config->xkb.used_layouts, nl);
+if (e_config_xkb_layout_eq(e_config->xkb.current_layout, nl))
+  cur_ok = EINA_TRUE;
+if (e_config_xkb_layout_eq(e_config->xkb.sel_layout, nl))
+  sel_ok = EINA_TRUE;
+ }
+   if (!cur_ok)
+ {
+E_FREE_FUNC(e_config->xkb.current_layout, e_config_xkb_layout_free);
+EINA_LIST_FOREACH(e_config->xkb.used_layouts, l, cl)
+  if (e_config->xkb.cur_layout == cl->name)
+{
+   e_config->xkb.current_layout = e_config_xkb_layout_dup(cl);
+   break;
+}
+if (!e_config->xkb.current_layout)
+  eina_stringshare_replace(_config->xkb.cur_layout, NULL);
+ }
+   if (!sel_ok)
+ {
+E_FREE_FUNC(e_config->xkb.sel_layout, e_config_xkb_layout_free);
+EINA_LIST_FOREACH(e_config->xkb.used_layouts, l, cl)
+  if (e_config->xkb.selected_layout == cl->name)
+{
+   e_config->xkb.sel_layout = e_config_xkb_layout_dup(cl);
+   break;
+}
+if (!e_config->xkb.sel_layout)
+  eina_stringshare_replace(_config->xkb.selected_layout, NULL);
  }
 
eina_stringshare_replace(_config->xkb.default_model, 
cfdata->default_model);
@@ -266,8 +295,7 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, 
E_Config_Dialog_Data *cfdata)
 e_config->xkb.used_options = 
eina_list_append(e_config->xkb.used_options, oc);
  }
 
-   e_xkb_update(-1);
-   _xkb_update_icon(0);
+   e_xkb_init();
 
e_config_save_queue();
return 1;

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 01/02: only init E_EVENT_XKB_CHANGED during xkb init if xkb init hasn't already occurred

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit c4f31818956ee899202ca86dc3ba92960dea859c
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 14:16:20 2015 -0400

only init E_EVENT_XKB_CHANGED during xkb init if xkb init hasn't already 
occurred

allows xkb init to be called repeatedly
---
 src/bin/e_xkb.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c
index e80e542..13d7b20 100644
--- a/src/bin/e_xkb.c
+++ b/src/bin/e_xkb.c
@@ -31,7 +31,8 @@ _e_xkb_init_timer(void *data)
 E_API int
 e_xkb_init(void)
 {
-   E_EVENT_XKB_CHANGED = ecore_event_type_new();
+   if (!E_EVENT_XKB_CHANGED)
+ E_EVENT_XKB_CHANGED = ecore_event_type_new();
if (e_config->xkb.dont_touch_my_damn_keyboard) return 1;
e_xkb_update(-1);
if (e_config->xkb.cur_layout)

-- 




[EGIT] [core/enlightenment] master 01/02: only init E_EVENT_XKB_CHANGED during xkb init if xkb init hasn't already occurred

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit f1faab997fcf88d5687feedb5856b2128189a66c
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 14:16:20 2015 -0400

only init E_EVENT_XKB_CHANGED during xkb init if xkb init hasn't already 
occurred

allows xkb init to be called repeatedly
---
 src/bin/e_xkb.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c
index 24583fd..7c21221 100644
--- a/src/bin/e_xkb.c
+++ b/src/bin/e_xkb.c
@@ -32,7 +32,8 @@ _e_xkb_init_timer(void *data)
 E_API int
 e_xkb_init(void)
 {
-   E_EVENT_XKB_CHANGED = ecore_event_type_new();
+   if (!E_EVENT_XKB_CHANGED)
+ E_EVENT_XKB_CHANGED = ecore_event_type_new();
if (e_config->xkb.dont_touch_my_damn_keyboard) return 1;
e_xkb_update(-1);
if (e_config->xkb.cur_layout)

-- 




[EGIT] [core/enlightenment] master 02/02: attempt to maintain currently-selected kbd layout when modifying kbd list

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 4ef9d9e5189a9fbd18fe0ec3516f49109f06d4a8
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 14:17:35 2015 -0400

attempt to maintain currently-selected kbd layout when modifying kbd list

the previous behavior would just set up the new layouts, resulting in
the first layout in the list being applied. now it should be the case
that if the current layout has not been deleted, it will continue to
remain in effect; alternatively if the current layout has been modified,
it's now more likely to be picked up and used
---
 src/modules/xkbswitch/e_mod_config.c | 32 ++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/src/modules/xkbswitch/e_mod_config.c 
b/src/modules/xkbswitch/e_mod_config.c
index 28b00f1..4ac2eae 100644
--- a/src/modules/xkbswitch/e_mod_config.c
+++ b/src/modules/xkbswitch/e_mod_config.c
@@ -225,6 +225,7 @@ _basic_apply(E_Config_Dialog *cfd EINA_UNUSED, 
E_Config_Dialog_Data *cfdata)
E_Config_XKB_Layout *cl, *nl;
E_Config_XKB_Option *oc;
E_XKB_Dialog_Option *od;
+   Eina_Bool cur_ok = EINA_FALSE, sel_ok = EINA_FALSE;
 
EINA_LIST_FREE(e_config->xkb.used_layouts, cl)
  {
@@ -243,6 +244,34 @@ _basic_apply(E_Config_Dialog *cfd EINA_UNUSED, 
E_Config_Dialog_Data *cfdata)
 
 e_config->xkb.used_layouts =
   eina_list_append(e_config->xkb.used_layouts, nl);
+if (e_config_xkb_layout_eq(e_config->xkb.current_layout, nl))
+  cur_ok = EINA_TRUE;
+if (e_config_xkb_layout_eq(e_config->xkb.sel_layout, nl))
+  sel_ok = EINA_TRUE;
+ }
+   if (!cur_ok)
+ {
+E_FREE_FUNC(e_config->xkb.current_layout, e_config_xkb_layout_free);
+EINA_LIST_FOREACH(e_config->xkb.used_layouts, l, cl)
+  if (e_config->xkb.cur_layout == cl->name)
+{
+   e_config->xkb.current_layout = e_config_xkb_layout_dup(cl);
+   break;
+}
+if (!e_config->xkb.current_layout)
+  eina_stringshare_replace(_config->xkb.cur_layout, NULL);
+ }
+   if (!sel_ok)
+ {
+E_FREE_FUNC(e_config->xkb.sel_layout, e_config_xkb_layout_free);
+EINA_LIST_FOREACH(e_config->xkb.used_layouts, l, cl)
+  if (e_config->xkb.selected_layout == cl->name)
+{
+   e_config->xkb.sel_layout = e_config_xkb_layout_dup(cl);
+   break;
+}
+if (!e_config->xkb.sel_layout)
+  eina_stringshare_replace(_config->xkb.selected_layout, NULL);
  }
 
eina_stringshare_replace(_config->xkb.default_model, 
cfdata->default_model);
@@ -266,8 +295,7 @@ _basic_apply(E_Config_Dialog *cfd EINA_UNUSED, 
E_Config_Dialog_Data *cfdata)
 e_config->xkb.used_options = 
eina_list_append(e_config->xkb.used_options, oc);
  }
 
-   e_xkb_update(-1);
-   _xkb_update_icon(0);
+   e_xkb_init();
 
e_config_save_queue();
return 1;

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 02/02: calculate comp object visibility regardless of pending damages

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 52c66793f13e39e895ab6d839bbf9cc333d6515f
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 13:14:51 2015 -0400

calculate comp object visibility regardless of pending damages

in the case of clients on non-visible vdesks, this improves the reliability
of mirrored rendering
---
 src/bin/e_comp_object.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 205130c..52b1e8f 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -3281,6 +3281,7 @@ e_comp_object_dirty(Evas_Object *obj)
 if (!dirty)
   evas_object_image_data_set(o, NULL);
 evas_object_image_size_set(o, w, h);
+visible |= evas_object_visible_get(o);
  }
if (!dirty)
  {
@@ -3294,10 +3295,7 @@ e_comp_object_dirty(Evas_Object *obj)
 RENDER_DEBUG("UPDATE ADD [%p]: %d %d %dx%d", cw->ec, r->x, r->y, r->w, 
r->h);
 evas_object_image_data_update_add(cw->obj, r->x, r->y, r->w, r->h);
 EINA_LIST_FOREACH(cw->obj_mirror, l, o)
-  {
- evas_object_image_data_update_add(o, r->x, r->y, r->w, r->h);
- visible |= evas_object_visible_get(o);
-  }
+  evas_object_image_data_update_add(o, r->x, r->y, r->w, r->h);
 if (cw->pending_updates)
   eina_tiler_rect_add(cw->pending_updates, r);
  }

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 01/01: update xkb settings and send xkb update event when calling e_xkb_layout_set()

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit cce8a47a7e4e0a01cce77d20fab22416b4f32b9c
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 13:44:18 2015 -0400

update xkb settings and send xkb update event when calling 
e_xkb_layout_set()

resolves issue where setting a specific kbd would fail to make settings 
permanent
as well as not propagating the kbd change to the rest of enlightenment

fix T1810
---
 src/bin/e_xkb.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c
index 9847419..e80e542 100644
--- a/src/bin/e_xkb.c
+++ b/src/bin/e_xkb.c
@@ -231,10 +231,13 @@ e_xkb_layout_set(const E_Config_XKB_Layout *cl)
 if (e_config_xkb_layout_eq(cl, cl2))
   {
  INF("Setting keyboard layout: %s|%s|%s", cl2->name, cl2->model, 
cl2->variant);
+ eina_stringshare_replace(_config->xkb.cur_layout, cl->name);
+ eina_stringshare_replace(_config->xkb.selected_layout, 
cl->name);
  e_xkb_update(cur_group);
  break;
   }
  }
+   _e_xkb_update_event(e_config->xkb.cur_group);
e_config_save_queue();
 }
 

-- 




[EGIT] [core/enlightenment] master 01/04: block gadcon thaw on unpopulate when gadcon is deleted

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 4eaeabc1c306b45ee9bc7457ca8adb1c48b4d026
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 12:36:12 2015 -0400

block gadcon thaw on unpopulate when gadcon is deleted

saves a huge amount of unnecessary calc time
---
 src/bin/e_gadcon.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c
index 9e8cdf0..336b32f 100644
--- a/src/bin/e_gadcon.c
+++ b/src/bin/e_gadcon.c
@@ -618,7 +618,8 @@ e_gadcon_unpopulate(E_Gadcon *gc)
if (gc->awaiting_classes)
  eina_hash_free(gc->awaiting_classes);
gc->awaiting_classes = NULL;
-   if (gc->o_container && (!stopping)) e_gadcon_layout_thaw(gc->o_container);
+   if (gc->o_container && (!stopping) && (!e_object_is_del(E_OBJECT(gc
+ e_gadcon_layout_thaw(gc->o_container);
 }
 
 E_API void

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 01/04: block gadcon thaw on unpopulate when gadcon is deleted

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 8a1634266c3094098301c516267b95daa68a86eb
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 12:36:12 2015 -0400

block gadcon thaw on unpopulate when gadcon is deleted

saves a huge amount of unnecessary calc time
---
 src/bin/e_gadcon.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c
index 2dd8a70..91177d8 100644
--- a/src/bin/e_gadcon.c
+++ b/src/bin/e_gadcon.c
@@ -611,7 +611,8 @@ e_gadcon_unpopulate(E_Gadcon *gc)
if (gc->awaiting_classes)
  eina_hash_free(gc->awaiting_classes);
gc->awaiting_classes = NULL;
-   if (gc->o_container && (!stopping)) e_gadcon_layout_thaw(gc->o_container);
+   if (gc->o_container && (!stopping) && (!e_object_is_del(E_OBJECT(gc
+ e_gadcon_layout_thaw(gc->o_container);
 }
 
 E_API void

-- 




[EGIT] [core/enlightenment] master 03/04: clamp client geometry to zone during geometry calc

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit f3edf38e49dc56aed9a5d062726804ce738a84e2
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 12:37:14 2015 -0400

clamp client geometry to zone during geometry calc

somehow it was possible for client sizes to overflow the zone geometry here
which would end up breaking maximization limits and result in clients
not respecting various geometry boundaries
---
 src/bin/e_maximize.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_maximize.c b/src/bin/e_maximize.c
index 7a574d0..8399af9 100644
--- a/src/bin/e_maximize.c
+++ b/src/bin/e_maximize.c
@@ -178,8 +178,8 @@ _e_maximize_client_rects_fill(E_Client *ec, Eina_List 
*rects, int *x1, int *yy1,
 
 bx = E_CLAMP(ec->x, ec->zone->x, ec->zone->x + ec->zone->w);
 by = E_CLAMP(ec->y, ec->zone->y, ec->zone->y + ec->zone->h);
-bw = ec->w;
-bh = ec->h;
+bw = E_CLAMP(ec->w, 0, ec->zone->w);
+bh = E_CLAMP(ec->h, 0, ec->zone->h);
 
 if ((dir & E_MAXIMIZE_DIRECTION) == E_MAXIMIZE_HORIZONTAL)
   _e_maximize_client_rects_fill_horiz(ec, rects, x1, x2, , , 
, );

-- 




[EGIT] [core/efl] master 01/01: edje: return immediately when deleting a color class if no users exist

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 57d6231b3aee7e9e74b6d6e1d929d710b7ac9ef6
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 13:20:06 2015 -0400

edje: return immediately when deleting a color class if no users exist
---
 src/lib/edje/edje_util.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index c0bb3f5..c238c13 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -735,6 +735,7 @@ edje_color_class_del(const char *color_class)
free(cc);
 
members = eina_hash_find(_edje_color_class_member_hash, color_class);
+   if (!members) return;
it = eina_hash_iterator_data_new(members);
EINA_ITERATOR_FOREACH(it, er)
  {

-- 




[EGIT] [core/enlightenment] master 02/04: only unpopulate a shelf when applying new settings if the shelf won't be recreated

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 37c146435d22061e4db10f641cd99c71a4bb869f
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 12:36:41 2015 -0400

only unpopulate a shelf when applying new settings if the shelf won't be 
recreated
---
 src/bin/e_int_shelf_config.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_int_shelf_config.c b/src/bin/e_int_shelf_config.c
index 6c21944..1771369 100644
--- a/src/bin/e_int_shelf_config.c
+++ b/src/bin/e_int_shelf_config.c
@@ -347,7 +347,8 @@ _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data 
*cfdata)
   }
  }
 
-   e_gadcon_unpopulate(cfdata->es->gadcon);
+   if (!recreate)
+ e_gadcon_unpopulate(cfdata->es->gadcon);
if (!cfdata->escfg->style)
  {
 cfdata->escfg->style = eina_stringshare_ref(cfdata->style);

-- 




[EGIT] [core/enlightenment] master 04/04: redo client maximization when a non-overlap shelf changes geometry

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 32aa8127012b2403bf8585cdf0d99d9a7ca7a194
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 12:42:39 2015 -0400

redo client maximization when a non-overlap shelf changes geometry

this fixes the annoying case of needing to remaximize all windows when
a shelf resizes in order to account for new geometry
---
 src/bin/e_shelf.c | 24 
 1 file changed, 24 insertions(+)

diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c
index d138778..d88360e 100644
--- a/src/bin/e_shelf.c
+++ b/src/bin/e_shelf.c
@@ -86,6 +86,24 @@ static Ecore_Event_Handler *_e_shelf_gadcon_populate_handler 
= NULL;
 static Ecore_Event_Handler *_e_shelf_module_init_end_handler = NULL;
 static Ecore_Event_Handler *_e_shelf_zone_moveresize_handler = NULL;
 
+static void
+_e_shelf_remaximize(E_Shelf *es)
+{
+   E_Client *ec;
+
+   if (es->cfg->overlap) return;
+   E_CLIENT_FOREACH(ec)
+ {
+E_Maximize max = ec->maximized;
+
+if (!ec->maximized) continue;
+if ((!ec->sticky) && (!e_shelf_desk_visible(es, ec->desk ?: 
e_desk_current_get(es->zone
+  continue;
+e_client_unmaximize(ec, ec->maximized);
+e_client_maximize(ec, max);
+ }
+}
+
 /* externally accessible functions */
 EINTERN int
 e_shelf_init(void)
@@ -472,9 +490,11 @@ e_shelf_move(E_Shelf *es, int x, int y)
 {
E_OBJECT_CHECK(es);
E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
+   if ((es->x == x) && (es->y == y)) return;
es->x = x;
es->y = y;
evas_object_move(es->comp_object, es->zone->x + es->x, es->zone->y + es->y);
+   _e_shelf_remaximize(es);
 }
 
 E_API void
@@ -482,9 +502,11 @@ e_shelf_resize(E_Shelf *es, int w, int h)
 {
E_OBJECT_CHECK(es);
E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
+   if ((es->w == w) && (es->h == h)) return;
es->w = w;
es->h = h;
evas_object_resize(es->comp_object, es->w, es->h);
+   _e_shelf_remaximize(es);
 }
 
 E_API void
@@ -492,12 +514,14 @@ e_shelf_move_resize(E_Shelf *es, int x, int y, int w, int 
h)
 {
E_OBJECT_CHECK(es);
E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
+   if ((es->x == x) && (es->y == y) && (es->w == w) && (es->h == h)) return;
es->x = x;
es->y = y;
es->w = w;
es->h = h;
evas_object_move(es->comp_object, es->zone->x + es->x, es->zone->y + es->y);
evas_object_resize(es->comp_object, es->w, es->h);
+   _e_shelf_remaximize(es);
 }
 
 E_API void

-- 




[EGIT] [core/elementary] master 01/01: [elm_win] Possible memory leak Fixed.

2015-09-22 Thread Prince Kumar Dubey
hermet pushed a commit to branch master.

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

commit aebbc66503f53477076400a9102b7ab5d5d2d3da
Author: Prince Kumar Dubey 
Date:   Wed Sep 23 09:40:31 2015 +0900

[elm_win] Possible memory leak Fixed.

Summary: Memory assigned to variable "sd->wm_rot.rots" is not freed on 
window deletion.

Test Plan: Valgrind catch this memory leak.

Reviewers: raster, cedric, Hermet

Reviewed By: Hermet

Subscribers: govi, rajeshps

Differential Revision: https://phab.enlightenment.org/D3041
---
 src/lib/elm_win.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index c918b51..e6de231 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -1941,6 +1941,8 @@ _elm_win_evas_object_smart_del(Eo *obj, Elm_Win_Data *sd)
_elm_win_profile_del(sd);
_elm_win_available_profiles_del(sd);
 
+   free(sd->wm_rot.rots);
+
/* Don't let callback in the air that point to sd */
ecore_evas_callback_delete_request_set(sd->ee, NULL);
ecore_evas_callback_resize_set(sd->ee, NULL);

-- 




[EGIT] [core/elementary] master 01/01: elm_conformant: display mode set fix

2015-09-22 Thread Shilpa Singh
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=66852fb942325d341ddf6e30f3162470ec27a539

commit 66852fb942325d341ddf6e30f3162470ec27a539
Author: Shilpa Singh 
Date:   Wed Sep 23 09:51:04 2015 +0900

elm_conformant: display mode set fix

Summary:
Set the display mode to none only when both clipboard and keypad is
hidden.

Signed-Off By: Shashank Pandey 
Signed-Off By: Shilpa Singh 
@fix

Test Plan: Keypad opened, Clipboard opened, close clipboard

Reviewers: woohyun, CHAN, Hermet

Reviewed By: Hermet

Subscribers: CHAN, Jaehyun, shashank0990

Differential Revision: https://phab.enlightenment.org/D2968
---
 src/lib/elm_conform.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c
index dd32aa4..12d3477 100644
--- a/src/lib/elm_conform.c
+++ b/src/lib/elm_conform.c
@@ -766,7 +766,8 @@ _virtualkeypad_state_change(Evas_Object *obj, 
Ecore_X_Event_Window_Property *ev)
 evas_object_size_hint_min_set(sd->virtualkeypad, -1, 0);
 evas_object_size_hint_max_set(sd->virtualkeypad, -1, 0);
 _conformant_part_sizing_eval(obj, ELM_CONFORMANT_VIRTUAL_KEYPAD_PART);
-elm_widget_display_mode_set(obj, EVAS_DISPLAY_MODE_NONE);
+if (!sd->clipboard_state)
+  elm_widget_display_mode_set(obj, EVAS_DISPLAY_MODE_NONE);
 eo_do(obj, eo_event_callback_call(
  ELM_CONFORMANT_EVENT_VIRTUALKEYPAD_STATE_OFF, NULL));
  }
@@ -805,7 +806,8 @@ _clipboard_state_change(Evas_Object *obj, 
Ecore_X_Event_Window_Property *ev)
  {
 evas_object_size_hint_min_set(sd->clipboard, -1, 0);
 evas_object_size_hint_max_set(sd->clipboard, -1, 0);
-elm_widget_display_mode_set(obj, EVAS_DISPLAY_MODE_NONE);
+if (!sd->vkb_state)
+  elm_widget_display_mode_set(obj, EVAS_DISPLAY_MODE_NONE);
 eo_do(obj, eo_event_callback_call(
  ELM_CONFORMANT_EVENT_CLIPBOARD_STATE_OFF, NULL));
  }

-- 




[EGIT] [core/efl] efl-1.15 01/01: eldbus: add dbus_pending NULL check

2015-09-22 Thread Thiep Ha
hermet pushed a commit to branch efl-1.15.

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

commit 6a604f15490832bcec18757db64fa597cbd2c6b4
Author: Thiep Ha 
Date:   Wed Sep 23 09:19:59 2015 +0900

eldbus: add dbus_pending NULL check

Summary:
When we call dbus_connection_send_with_reply, the dbus_pending
can be NULL. In this case, the next call dbus_pending_call_set_notify
will cause application crash.
We should check if dbus_pending is NULL before calling dbus API.

@fix

Reviewers: cedric

Subscribers: englebass, cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3081
---
 src/lib/eldbus/eldbus_pending.c | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/lib/eldbus/eldbus_pending.c b/src/lib/eldbus/eldbus_pending.c
index fa68d03..69ea322 100644
--- a/src/lib/eldbus/eldbus_pending.c
+++ b/src/lib/eldbus/eldbus_pending.c
@@ -157,6 +157,13 @@ _eldbus_connection_send(Eldbus_Connection *conn, 
Eldbus_Message *msg, Eldbus_Mes
 eldbus_pending_dispatch(pending, error_msg);
 return NULL;
  }
+   if (!pending->dbus_pending)
+ {
+error_msg = eldbus_message_error_new(msg, 
"org.enlightenment.DBus.Error",
+ "dbus_pending is NULL.");
+eldbus_pending_dispatch(pending, error_msg);
+return NULL;
+ }
if (dbus_pending_call_set_notify(pending->dbus_pending, cb_pending, 
pending, NULL))
  return pending;
 
@@ -238,7 +245,8 @@ eldbus_pending_dispatch(Eldbus_Pending *pending, 
Eldbus_Message *msg)
 
if (msg) eldbus_message_unref(msg);
eldbus_message_unref(pending->msg_sent);
-   dbus_pending_call_unref(pending->dbus_pending);
+   if (pending->dbus_pending)
+ dbus_pending_call_unref(pending->dbus_pending);
 
pending->cb = NULL;
pending->dbus_pending = NULL;

-- 




[EGIT] [core/efl] master 01/01: eldbus: add dbus_pending NULL check

2015-09-22 Thread Thiep Ha
hermet pushed a commit to branch master.

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

commit ffbda5add5a871fdc9f9e4d0078d814240cd59ff
Author: Thiep Ha 
Date:   Wed Sep 23 09:19:59 2015 +0900

eldbus: add dbus_pending NULL check

Summary:
When we call dbus_connection_send_with_reply, the dbus_pending
can be NULL. In this case, the next call dbus_pending_call_set_notify
will cause application crash.
We should check if dbus_pending is NULL before calling dbus API.

@fix

Reviewers: cedric

Subscribers: englebass, cedric, seoz

Differential Revision: https://phab.enlightenment.org/D3081
---
 src/lib/eldbus/eldbus_pending.c | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/lib/eldbus/eldbus_pending.c b/src/lib/eldbus/eldbus_pending.c
index fa68d03..69ea322 100644
--- a/src/lib/eldbus/eldbus_pending.c
+++ b/src/lib/eldbus/eldbus_pending.c
@@ -157,6 +157,13 @@ _eldbus_connection_send(Eldbus_Connection *conn, 
Eldbus_Message *msg, Eldbus_Mes
 eldbus_pending_dispatch(pending, error_msg);
 return NULL;
  }
+   if (!pending->dbus_pending)
+ {
+error_msg = eldbus_message_error_new(msg, 
"org.enlightenment.DBus.Error",
+ "dbus_pending is NULL.");
+eldbus_pending_dispatch(pending, error_msg);
+return NULL;
+ }
if (dbus_pending_call_set_notify(pending->dbus_pending, cb_pending, 
pending, NULL))
  return pending;
 
@@ -238,7 +245,8 @@ eldbus_pending_dispatch(Eldbus_Pending *pending, 
Eldbus_Message *msg)
 
if (msg) eldbus_message_unref(msg);
eldbus_message_unref(pending->msg_sent);
-   dbus_pending_call_unref(pending->dbus_pending);
+   if (pending->dbus_pending)
+ dbus_pending_call_unref(pending->dbus_pending);
 
pending->cb = NULL;
pending->dbus_pending = NULL;

-- 




[EGIT] [core/enlightenment] master 01/01: fix systray implementation of notifier watcher (StatusNotifierItem)

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 0978d22f8e354176052d19acd10143b7fb79c11d
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 18:38:34 2015 -0400

fix systray implementation of notifier watcher (StatusNotifierItem)

previously, this would throw dbus errors (or not) and then do nothing in
many cases. now it manages bus/path names more effectively and falls back
to binary image data when an icon path is not available

fix T2626 and probably some others
---
 src/modules/systray/e_mod_notifier_host.c | 21 -
 src/modules/systray/e_mod_notifier_host_dbus.c| 96 ---
 src/modules/systray/e_mod_notifier_host_private.h |  4 +
 src/modules/systray/e_mod_notifier_watcher.c  | 21 ++---
 4 files changed, 116 insertions(+), 26 deletions(-)

diff --git a/src/modules/systray/e_mod_notifier_host.c 
b/src/modules/systray/e_mod_notifier_host.c
index 3fe3340..e3420b4 100644
--- a/src/modules/systray/e_mod_notifier_host.c
+++ b/src/modules/systray/e_mod_notifier_host.c
@@ -42,6 +42,8 @@ systray_notifier_item_free(Notifier_Item *item)
  e_dbusmenu_unload(item->menu_data);
eina_stringshare_del(item->bus_id);
eina_stringshare_del(item->path);
+   free(item->imgdata);
+   free(item->attnimgdata);
if (item->attention_icon_name)
  eina_stringshare_del(item->attention_icon_name);
if (item->icon_name)
@@ -64,7 +66,7 @@ systray_notifier_item_free(Notifier_Item *item)
 }
 
 static void
-image_load(const char *name, const char *path, Evas_Object *image)
+image_load(const char *name, const char *path, uint32_t *imgdata, int w, int 
h, Evas_Object *image)
 {
const char **ext, *exts[] =
{
@@ -96,7 +98,18 @@ image_load(const char *name, const char *path, Evas_Object 
*image)
}
   }
  }
-   if (!e_util_icon_theme_set(image, name))
+   if (name && name[0] && e_util_icon_theme_set(image, name)) return;
+   if (imgdata)
+ {
+Evas_Object *o;
+
+o = evas_object_image_filled_add(evas_object_evas_get(image));
+evas_object_image_alpha_set(o, 1);
+evas_object_image_size_set(o, w, h);
+evas_object_image_data_set(o, imgdata);
+e_icon_image_object_set(image, o);
+ }
+   else
  e_util_icon_theme_set(image, "dialog-error");
 }
 
@@ -261,7 +274,7 @@ jump_search:
  {
   case STATUS_ACTIVE:
 {
-   image_load(item->icon_name, item->icon_path, ii->icon);
+   image_load(item->icon_name, item->icon_path, item->imgdata, 
item->imgw, item->imgh, ii->icon);
if (!evas_object_visible_get(ii->icon))
  {
 systray_edje_box_append(host_inst->inst, ii->icon);
@@ -280,7 +293,7 @@ jump_search:
 }
   case STATUS_ATTENTION:
 {
-   image_load(item->attention_icon_name, item->icon_path, ii->icon);
+   image_load(item->attention_icon_name, item->icon_path, 
item->attnimgdata, item->attnimgw, item->attnimgh, ii->icon);
if (!evas_object_visible_get(ii->icon))
  {
 systray_edje_box_append(host_inst->inst, ii->icon);
diff --git a/src/modules/systray/e_mod_notifier_host_dbus.c 
b/src/modules/systray/e_mod_notifier_host_dbus.c
index f5de199..77ae5b5 100644
--- a/src/modules/systray/e_mod_notifier_host_dbus.c
+++ b/src/modules/systray/e_mod_notifier_host_dbus.c
@@ -14,6 +14,8 @@
 extern const char *Category_Names[];
 extern const char *Status_Names[];
 
+static Eina_Stringshare *DBUS_PATH;
+
 typedef struct _Notifier_Host_Data {
Instance_Notifier_Host *host_inst;
void *data;
@@ -57,6 +59,36 @@ id_find(const char *s, const char *names[])
 }
 
 static void
+icon_pixmap_deserialize(Eldbus_Message_Iter *variant, uint32_t **data, int *w, 
int *h)
+{
+   Eldbus_Message_Iter *iter, *struc;
+
+   *data = NULL;
+   *w = *h = 0;
+   eldbus_message_iter_arguments_get(variant, "a(iiay)", );
+   while (eldbus_message_iter_get_and_next(iter, 'r', ))
+ {
+Eldbus_Message_Iter *imgdata;
+
+if (eldbus_message_iter_arguments_get(struc, "iiay", w, h, ))
+  {
+ uint32_t *img;
+ int len;
+
+ if (eldbus_message_iter_fixed_array_get(imgdata, 'y', , ))
+   {
+  unsigned int pos;
+
+  *data = malloc(len * sizeof(int));
+  for (pos = 0; pos < (unsigned int)len; pos++)
+(*data)[pos] = eina_swap32(img[pos]);
+  return;
+   }
+  }
+ }
+}
+
+static void
 item_prop_get(void *data, const void *key, Eldbus_Message_Iter *var)
 {
Notifier_Item *item = data;
@@ -73,6 +105,16 @@ item_prop_get(void *data, const void *key, 
Eldbus_Message_Iter *var)
 eldbus_message_iter_arguments_get(var, "s", );
 eina_stringshare_replace(>icon_name, name);
  }

[EGIT] [core/enlightenment] enlightenment-0.19 01/01: fix systray implementation of notifier watcher (StatusNotifierItem)

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 6f4d1268d159013ab17ff097acfef673cf76ebd2
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 18:38:34 2015 -0400

fix systray implementation of notifier watcher (StatusNotifierItem)

previously, this would throw dbus errors (or not) and then do nothing in
many cases. now it manages bus/path names more effectively and falls back
to binary image data when an icon path is not available

fix T2626 and probably some others
---
 src/modules/systray/e_mod_notifier_host.c | 21 -
 src/modules/systray/e_mod_notifier_host_dbus.c| 96 ---
 src/modules/systray/e_mod_notifier_host_private.h |  4 +
 src/modules/systray/e_mod_notifier_watcher.c  | 21 ++---
 4 files changed, 116 insertions(+), 26 deletions(-)

diff --git a/src/modules/systray/e_mod_notifier_host.c 
b/src/modules/systray/e_mod_notifier_host.c
index 0cd7a26..065c82f 100644
--- a/src/modules/systray/e_mod_notifier_host.c
+++ b/src/modules/systray/e_mod_notifier_host.c
@@ -42,6 +42,8 @@ systray_notifier_item_free(Notifier_Item *item)
  e_dbusmenu_unload(item->menu_data);
eina_stringshare_del(item->bus_id);
eina_stringshare_del(item->path);
+   free(item->imgdata);
+   free(item->attnimgdata);
if (item->attention_icon_name)
  eina_stringshare_del(item->attention_icon_name);
if (item->icon_name)
@@ -64,7 +66,7 @@ systray_notifier_item_free(Notifier_Item *item)
 }
 
 static void
-image_load(const char *name, const char *path, Evas_Object *image)
+image_load(const char *name, const char *path, uint32_t *imgdata, int w, int 
h, Evas_Object *image)
 {
const char **ext, *exts[] =
{
@@ -96,7 +98,18 @@ image_load(const char *name, const char *path, Evas_Object 
*image)
}
   }
  }
-   if (!e_util_icon_theme_set(image, name))
+   if (name && name[0] && e_util_icon_theme_set(image, name)) return;
+   if (imgdata)
+ {
+Evas_Object *o;
+
+o = evas_object_image_filled_add(evas_object_evas_get(image));
+evas_object_image_alpha_set(o, 1);
+evas_object_image_size_set(o, w, h);
+evas_object_image_data_set(o, imgdata);
+e_icon_image_object_set(image, o);
+ }
+   else
  e_util_icon_theme_set(image, "dialog-error");
 }
 
@@ -261,7 +274,7 @@ jump_search:
  {
   case STATUS_ACTIVE:
 {
-   image_load(item->icon_name, item->icon_path, ii->icon);
+   image_load(item->icon_name, item->icon_path, item->imgdata, 
item->imgw, item->imgh, ii->icon);
if (!evas_object_visible_get(ii->icon))
  {
 systray_edje_box_append(host_inst->inst, ii->icon);
@@ -280,7 +293,7 @@ jump_search:
 }
   case STATUS_ATTENTION:
 {
-   image_load(item->attention_icon_name, item->icon_path, ii->icon);
+   image_load(item->attention_icon_name, item->icon_path, 
item->attnimgdata, item->attnimgw, item->attnimgh, ii->icon);
if (!evas_object_visible_get(ii->icon))
  {
 systray_edje_box_append(host_inst->inst, ii->icon);
diff --git a/src/modules/systray/e_mod_notifier_host_dbus.c 
b/src/modules/systray/e_mod_notifier_host_dbus.c
index f5de199..77ae5b5 100644
--- a/src/modules/systray/e_mod_notifier_host_dbus.c
+++ b/src/modules/systray/e_mod_notifier_host_dbus.c
@@ -14,6 +14,8 @@
 extern const char *Category_Names[];
 extern const char *Status_Names[];
 
+static Eina_Stringshare *DBUS_PATH;
+
 typedef struct _Notifier_Host_Data {
Instance_Notifier_Host *host_inst;
void *data;
@@ -57,6 +59,36 @@ id_find(const char *s, const char *names[])
 }
 
 static void
+icon_pixmap_deserialize(Eldbus_Message_Iter *variant, uint32_t **data, int *w, 
int *h)
+{
+   Eldbus_Message_Iter *iter, *struc;
+
+   *data = NULL;
+   *w = *h = 0;
+   eldbus_message_iter_arguments_get(variant, "a(iiay)", );
+   while (eldbus_message_iter_get_and_next(iter, 'r', ))
+ {
+Eldbus_Message_Iter *imgdata;
+
+if (eldbus_message_iter_arguments_get(struc, "iiay", w, h, ))
+  {
+ uint32_t *img;
+ int len;
+
+ if (eldbus_message_iter_fixed_array_get(imgdata, 'y', , ))
+   {
+  unsigned int pos;
+
+  *data = malloc(len * sizeof(int));
+  for (pos = 0; pos < (unsigned int)len; pos++)
+(*data)[pos] = eina_swap32(img[pos]);
+  return;
+   }
+  }
+ }
+}
+
+static void
 item_prop_get(void *data, const void *key, Eldbus_Message_Iter *var)
 {
Notifier_Item *item = data;
@@ -73,6 +105,16 @@ item_prop_get(void *data, const void *key, 
Eldbus_Message_Iter *var)
 eldbus_message_iter_arguments_get(var, "s", );
 eina_stringshare_replace(>icon_name, 

[EGIT] [core/enlightenment] master 01/01: unset E_Client->want/take_focus flags during client eval

2015-09-22 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit ae919fe716f39cef7f6ca3fc517963b733efc3f4
Author: Mike Blumenkrantz 
Date:   Tue Sep 22 12:02:13 2015 -0400

unset E_Client->want/take_focus flags during client eval

ref 4a33cd7ba0c51b911b1d7845411d2b70e01a3d55
---
 src/bin/e_client.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 669712d..664a8b2 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2207,8 +2207,12 @@ _e_client_eval(E_Client *ec)
((!ec->zone) || e_client_util_desk_visible(ec, 
e_desk_current_get(ec->zone))) &&
((ec->take_focus) || (ec->want_focus)))
  {
+ec->take_focus = 0;
 if ((e_config->focus_setting == E_FOCUS_NEW_WINDOW) || 
(ec->want_focus))
-  e_client_focus_set_with_pointer(ec);
+  {
+ ec->want_focus = 0;
+ e_client_focus_set_with_pointer(ec);
+  }
 else if (ec->dialog)
   {
  if ((e_config->focus_setting == E_FOCUS_NEW_DIALOG) ||

-- 




[EGIT] [tools/enventor] master 01/01: about: add one empty line to align form.

2015-09-22 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=ebe037c8a38b467d17316ae7bfaf0c3691bacdd4

commit ebe037c8a38b467d17316ae7bfaf0c3691bacdd4
Author: ChunEon Park 
Date:   Tue Sep 22 16:35:24 2015 +0900

about: add one empty line to align form.
---
 data/about/ABOUT | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/data/about/ABOUT b/data/about/ABOUT
index d5d8246..49d15d5 100644
--- a/data/about/ABOUT
+++ b/data/about/ABOUT
@@ -7,7 +7,8 @@ Please see next sites for more information on these.
 http://www.enlightenment.org
 https://phab.enlightenment.org/w/projects/enventor/
 http://www.openhub.net/p/enventor 
- 
+
+
 

[EGIT] [core/efl] master 04/05: edje: edje_edit - add getters/setters for a container item position

2015-09-22 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit eddcb693917fc19c1b1aab4f3230ad6b43453515
Author: Vyacheslav Reutskiy 
Date:   Mon Sep 21 16:12:56 2015 +0300

edje: edje_edit - add getters/setters for a container item position

This functions designed that make the edje edit API's more
homogeneous. The all edje attribute setters and getters
treated only ony attribute, besides container API's
---
 src/lib/edje/Edje_Edit.h | 58 
 src/lib/edje/edje_edit.c | 50 +
 2 files changed, 108 insertions(+)

diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h
index 1626716..a9c7a3e 100644
--- a/src/lib/edje/Edje_Edit.h
+++ b/src/lib/edje/Edje_Edit.h
@@ -2776,11 +2776,39 @@ EAPI Eina_Bool 
edje_edit_part_item_weight_y_set(Evas_Object *obj, const char *pa
  * @param col Column item position.
  * @param row Row item position.
  *
+ * @deprecated Use edje_edit_part_item_position_col_get() and
+ * edje_edit_part_item_position_row_get() instead.
+ *
  * @return @c EINA_TRUE If successfull, @c EINA_FALSE otherwise.
  * @since 1.11
  */
+EINA_DEPRECATED
 EAPI Eina_Bool edje_edit_part_item_position_get(Evas_Object *obj, const char 
*part, const char *item_name, unsigned short *col, unsigned short *row);
 
+/** Get column position of the part's item.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain item.
+ * @param item_name The name of the item.
+ *
+ * @return The item column value.
+ * @since 1.16
+ */
+EAPI unsigned short
+edje_edit_part_item_position_col_get(Evas_Object *obj, const char *part, const 
char *item_name);
+
+/** Get row position of the part's item.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain item.
+ * @param item_name The name of the item.
+ *
+ * @return The item row value.
+ * @since 1.16
+ */
+EAPI unsigned short
+edje_edit_part_item_position_row_get(Evas_Object *obj, const char *part, const 
char *item_name);
+
 /** Set column/row position of a new part's item.
  *
  * @param obj Object being edited.
@@ -2789,11 +2817,41 @@ EAPI Eina_Bool 
edje_edit_part_item_position_get(Evas_Object *obj, const char *pa
  * @param col Column item position.
  * @param row Row item position.
  *
+ * @deprecation Use edje_edit_part_item_position_col_set() and
+ * edje_edit_part_item_position_row_set() instead.
+ *
  * @return @c EINA_TRUE If successfull, @c EINA_FALSE otherwise.
  * @since 1.11
  */
+EINA_DEPRECATED
 EAPI Eina_Bool edje_edit_part_item_position_set(Evas_Object *obj, const char 
*part, const char *item_name, unsigned short col, unsigned short row);
 
+/** Set column position of a part item.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain item.
+ * @param item_name The name of the item.
+ * @param col Column item position.
+ *
+ * @return @c EINA_TRUE If successfull, @c EINA_FALSE otherwise.
+ * @since 1.16
+ */
+EAPI Eina_Bool
+edje_edit_part_item_position_col_set(Evas_Object *obj, const char *part, const 
char *item_name, unsigned short col);
+
+/** Set row position of a part item.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain item.
+ * @param item_name The name of the item.
+ * @param row Row item position.
+ *
+ * @return @c EINA_TRUE If successfull, @c EINA_FALSE otherwise.
+ * @since 1.16
+ */
+EAPI Eina_Bool
+edje_edit_part_item_position_row_set(Evas_Object *obj, const char *part, const 
char *item_name, unsigned short row);
+
 /** Retrieves the how many columns and rows will span for use by item.
  *
  * @param obj object being edited.
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index 10a63aa..29ccb78 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -5174,6 +5174,56 @@ edje_edit_part_item_position_set(Evas_Object *obj, const 
char *part, const char
return EINA_TRUE;
 }
 
+#define FUNC_PART_ITEM_USHORT(CLASS, VALUE) \
+EAPI unsigned short \
+edje_edit_part_item_##CLASS##_##VALUE##_get(Evas_Object *obj, const char 
*part, const char *item_name) \
+{ \
+   Edje_Part *ep; \
+   unsigned int i; \
+   Edje_Pack_Element *item = NULL; \
+   GET_RP_OR_RETURN(0); \
+   if (!item_name) return 0; \
+   ep = rp->part; \
+   if (rp->part->type != EDJE_PART_TYPE_TABLE) return 0; \
+   for (i = 0; i < ep->items_count; ++i) \
+ { \
+if (ep->items[i]->name && (!strcmp(ep->items[i]->name, item_name))) \
+  { \
+ item = ep->items[i]; \
+ break; \
+  } \
+ } \
+   if (!item) return 0; \
+   return item->VALUE; \
+} \
+EAPI Eina_Bool \
+edje_edit_part_item_##CLASS##_##VALUE##_set(Evas_Object *obj, const char 
*part, const char *item_name, unsigned short new_val) \
+{ \
+   Edje_Part *ep; \
+   unsigned int i; \
+   Edje_Pack_Element *item = NULL; \
+   

[EGIT] [core/efl] master 05/05: edje: edje_edit - add getters/setters for a container item spans

2015-09-22 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit 27b81e44bc2b52b4cce0f157b814cb1a211b2757
Author: Vyacheslav Reutskiy 
Date:   Mon Sep 21 16:48:07 2015 +0300

edje: edje_edit - add getters/setters for a container item spans

This functions designed that make the edje edit API's more
homogeneous. The all edje attribute setters and getters
treated only ony attribute, besides container API's
---
 src/lib/edje/Edje_Edit.h | 55 
 src/lib/edje/edje_edit.c | 50 +++
 2 files changed, 105 insertions(+)

diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h
index a9c7a3e..448d27a 100644
--- a/src/lib/edje/Edje_Edit.h
+++ b/src/lib/edje/Edje_Edit.h
@@ -2860,10 +2860,38 @@ edje_edit_part_item_position_row_set(Evas_Object *obj, 
const char *part, const c
  * @param col Pointer to an unsigned char in which to store the columns count.
  * @param row Pointer to an unsigned char in which to store the rows count.
  *
+ * @deprecated Use edje_edit_part_item_span_row_get() and
+ * edje_edit_part_item_span_col_get() instead.
+ *
  * @since 1.11
  */
+EINA_DEPRECATED
 EAPI void edje_edit_part_item_span_get(Evas_Object *obj, const char *part, 
const char *item, unsigned char *col, unsigned char *row);
 
+/** Get the number of span columns.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain item.
+ * @param item The name of the item of part.
+ *
+ * @return The count of span columns.
+ * @since 1.16
+ */
+EAPI unsigned short
+edje_edit_part_item_span_col_get(Evas_Object *obj, const char *part, const 
char *item);
+
+/** Get the number of span rows.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain item.
+ * @param item The name of the item of part.
+ *
+ * @return The count of span rows.
+ * @since 1.16
+ */
+EAPI unsigned short
+edje_edit_part_item_span_row_get(Evas_Object *obj, const char *part, const 
char *item);
+
 /** Set the count of columns and rows, which this item will spans for use.
  *
  * @param obj object being edited.
@@ -2875,8 +2903,35 @@ EAPI void edje_edit_part_item_span_get(Evas_Object *obj, 
const char *part, const
  * @return @c EINA_TRUE if successful, @c EINA_FALSE otherwise.
  * @since 1.11
  */
+EINA_DEPRECATED
 EAPI Eina_Bool edje_edit_part_item_span_set(Evas_Object *obj, const char 
*part, const char *item, unsigned char col, unsigned char row);
 
+/** Set the count of columns which this item will spans for use.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain item.
+ * @param item The name of the item.
+ * @param col new count of the columns spans.
+ *
+ * @return @c EINA_TRUE if successful, @c EINA_FALSE otherwise.
+ * @since 1.16
+ */
+EAPI Eina_Bool
+edje_edit_part_item_span_col_set(Evas_Object *obj, const char *part, const 
char *item, unsigned short col);
+
+/** Set the count of rows which this item will spans for use.
+ *
+ * @param obj Object being edited.
+ * @param part Part that contain item.
+ * @param item The name of the item.
+ * @param row new count of the rows spans.
+ *
+ * @return @c EINA_TRUE if successful, @c EINA_FALSE otherwise.
+ * @since 1.16
+ */
+EAPI Eina_Bool
+edje_edit_part_item_span_row_set(Evas_Object *obj, const char *part, const 
char *item, unsigned short row);
+
 //@}
 
/**/
 /**   STATES API   
/
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index 29ccb78..908eee0 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -5275,6 +5275,56 @@ edje_edit_part_item_span_set(Evas_Object *obj, const 
char *part, const char *ite
return EINA_TRUE;
 }
 
+#define FUNC_PART_ITEM_USHORT(CLASS, VALUE, MEMBER) \
+EAPI unsigned short \
+edje_edit_part_item_##CLASS##_##VALUE##_get(Evas_Object *obj, const char 
*part, const char *item_name) \
+{ \
+   Edje_Part *ep; \
+   unsigned int i; \
+   Edje_Pack_Element *item = NULL; \
+   GET_RP_OR_RETURN(0); \
+   if (!item_name) return 0; \
+   ep = rp->part; \
+   if (rp->part->type != EDJE_PART_TYPE_TABLE) return EINA_FALSE; \
+   for (i = 0; i < ep->items_count; ++i) \
+ { \
+if ((ep->items[i]->name) && (!strcmp(ep->items[i]->name, item_name))) \
+  { \
+ item = ep->items[i]; \
+ break; \
+  } \
+ } \
+   if (!item) return 0; \
+   return  item->MEMBER; \
+} \
+EAPI Eina_Bool \
+edje_edit_part_item_##CLASS##_##VALUE##_set(Evas_Object *obj, const char 
*part, const char *item_name, unsigned short new_val) \
+{ \
+   Edje_Part *ep; \
+   unsigned int i; \
+   Edje_Pack_Element *item = NULL; \
+   GET_RP_OR_RETURN(EINA_FALSE); \
+   if (!item_name) return EINA_FALSE; \
+   ep = rp->part; \
+   if 

[EGIT] [core/efl] master 01/05: edje: edje_edit - add getters/setters for min container size

2015-09-22 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit f73174f980cc687093d2c4d675bb50d10d11b791
Author: Vyacheslav Reutskiy 
Date:   Mon Sep 21 10:25:24 2015 +0300

edje: edje_edit - add getters/setters for min container size

This functions designed that make the edje edit API's more
homogeneous. The all edje attribute setters and getters
treated only ony attribute, besides container API's.

TODO:
 * separate edje_edit_state_container_padding_get/set
 * separate edje_edit_state_container_align_set/set
 * separate edje_edit_part_item_position_get/set
 * separate edje_edit_part_item_span_get/set
---
 src/lib/edje/Edje_Edit.h | 69 
 src/lib/edje/edje_edit.c | 58 
 2 files changed, 127 insertions(+)

diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h
index 5492881..df3fc05 100644
--- a/src/lib/edje/Edje_Edit.h
+++ b/src/lib/edje/Edje_Edit.h
@@ -2025,11 +2025,45 @@ EAPI unsigned char 
edje_edit_state_table_homogeneous_get(Evas_Object *obj, const
  * @param h Variable to store horizontal min value.
  * @param v Variable to store vertical min value.
  *
+ * @deprecated Use edje_edit_state_container_min_x_get() and
+ * edje_edit_state_container_min_y_get() instead.
+ *
  * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise.
  * @since 1.14
  */
+EINA_DEPRECATED
 EAPI Eina_Bool edje_edit_state_container_min_get(Evas_Object *obj, const char 
*part, const char *state, double value, Eina_Bool *h, Eina_Bool *v);
 
+/** Get whether horizontal min size of the container is equal to the min
+ * horizontal size of items (BOX and TABLE part functions).
+ *
+ * @param obj Object being edited.
+ * @param part Part that has BOX/TABLE type.
+ * @param state Name of the state.
+ * @param value Value of the state.
+ *
+ * @return @c EINA_TRUE If the part forces container's minimal horizontal size,
+ * @c EINA_FALSE otherwise.
+ * @since 1.16
+ */
+EAPI Eina_Bool
+edje_edit_state_container_min_x_get(Evas_Object *obj, const char *part, const 
char *state, double value);
+
+/** Get whether vertical min size of the container is equal to the min vertical
+ * size of items (BOX and TABLE part functions).
+ *
+ * @param obj Object being edited.
+ * @param part Part that has BOX/TABLE type.
+ * @param state Name of the state.
+ * @param value Value of the state.
+ *
+ * @return @c EINA_TRUE If the part forces container's minimal horizontal size,
+ * @c EINA_FALSE otherwise.
+ * @since 1.16
+ */
+EAPI Eina_Bool
+edje_edit_state_container_min_y_get(Evas_Object *obj, const char *part, const 
char *state, double value);
+
 /** Set whether vertical or horizontal minimum size's of the box are equal
  * to the minimum vertical or horizontal size of items
  * (function for BOX or TABLE part.
@@ -2042,11 +2076,46 @@ EAPI Eina_Bool 
edje_edit_state_container_min_get(Evas_Object *obj, const char *p
  * @param h horizontal min value.
  * @param v vertical min value.
  *
+ * @deprecated Use edje_edit_state_container_min_x_set() and
+ * edje_edit_state_container_min_y_set() instead.
+ *
  * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise.
  * @since 1.14
  */
+EINA_DEPRECATED
 EAPI Eina_Bool edje_edit_state_container_min_set(Evas_Object *obj, const char 
*part, const char *state, double value, Eina_Bool h, Eina_Bool v);
 
+/** Set whether horizontal min size of the container should be equal to the min
+ * horizontal size of items (BOX and TABLE part functions).
+ *
+ * @param obj Object being edited.
+ * @param part Part that has BOX/TABLE type.
+ * @param state Name of the state.
+ * @param value Value of the state.
+ * @param h New horizontal min value.
+ *
+ * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise.
+ *
+ * @since 1.16
+ */
+EAPI Eina_Bool
+edje_edit_state_container_min_x_set(Evas_Object *obj, const char *part, const 
char *state, double value, Eina_Bool v);
+
+/** Set whether vertical min size of the container should be equal to the min
+ * vertical size of items (BOX and TABLE part functions).
+ *
+ * @param obj Object being edited.
+ * @param part Part that has BOX/TABLE type.
+ * @param state Name of the state.
+ * @param value Value of the state.
+ * @param v New vertical min value.
+ *
+ * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise.
+ * @since 1.16
+ */
+EAPI Eina_Bool
+edje_edit_state_container_min_y_set(Evas_Object *obj, const char *part, const 
char *state, double value, Eina_Bool h);
+
 /** Get x and y paddings for BOX or TABLE part.
  *
  * @param obj Object being edited.
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index c229d4d..0af12a6 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -4304,6 +4304,64 @@ 

[EGIT] [core/efl] master 01/01: evas sw generic - comment NULL methods so we know what they should be

2015-09-22 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 0369168a443b2f26020fa745891fe10649a285fd
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Sep 22 18:48:17 2015 +0900

evas sw generic - comment NULL methods so we know what they should be
---
 src/modules/evas/engines/software_generic/evas_engine.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/modules/evas/engines/software_generic/evas_engine.c 
b/src/modules/evas/engines/software_generic/evas_engine.c
index 4b221dd..8dc64f0 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -3799,10 +3799,10 @@ eng_ector_end(void *data EINA_UNUSED, void *context 
EINA_UNUSED, Ector_Surface *
 
 static Evas_Func func =
 {
-   NULL,
- NULL,
- NULL,
- NULL,
+   NULL, // eng_info
+ NULL, // eng_info_free
+ NULL, // eng_setup
+ NULL, // eng_output_free
  eng_output_resize,
  eng_output_tile_size_set,
  eng_output_redraws_rect_add,
@@ -3854,7 +3854,7 @@ static Evas_Func func =
  eng_image_free,
  eng_image_size_get,
  eng_image_size_set,
- NULL,
+ NULL, // eng_image_stride_get
  eng_image_dirty_region,
  eng_image_data_get,
  eng_image_data_put,

-- 




[EGIT] [website/www] master 01/01: e www - shot - upgrade max shot size to 20m

2015-09-22 Thread Carsten Haitzler (Rasterman)
raster pushed a commit to branch master.

http://git.enlightenment.org/website/www.git/commit/?id=3c1136577cf33497ffa4adcf3eed0fccc9b2c7da

commit 3c1136577cf33497ffa4adcf3eed0fccc9b2c7da
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Sep 22 19:09:54 2015 +0900

e www - shot - upgrade max shot size to 20m
---
 public_html/shot.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/public_html/shot.php b/public_html/shot.php
index 0ef7d64..a963605 100644
--- a/public_html/shot.php
+++ b/public_html/shot.php
@@ -48,8 +48,8 @@ function dothumb($f, $thumb, $new_w, $new_h) {
 }
 
 ob_start();
- limit - 6 mb.
-$data = file_get_contents('php://input', NULL, NULL, 0, 6 * 1024 * 1024);
+ limit - 20 mb.
+$data = file_get_contents('php://input', NULL, NULL, 0, 20 * 1024 * 1024);
  magic jpeg signature
 $jpeg_match = "\xff\xd8\xff\xe0";
 $jpeg_magic = substr($data, 0, 4);

-- 




[EGIT] [tools/abi_checks] master 01/01: Added scripts to easily generate and compare dumps.

2015-09-22 Thread Tom Hacohen
tasn pushed a commit to branch master.

http://git.enlightenment.org/tools/abi_checks.git/commit/?id=29cb2c77b7179136bc0e8d8a045f30885b6ced1e

commit 29cb2c77b7179136bc0e8d8a045f30885b6ced1e
Author: Tom Hacohen 
Date:   Tue Sep 22 16:01:18 2015 +0100

Added scripts to easily generate and compare dumps.
---
 README |  6 +++---
 cmpdump.sh | 12 
 gendump.sh | 11 +++
 3 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/README b/README
index 1727dc3..a103d4c 100644
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
 Configs and dumps for 
http://ispras.linuxbase.org/index.php/ABI_compliance_checker
 
 Generation example:
-1. Generate the dump for the latest version: abi-compliance-checker -l 
elementary -dump elementary-1.10.0.xml
-2. Generate the report: abi-compliance-checker -l elementary -old 
abi_dumps/elementary/elementary_1.9.4.abi.tar.gz -new 
abi_dumps/elementary/elementary_1.10.0.abi.tar.gz
-Where abi_dumps/elementary/elementary_1.9.4.abi.tar.gz is a previously 
created dump for the old release we'd like to compare to.
+1. Generate the dump for the latest version: ./gendump.sh elementary 1.10.0
+2. Generate the report: ./cmpdump.sh elementary 1.9.4 1.10.0
+Assuming abi_dumps/elementary/elementary_1.9.4.abi.tar.gz and one for 
1.10.0 exist.
diff --git a/cmpdump.sh b/cmpdump.sh
new file mode 100755
index 000..9e3b6f8
--- /dev/null
+++ b/cmpdump.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+if [ "$#" -ne 3 ]; then
+echo "Usage: $0   "
+exit 1
+fi
+
+libname="$1"
+liboldver="$2"
+libnewver="$3"
+
+abi-compliance-checker -l "${libname}" -old 
"abi_dumps/${libname}/${libname}_${liboldver}.abi.tar.gz" -new 
"abi_dumps/${libname}/${libname}_${libnewver}.abi.tar.gz"
diff --git a/gendump.sh b/gendump.sh
new file mode 100755
index 000..b83852f
--- /dev/null
+++ b/gendump.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+if [ "$#" -ne 2 ]; then
+echo "Usage: $0  "
+exit 1
+fi
+
+libname="$1"
+libver="$2"
+
+abi-compliance-checker -l "${libname}" -dump "${libname}-${libver}.xml"

-- 




[EGIT] [core/efl] master 01/01: Edje_entry: emit "cursor, changed, manual" for Home/End/PgUp/PgDown.

2015-09-22 Thread Mykyta Biliavskyi
tasn pushed a commit to branch master.

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

commit 278b20954a7583d42bc93df0257cd84f0646932e
Author: Mykyta Biliavskyi 
Date:   Tue Sep 22 15:12:47 2015 +0100

Edje_entry: emit "cursor,changed,manual" for Home/End/PgUp/PgDown.

Summary:
The keys Home/End/PgUp/PgDown are changes the entry cursor
position in the same way as arrow keys. For unified behavior
callback "cursor,changed,manual", added emitting signal for
those keys events.

Reviewers: tasn, cedric, herdsman, thiepha

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3055
---
 src/lib/edje/edje_entry.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c
index 237e49a..e32a52e 100644
--- a/src/lib/edje/edje_entry.c
+++ b/src/lib/edje/edje_entry.c
@@ -1686,6 +1686,7 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED,
  if (shift) _sel_extend(ed, en->cursor, rp->object, en);
   }
 _edje_emit(ed, "entry,key,home", rp->part->name);
+_edje_emit(ed, "cursor,changed,manual", rp->part->name);
 ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
  }
else if ((!alt) &&
@@ -1707,6 +1708,7 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED,
  if (shift) _sel_extend(ed, en->cursor, rp->object, en);
   }
 _edje_emit(ed, "entry,key,end", rp->part->name);
+_edje_emit(ed, "cursor,changed,manual", rp->part->name);
 ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
  }
else if ((control) && (!shift) && (!strcmp(ev->keyname, "v")))
@@ -1830,6 +1832,7 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED,
  else _sel_clear(ed, en->cursor, rp->object, en);
   }
 _edje_emit(ed, "entry,key,pgup", rp->part->name);
+_edje_emit(ed, "cursor,changed,manual", rp->part->name);
 ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
  }
else if (!strcmp(ev->key, "Next") ||
@@ -1853,6 +1856,7 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED,
  else _sel_clear(ed, en->cursor, rp->object, en);
   }
 _edje_emit(ed, "entry,key,pgdn", rp->part->name);
+_edje_emit(ed, "cursor,changed,manual", rp->part->name);
 ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
  }
else if ((!strcmp(ev->key, "Return")) || (!strcmp(ev->key, "KP_Enter")))

-- 




[EGIT] [core/efl] master 01/01: Ector software gradient: Fix cast from integer to pointer of wrong type.

2015-09-22 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit be87d3bf1df7c32378a23aba623b81610397feae
Author: Tom Hacohen 
Date:   Tue Sep 22 15:45:04 2015 +0100

Ector software gradient: Fix cast from integer to pointer of wrong type.

When casting pointer<->int, always use uintptr_t, not just int.

@fix
---
 src/lib/ector/software/ector_software_gradient.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ector/software/ector_software_gradient.c 
b/src/lib/ector/software/ector_software_gradient.c
index d6ad207..707c345 100644
--- a/src/lib/ector/software/ector_software_gradient.c
+++ b/src/lib/ector/software/ector_software_gradient.c
@@ -107,7 +107,7 @@ static void
 loop_break(unsigned int *buffer, int length, int *lprealign, int *lby4 , int 
*lremaining)
 {
int l1=0,l2=0,l3=0;
-   while ((int)buffer & 0xF)
+   while ((uintptr_t)buffer & 0xF)
  buffer++ , l1++;
 
if(length <= l1)

--