[EGIT] [core/elementary] elementary-1.14 01/02: elm list - theme - make compress moder work again

2015-06-09 Thread Carsten Haitzler
raster pushed a commit to branch elementary-1.14.

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

commit 59a489cbe58539ddae7dc5fb6a35d3d07e8cf1e8
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue Jun 9 16:25:24 2015 +0900

elm list - theme - make compress moder work again

someone.. somewhere along the way.. likely a long time ago.. broke
compress mode. likely the addition of the ellipsis value as an
ellipsis position or something related to that broke compatibility,
as this used to work. be that as it may... finding out just where is
virtually impossible, so fix it the simpler way - add elipsis values
---
 data/themes/edc/elm/list.edc | 18 ++
 src/lib/elm_list.c   |  5 +
 2 files changed, 23 insertions(+)

diff --git a/data/themes/edc/elm/list.edc b/data/themes/edc/elm/list.edc
index aa836d4..0641938 100644
--- a/data/themes/edc/elm/list.edc
+++ b/data/themes/edc/elm/list.edc
@@ -17,34 +17,43 @@
  part { name: elm.text; \
 description { state: default 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: selected 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: disabled 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
  } \
  part { name: label2; \
 description { state: default 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: selected 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: disabled 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
  } \
  part { name: label3; \
 description { state: default 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: selected 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: disabled 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
  } \
   } \
@@ -56,34 +65,43 @@
  part { name: elm.text; \
 description { state: default 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: selected 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: disabled 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
  } \
  part { name: label2; \
 description { state: default 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: selected 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: disabled 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
  } \
  part { name: label3; \
 description { state: default 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: selected 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: disabled 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
  } \
  part { name: base; \
diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index d7db7da..18d23e1 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -820,6 +820,8 @@ _items_fix(Evas_Object *obj)
 
ELM_LIST_DATA_GET(obj, sd);
 
+   printf(fix\n);
+
style = elm_widget_style_get(obj);
it_plain = sd-h_mode ? h_item : item;
it_odd = sd-h_mode ? h_item_odd : item_odd;
@@ -864,6 +866,7 @@ _items_fix(Evas_Object *obj)
 redo = 1;
  }
 
+   printf(walk items\n);
i = 0;
EINA_LIST_FOREACH(sd-items, l, eo_it)
  {
@@ -883,6 +886,7 @@ _items_fix(Evas_Object *obj)
  vertical : horizontal, style);
  else if (sd-mode == ELM_LIST_COMPRESS)
{
+  printf(fix item to %s\n, it_compress);
   if (it-even)
 elm_widget_theme_object_set
   (obj, VIEW(it), list, it_compress, style);
@@ -2639,6 +2643,7 @@ _elm_list_mode_set(Eo *obj, Elm_List_Data *sd, 
Elm_List_Mode mode)
sd-mode = mode;
 
_elm_list_mode_set_internal(obj);
+   _items_fix(obj);
 }
 
 EOLIAN static Elm_List_Mode

-- 




[EGIT] [core/elementary] master 01/01: fix list item mode change on elm list

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

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

commit 99fca104fdd8f869efe282d17840b16fda90107c
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue Jun 9 16:43:38 2015 +0900

fix list item mode change on elm list

@fix
---
 src/lib/elm_list.c | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index e5ba4d4..ab7a49a 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -820,8 +820,6 @@ _items_fix(Evas_Object *obj)
 
ELM_LIST_DATA_GET(obj, sd);
 
-   printf(fix\n);
-
style = elm_widget_style_get(obj);
it_plain = sd-h_mode ? h_item : item;
it_odd = sd-h_mode ? h_item_odd : item_odd;
@@ -866,7 +864,6 @@ _items_fix(Evas_Object *obj)
 redo = 1;
  }
 
-   printf(walk items\n);
i = 0;
EINA_LIST_FOREACH(sd-items, l, eo_it)
  {
@@ -2641,12 +2638,21 @@ _elm_list_multi_select_mode_get(Eo *obj EINA_UNUSED, 
Elm_List_Data *sd)
 EOLIAN static void
 _elm_list_mode_set(Eo *obj, Elm_List_Data *sd, Elm_List_Mode mode)
 {
+   Elm_Object_Item *eo_it;
+   Eina_List *n;
+
if (sd-mode == mode)
  return;
 
sd-mode = mode;
 
_elm_list_mode_set_internal(obj);
+
+   EINA_LIST_FOREACH(sd-items, n, eo_it)
+ {
+ELM_LIST_ITEM_DATA_GET(eo_it, it);
+it-fixed = EINA_FALSE;
+ }
_items_fix(obj);
 }
 

-- 




[EGIT] [core/elementary] elementary-1.14 02/02: fix list item mode change on elm list

2015-06-09 Thread Carsten Haitzler
raster pushed a commit to branch elementary-1.14.

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

commit 070e498c6c1d59dca84acacff7cb084340bcb387
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue Jun 9 16:43:38 2015 +0900

fix list item mode change on elm list

@fix
---
 src/lib/elm_list.c | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index 18d23e1..1cd1560 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -820,8 +820,6 @@ _items_fix(Evas_Object *obj)
 
ELM_LIST_DATA_GET(obj, sd);
 
-   printf(fix\n);
-
style = elm_widget_style_get(obj);
it_plain = sd-h_mode ? h_item : item;
it_odd = sd-h_mode ? h_item_odd : item_odd;
@@ -866,7 +864,6 @@ _items_fix(Evas_Object *obj)
 redo = 1;
  }
 
-   printf(walk items\n);
i = 0;
EINA_LIST_FOREACH(sd-items, l, eo_it)
  {
@@ -2637,12 +2634,21 @@ _elm_list_multi_select_mode_get(Eo *obj EINA_UNUSED, 
Elm_List_Data *sd)
 EOLIAN static void
 _elm_list_mode_set(Eo *obj, Elm_List_Data *sd, Elm_List_Mode mode)
 {
+   Elm_Object_Item *eo_it;
+   Eina_List *n;
+
if (sd-mode == mode)
  return;
 
sd-mode = mode;
 
_elm_list_mode_set_internal(obj);
+
+   EINA_LIST_FOREACH(sd-items, n, eo_it)
+ {
+ELM_LIST_ITEM_DATA_GET(eo_it, it);
+it-fixed = EINA_FALSE;
+ }
_items_fix(obj);
 }
 

-- 




[EGIT] [core/enlightenment] master 02/03: e mixer - fix segv on desklock if default sink not set yet

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

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

commit dd6e4f33f83fa30d34d0ea737769300b6f1e3f0a
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue Jun 9 16:18:24 2015 +0900

e mixer - fix segv on desklock if default sink not set yet
---
 src/modules/mixer/e_mod_main.c | 16 +++-
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c
index 5361ec7..b89cd58 100644
--- a/src/modules/mixer/e_mod_main.c
+++ b/src/modules/mixer/e_mod_main.c
@@ -703,14 +703,20 @@ _desklock_cb(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *info)
 
if (ev-on)
  {
-_was_mute = mixer_context-sink_default-mute;
-if (!_was_mute)
-  emix_sink_mute_set((Emix_Sink *)mixer_context-sink_default, 
EINA_TRUE);
+if (mixer_context-sink_default)
+  {
+ _was_mute = mixer_context-sink_default-mute;
+ if (!_was_mute)
+   emix_sink_mute_set((Emix_Sink *)mixer_context-sink_default, 
EINA_TRUE);
+  }
  }
else
  {
-if (!_was_mute)
-  emix_sink_mute_set((Emix_Sink *)mixer_context-sink_default, 
EINA_FALSE);
+if (mixer_context-sink_default)
+  {
+ if (!_was_mute)
+   emix_sink_mute_set((Emix_Sink *)mixer_context-sink_default, 
EINA_FALSE);
+  }
  }
 
return ECORE_CALLBACK_PASS_ON;

-- 




[EGIT] [core/enlightenment] master 03/03: e - mixer - clean up popup a bit with mute next to slider etc.

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

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

commit 921d4dee2be5237aa30976416a81090e5d34e5dc
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue Jun 9 17:22:40 2015 +0900

e - mixer - clean up popup a bit with mute next to slider etc.
---
 src/modules/mixer/e_mod_main.c | 70 --
 1 file changed, 34 insertions(+), 36 deletions(-)

diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c
index b89cd58..0eb632f 100644
--- a/src/modules/mixer/e_mod_main.c
+++ b/src/modules/mixer/e_mod_main.c
@@ -369,31 +369,6 @@ _slider_changed_cb(void *data EINA_UNUSED, Evas_Object 
*obj,
emix_sink_volume_set(s, v);
 }
 
-static Evas_Object *
-_popup_add_slider(void)
-{
-   unsigned int volume, i;
-   unsigned int channels = mixer_context-sink_default-volume.channel_count;
-
-   Evas_Object *slider = elm_slider_add(e_comp-elm);
-   evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0);
-
-   for (volume = 0, i = 0; i  channels; i++)
- volume += mixer_context-sink_default-volume.volumes[i];
-
-   if (channels)
- volume = volume / channels;
-
-   evas_object_show(slider);
-   elm_slider_min_max_set(slider, 0.0, (double) EMIX_VOLUME_MAX);
-   evas_object_smart_callback_add(slider, changed, _slider_changed_cb,
-  NULL);
-
-   elm_slider_value_set(slider, volume);
-   return slider;
-}
-
 static void
 _sink_selected_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
 {
@@ -406,9 +381,12 @@ _sink_selected_cb(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_info EIN
 static void
 _popup_new(Instance *inst)
 {
-   Evas_Object *button, *list, *icon;
+   Evas_Object *button, *list, *slider, *bx;
Emix_Sink *s;
Eina_List *l;
+   int num = 0;
+   unsigned int volume = 0, i;
+   unsigned int channels = mixer_context-sink_default-volume.channel_count;
 
EINA_SAFETY_ON_NULL_RETURN(mixer_context-sink_default);
 
@@ -428,30 +406,50 @@ _popup_new(Instance *inst)
 it = elm_list_item_append(inst-list, s-name, NULL, NULL, 
_sink_selected_cb, s);
 if (mixer_context-sink_default == s)
   elm_list_item_selected_set(it, EINA_TRUE);
+num++;
  }
+   elm_list_go(inst-list);
elm_box_pack_end(list, inst-list);
 
-   inst-slider = _popup_add_slider();
-   elm_box_pack_end(list, inst-slider);
-   evas_object_show(inst-slider);
-
-   inst-mute = (int) mixer_context-sink_default-mute;
+   for (volume = 0, i = 0; i  channels; i++)
+ volume += mixer_context-sink_default-volume.volumes[i];
+   if (channels) volume = volume / channels;
+
+   bx = elm_box_add(e_comp-elm);
+   elm_box_horizontal_set(bx, EINA_TRUE);
+   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0.0);
+   elm_box_pack_end(list, bx);
+   evas_object_show(bx);
+
+   slider = elm_slider_add(e_comp-elm);
+   inst-slider = slider;
+   elm_slider_span_size_set(slider, 128 * elm_config_scale_get());
+   elm_slider_unit_format_set(slider, %1.0f);
+   elm_slider_indicator_format_set(slider, %1.0f);
+   evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0);
+   evas_object_show(slider);
+   elm_slider_min_max_set(slider, 0.0, EMIX_VOLUME_MAX);
+   evas_object_smart_callback_add(slider, changed, _slider_changed_cb, NULL);
+   elm_slider_value_set(slider, volume);
+   elm_box_pack_end(bx, slider);
+   evas_object_show(slider);
 
+   inst-mute = mixer_context-sink_default-mute;
inst-check = elm_check_add(e_comp-elm);
+   evas_object_size_hint_align_set(inst-check, 0.5, EVAS_HINT_FILL);
elm_object_text_set(inst-check, _(Mute));
elm_check_state_pointer_set(inst-check, (inst-mute));
evas_object_smart_callback_add(inst-check, changed, _check_changed_cb,
   NULL);
-   elm_box_pack_end(list, inst-check);
+   elm_box_pack_end(bx, inst-check);
evas_object_show(inst-check);
 
-   icon = elm_icon_add(e_comp-elm);
-   elm_icon_standard_set(icon, preferences-system);
-
button = elm_button_add(e_comp-elm);
evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, 0.0);
-   elm_object_part_content_set(button, icon, icon);
+   elm_object_text_set(button, _(Mixer));
evas_object_smart_callback_add(button, clicked, _emixer_exec_cb, inst);
elm_box_pack_end(list, button);
evas_object_show(button);

-- 




[EGIT] [core/efl] master 01/06: evas/evas_op_sub_main: Remove superfluous if branch.

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

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

commit 85e5e9da5be9846c5f1b1d62ca8246abffeebe38
Author: Stefan Schmidt ste...@osg.samsung.com
Date:   Tue Jun 9 09:56:18 2015 +0200

evas/evas_op_sub_main: Remove superfluous if branch.

We do the same in both branches: return func.

CID: 1267476, 1267477, 1267479, 1267489
---
 src/lib/evas/common/evas_op_sub_main_.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/src/lib/evas/common/evas_op_sub_main_.c 
b/src/lib/evas/common/evas_op_sub_main_.c
index cd26e91..c6cbe07 100644
--- a/src/lib/evas/common/evas_op_sub_main_.c
+++ b/src/lib/evas/common/evas_op_sub_main_.c
@@ -137,7 +137,6 @@ sub_gfx_span_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_sub_span_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -230,7 +229,6 @@ sub_gfx_pt_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_sub_pt_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -361,7 +359,6 @@ sub_rel_gfx_span_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_sub_rel_span_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -454,7 +451,6 @@ sub_rel_gfx_pt_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_sub_rel_pt_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 

-- 




[EGIT] [core/efl] master 02/06: evas/evas_op_blend_main: Remove superfluous if branch.

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

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

commit c4dd19c2dfb0a3f44e3a59b651c30523341c68eb
Author: Stefan Schmidt ste...@osg.samsung.com
Date:   Tue Jun 9 10:02:59 2015 +0200

evas/evas_op_blend_main: Remove superfluous if branch.

We do the same in both branches: return func.

CID: 1267469, 1267470, 1267473, 1267474
---
 src/lib/evas/common/evas_op_blend_main_.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend_main_.c 
b/src/lib/evas/common/evas_op_blend_main_.c
index 33f7a7a..035f401 100644
--- a/src/lib/evas/common/evas_op_blend_main_.c
+++ b/src/lib/evas/common/evas_op_blend_main_.c
@@ -185,7 +185,6 @@ blend_gfx_span_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_blend_span_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -307,7 +306,6 @@ blend_gfx_pt_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_blend_pt_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -470,7 +468,6 @@ blend_rel_gfx_span_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_blend_rel_span_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -587,7 +584,6 @@ blend_rel_gfx_pt_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_blend_rel_pt_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 

-- 




[EGIT] [core/efl] master 04/06: evas/evas_op_mask_main: Remove superfluous if branch.

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

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

commit 9df111d7661b7406e89780164900385b9ca77a62
Author: Stefan Schmidt ste...@osg.samsung.com
Date:   Tue Jun 9 10:10:35 2015 +0200

evas/evas_op_mask_main: Remove superfluous if branch.

We do the same in both branches: return func.

CID: 1267481, 1267485
---
 src/lib/evas/common/evas_op_mask_main_.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/lib/evas/common/evas_op_mask_main_.c 
b/src/lib/evas/common/evas_op_mask_main_.c
index 0304d72..cf5c131 100644
--- a/src/lib/evas/common/evas_op_mask_main_.c
+++ b/src/lib/evas/common/evas_op_mask_main_.c
@@ -104,7 +104,6 @@ mask_gfx_span_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_mask_span_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -201,7 +200,6 @@ mask_gfx_pt_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_mask_pt_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 

-- 




[EGIT] [core/efl] master 01/02: evas render2 work - begin to make rectangles deal with render 2 basic infra

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

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

commit 25983dceddeda7d07220e97e227cd4c814707039
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue Jun 2 20:39:57 2015 +0900

evas render2 work - begin to make rectangles deal with render 2 basic
infra
---
 src/lib/evas/canvas/evas_canvas.eo |  16 ++
 src/lib/evas/canvas/evas_object_rectangle.c|  79 +-
 src/lib/evas/canvas/evas_object_smart.c|   2 -
 src/lib/evas/canvas/evas_render.c  |  11 +
 src/lib/evas/canvas/render2/evas_render2.c |  80 ---
 src/lib/evas/canvas/render2/evas_render2.h |   3 +-
 src/lib/evas/canvas/render2/evas_render2_th_main.c | 265 +
 src/lib/evas/include/evas_private.h|   9 +
 src/modules/ecore_evas/engines/x/ecore_evas_x.c|  43 +++-
 9 files changed, 462 insertions(+), 46 deletions(-)

diff --git a/src/lib/evas/canvas/evas_canvas.eo 
b/src/lib/evas/canvas/evas_canvas.eo
index d6dc105..79462c7 100644
--- a/src/lib/evas/canvas/evas_canvas.eo
+++ b/src/lib/evas/canvas/evas_canvas.eo
@@ -892,6 +892,22 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface)
 
  return: bool;
   }
+  render2_updates {
+ /*@
+ Render the given Evas canvas using the new rendering infra.
+
+ This is experimental and will change over time until noted here.
+
+ @return A newly allocated list of updated rectangles of thecanvas
+ (@c Eina.Rectangle structs). Free this list with
+ evas_render_updates_free().
+
+ @ingroup Evas_Canvas
+ @since 1.15 */
+
+ return: free(own(listEina.Rectangle * *), evas_render_updates_free)
+@warn_unused;
+  }
   focus_out {
  /*@
  Inform to the evas that it lost the focus.
diff --git a/src/lib/evas/canvas/evas_object_rectangle.c 
b/src/lib/evas/canvas/evas_object_rectangle.c
index cdee4ad..8f603e6 100644
--- a/src/lib/evas/canvas/evas_object_rectangle.c
+++ b/src/lib/evas/canvas/evas_object_rectangle.c
@@ -41,6 +41,13 @@ static int evas_object_rectangle_was_opaque(Evas_Object 
*eo_obj,
Evas_Object_Protected_Data *obj,
void *type_private_data);
 
+static void evas_object_rectangle_render2_walk(Evas_Object *eo_obj,
+   Evas_Object_Protected_Data *obj,
+   void *type_private_data,
+   void *updates,
+   int offx,
+   int offy);
+
 #if 0 /* usless calls for a rect object. much more useful for images etc. */
 static void evas_object_rectangle_store(Evas_Object *eo_obj);
 static void evas_object_rectangle_unstore(Evas_Object *eo_obj);
@@ -73,7 +80,8 @@ static const Evas_Object_Func object_func =
  NULL,
  NULL,
  NULL,
- NULL
+ NULL,
+ evas_object_rectangle_render2_walk
 };
 
 /* the actual api call to add a rect */
@@ -117,6 +125,75 @@ evas_object_rectangle_init(Evas_Object *eo_obj)
 }
 
 static void
+evas_object_rectangle_render2_walk(Evas_Object *eo_obj,
+   Evas_Object_Protected_Data *obj,
+   void *type_private_data EINA_UNUSED,
+   void *updates, int offx, int offy)
+{
+   Eina_Bool visible_is, visible_was;
+   unsigned int col_prev, col_cur;
+
+   if (obj-clip.clipees) return;
+   visible_is = evas_object_is_visible(eo_obj, obj);
+   if (!obj-changed) goto nochange;
+
+   if ((obj-cur-clipper)  (obj-cur-cache.clip.dirty))
+ evas_object_clip_recalc(obj-cur-clipper);
+   visible_was = evas_object_was_visible(eo_obj,obj);
+   // just became visible or invisible
+   if (visible_is != visible_was)
+ {
+printf(   UP1 %p - %i %i %ix%i\n, eo_obj,
+   obj-cur-cache.clip.x, obj-cur-cache.clip.y,
+   obj-cur-cache.clip.w, obj-cur-cache.clip.h);
+evas_common_tilebuf_add_redraw
+  (updates,
+   obj-cur-cache.clip.x - offx, obj-cur-cache.clip.y - offy,
+   obj-cur-cache.clip.w,obj-cur-cache.clip.h);
+return;
+ }
+   // general change (prev and cur clip geom change)
+   col_prev = (obj-prev-color.a  24) | (obj-prev-color.r  16) |
+  (obj-prev-color.g  8)  | (obj-prev-color.b  );
+   col_cur  = (obj-cur-color.a  24)  | (obj-cur-color.r  16) |
+  (obj-cur-color.g  8)   | (obj-cur-color.b  );
+   if ((col_prev != col_cur) ||
+   ((obj-cur-cache.clip.x != obj-prev-cache.clip.x) ||
+(obj-cur-cache.clip.y != obj-prev-cache.clip.y) ||
+(obj-cur-cache.clip.w != obj-prev-cache.clip.w) ||
+(obj-cur-cache.clip.h != 

[EGIT] [core/efl] master 02/02: ecore x - remove warning on unused variable

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

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

commit 38f4201f6d7c62ae43859f16197bc9ef01ee4a09
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue Jun 9 17:28:33 2015 +0900

ecore x - remove warning on unused variable
---
 src/lib/ecore_x/xlib/ecore_x_xi2.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/ecore_x/xlib/ecore_x_xi2.c 
b/src/lib/ecore_x/xlib/ecore_x_xi2.c
index f8fffd5..cd6f5dd 100644
--- a/src/lib/ecore_x/xlib/ecore_x_xi2.c
+++ b/src/lib/ecore_x/xlib/ecore_x_xi2.c
@@ -779,7 +779,6 @@ _ecore_x_input_touch_devices_grab(Ecore_X_Window grab_win, 
Eina_Bool grab)
 if (dev-use == XISlavePointer)
   {
 #ifdef ECORE_XI2_2
- Eina_Inlist *l = _ecore_x_xi2_touch_info_list;
  Ecore_X_Touch_Device_Info *info;
  info = _ecore_x_input_touch_info_get(dev);
 

-- 




[EGIT] [core/efl] master 05/06: evas/evas_op_mul_main: Remove superfluous if branch.

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

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

commit 0da6dbb159430e93a0485985eee257151b4254b8
Author: Stefan Schmidt ste...@osg.samsung.com
Date:   Tue Jun 9 10:13:06 2015 +0200

evas/evas_op_mul_main: Remove superfluous if branch.

We do the same in both branches: return func.

CID: 1267468, 1267471
---
 src/lib/evas/common/evas_op_mul_main_.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/lib/evas/common/evas_op_mul_main_.c 
b/src/lib/evas/common/evas_op_mul_main_.c
index 8d70e2a..512c4ca 100644
--- a/src/lib/evas/common/evas_op_mul_main_.c
+++ b/src/lib/evas/common/evas_op_mul_main_.c
@@ -103,7 +103,6 @@ mul_gfx_span_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_mul_span_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -200,7 +199,6 @@ mul_gfx_pt_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_mul_pt_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 

-- 




[EGIT] [core/efl] master 01/02: eina btlog - util - shut up coverity

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

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

commit f153cad879eaeb986556c12aac0a4d6e2498732c
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue Jun 9 18:58:40 2015 +0900

eina btlog - util - shut up coverity

eina_btlog is a backtrace cleaner that takes a raw bt from eina log
and gives a full readable bt for humans. it's run-and-quit binary like
ls or rm - it does its job and exits, so leaks are really of no
concern here...

CID 1297407
---
 src/bin/eina/eina_btlog.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/eina/eina_btlog.c b/src/bin/eina/eina_btlog.c
index bd8ce93..2f46e1e 100644
--- a/src/bin/eina/eina_btlog.c
+++ b/src/bin/eina/eina_btlog.c
@@ -154,6 +154,7 @@ bt_append(Eina_List *btl, const char *btline)
   }
 btl = eina_list_append(btl, bt);
  }
+   else free(bt);
free(bin);
return btl;
 }

-- 




[EGIT] [core/efl] efl-1.14 01/01: eina semaphore lock - don't wake up because of signals

2015-06-09 Thread Carsten Haitzler
raster pushed a commit to branch efl-1.14.

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

commit 25d4854114297df8021c01a68d8414be7e0c6dc5
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue Jun 9 19:36:59 2015 +0900

eina semaphore lock - don't wake up because of signals

@fix - this fixes eina sephamore lock/wait to not return just because
of a signal sent to the process - try again if the semaphore wait is
interrupted by a signal as opposed to a semaphore wakeup.
---
 src/lib/eina/eina_inline_lock_posix.x | 21 +++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/lib/eina/eina_inline_lock_posix.x 
b/src/lib/eina/eina_inline_lock_posix.x
index 6abbace..b1718a8 100644
--- a/src/lib/eina/eina_inline_lock_posix.x
+++ b/src/lib/eina/eina_inline_lock_posix.x
@@ -784,14 +784,31 @@ eina_semaphore_free(Eina_Semaphore *sem)
 static inline Eina_Bool
 eina_semaphore_lock(Eina_Semaphore *sem)
 {
+   Eina_Bool ok = EINA_FALSE;
+
if (!sem)
  return EINA_FALSE;
 
+   for (;;)
+ {
+if (
 #if defined(EINA_HAVE_OSX_SEMAPHORE)
-   return (sem_wait(sem-sema) == 0) ? EINA_TRUE : EINA_FALSE;
+sem_wait(sem-sema)
 #else
-   return (sem_wait(sem) == 0) ? EINA_TRUE : EINA_FALSE;
+sem_wait(sem)
 #endif
+== 0)
+  {
+ ok = EINA_TRUE;
+ break;
+  }
+else
+  {
+ if (errno != EINTR)
+   break;
+  }
+ }
+   return ok;
 }
 
 static inline Eina_Bool

-- 




[EGIT] [core/efl] master 02/02: eina semaphore lock - don't wake up because of signals

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

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

commit 0e8d1c8485a572b4070e7bacd1b4e7e6ddb1b8f2
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue Jun 9 19:36:59 2015 +0900

eina semaphore lock - don't wake up because of signals

@fix - this fixes eina sephamore lock/wait to not return just because
of a signal sent to the process - try again if the semaphore wait is
interrupted by a signal as opposed to a semaphore wakeup.
---
 src/lib/eina/eina_inline_lock_posix.x | 21 +++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/lib/eina/eina_inline_lock_posix.x 
b/src/lib/eina/eina_inline_lock_posix.x
index 6abbace..b1718a8 100644
--- a/src/lib/eina/eina_inline_lock_posix.x
+++ b/src/lib/eina/eina_inline_lock_posix.x
@@ -784,14 +784,31 @@ eina_semaphore_free(Eina_Semaphore *sem)
 static inline Eina_Bool
 eina_semaphore_lock(Eina_Semaphore *sem)
 {
+   Eina_Bool ok = EINA_FALSE;
+
if (!sem)
  return EINA_FALSE;
 
+   for (;;)
+ {
+if (
 #if defined(EINA_HAVE_OSX_SEMAPHORE)
-   return (sem_wait(sem-sema) == 0) ? EINA_TRUE : EINA_FALSE;
+sem_wait(sem-sema)
 #else
-   return (sem_wait(sem) == 0) ? EINA_TRUE : EINA_FALSE;
+sem_wait(sem)
 #endif
+== 0)
+  {
+ ok = EINA_TRUE;
+ break;
+  }
+else
+  {
+ if (errno != EINTR)
+   break;
+  }
+ }
+   return ok;
 }
 
 static inline Eina_Bool

-- 




[EGIT] [core/elementary] master 01/01: elm list - theme - make compress moder work again

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

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

commit c8b1d151a3eecfcd3eb85110fcd8b0756e17824d
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue Jun 9 16:25:24 2015 +0900

elm list - theme - make compress moder work again

someone.. somewhere along the way.. likely a long time ago.. broke
compress mode. likely the addition of the ellipsis value as an
ellipsis position or something related to that broke compatibility,
as this used to work. be that as it may... finding out just where is
virtually impossible, so fix it the simpler way - add elipsis values
---
 data/themes/edc/elm/list.edc | 18 ++
 src/lib/elm_list.c   |  5 +
 2 files changed, 23 insertions(+)

diff --git a/data/themes/edc/elm/list.edc b/data/themes/edc/elm/list.edc
index aa836d4..0641938 100644
--- a/data/themes/edc/elm/list.edc
+++ b/data/themes/edc/elm/list.edc
@@ -17,34 +17,43 @@
  part { name: elm.text; \
 description { state: default 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: selected 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: disabled 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
  } \
  part { name: label2; \
 description { state: default 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: selected 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: disabled 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
  } \
  part { name: label3; \
 description { state: default 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: selected 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: disabled 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
  } \
   } \
@@ -56,34 +65,43 @@
  part { name: elm.text; \
 description { state: default 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: selected 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: disabled 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
  } \
  part { name: label2; \
 description { state: default 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: selected 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: disabled 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
  } \
  part { name: label3; \
 description { state: default 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: selected 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
 description { state: disabled 0.0; \
text.min: 0 1; \
+   text.ellipsis: 0.0; \
 } \
  } \
  part { name: base; \
diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index 54a8604..e5ba4d4 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -820,6 +820,8 @@ _items_fix(Evas_Object *obj)
 
ELM_LIST_DATA_GET(obj, sd);
 
+   printf(fix\n);
+
style = elm_widget_style_get(obj);
it_plain = sd-h_mode ? h_item : item;
it_odd = sd-h_mode ? h_item_odd : item_odd;
@@ -864,6 +866,7 @@ _items_fix(Evas_Object *obj)
 redo = 1;
  }
 
+   printf(walk items\n);
i = 0;
EINA_LIST_FOREACH(sd-items, l, eo_it)
  {
@@ -883,6 +886,7 @@ _items_fix(Evas_Object *obj)
  vertical : horizontal, style);
  else if (sd-mode == ELM_LIST_COMPRESS)
{
+  printf(fix item to %s\n, it_compress);
   if (it-even)
 elm_widget_theme_object_set
   (obj, VIEW(it), list, it_compress, style);
@@ -2643,6 +2647,7 @@ _elm_list_mode_set(Eo *obj, Elm_List_Data *sd, 
Elm_List_Mode mode)
sd-mode = mode;
 
_elm_list_mode_set_internal(obj);
+   _items_fix(obj);
 }
 
 EOLIAN static Elm_List_Mode

-- 




[EGIT] [core/efl] master 01/02: Evas: Fix shadow warning

2015-06-09 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit fb58613e18c53541c03c956783798fef3ab73dde
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Wed Jun 3 14:57:37 2015 +0900

Evas: Fix shadow warning
---
 src/modules/evas/engines/gl_x11/evas_engine.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c 
b/src/modules/evas/engines/gl_x11/evas_engine.c
index f3dce21..23e0017 100644
--- a/src/modules/evas/engines/gl_x11/evas_engine.c
+++ b/src/modules/evas/engines/gl_x11/evas_engine.c
@@ -933,7 +933,7 @@ evgl_eng_indirect_surface_create(EVGL_Engine *evgl 
EINA_UNUSED, void *data,
int msaa = 0, depth = 0, stencil = 0;
Visual *visual = NULL;
Eina_Bool retried = EINA_FALSE;
-   int val;
+   EGLint val = 0;
 
/* Now we need to iterate over all EGL configurations to check the 
compatible
 * ones and finally check their visual ID. */
@@ -1010,7 +1010,6 @@ try_again:
DBG(Found %d potential configurations, num);
for (i = 0; (i  num)  !found; i++)
  {
-EGLint val = 0;
 VisualID visid = 0;
 XVisualInfo *xvi, vi_in;
 XRenderPictFormat *fmt;

-- 




[EGIT] [tools/enventor] master 01/01: autocomp: fix the resoucre directory path

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

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

commit 2d9f86a30d20c2816c8544a2d72bd5e791c6f083
Author: ChunEon Park her...@hermet.pe.kr
Date:   Tue Jun 9 15:40:30 2015 +0900

autocomp: fix the resoucre directory path

auto_comp data is the library resource rather than application.
use the eina prefix rather then app data path.
---
 src/include/globals.h  | 1 +
 src/lib/auto_comp.c| 4 +++-
 src/lib/enventor_main.c| 8 
 src/lib/enventor_private.h | 3 ++-
 4 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/include/globals.h b/src/include/globals.h
index df92df4..13e023e 100644
--- a/src/include/globals.h
+++ b/src/include/globals.h
@@ -1,2 +1,3 @@
 extern const char *DEFAULT_EDC_FORMAT;
 extern char EDJE_PATH[PATH_MAX];
+extern Eina_Prefix *PREFIX;
diff --git a/src/lib/auto_comp.c b/src/lib/auto_comp.c
index 17f8786..755d0e3 100644
--- a/src/lib/auto_comp.c
+++ b/src/lib/auto_comp.c
@@ -61,7 +61,9 @@ static void
 autocomp_load(autocomp_data *ad)
 {
char buf[PATH_MAX];
-   snprintf(buf, sizeof(buf), %s/autocomp/autocomp.eet, 
elm_app_data_dir_get());
+   snprintf(buf, sizeof(buf), %s/autocomp/autocomp.eet,
+eina_prefix_data_get(PREFIX));
+
if (ad-source_file)
  {
 if (lex_desc)
diff --git a/src/lib/enventor_main.c b/src/lib/enventor_main.c
index e558aeb..9af30f7 100644
--- a/src/lib/enventor_main.c
+++ b/src/lib/enventor_main.c
@@ -7,6 +7,7 @@
 #include enventor_private.h
 
 char EDJE_PATH[PATH_MAX];
+Eina_Prefix *PREFIX = NULL;
 const char SIG_CURSOR_LINE_CHANGED[] = cursor,line,changed;
 const char SIG_CURSOR_GROUP_CHANGED[]= cursor,group,changed;
 const char SIG_LIVE_VIEW_LOADED[] = live_view,loaded;
@@ -23,7 +24,6 @@ const char SIG_FOCUSED[] = focused;
 static int _enventor_init_count = 0;
 static int _enventor_log_dom = -1;
 static Ecore_Event_Handler *_key_down_handler = NULL;
-static Eina_Prefix *pfx = NULL;
 
 static Eina_Bool
 key_down_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void *ev)
@@ -95,12 +95,12 @@ enventor_init(int argc, char **argv)
 _enventor_log_dom = EINA_LOG_DOMAIN_GLOBAL;
  }
 
-   pfx = eina_prefix_new(NULL, enventor_init, ENVENTOR, enventor, NULL,
+   PREFIX = eina_prefix_new(NULL, enventor_init, ENVENTOR, enventor, NULL,
  PACKAGE_BIN_DIR, PACKAGE_LIB_DIR,
  PACKAGE_DATA_DIR, PACKAGE_DATA_DIR);
 
snprintf(EDJE_PATH, sizeof(EDJE_PATH), %s/themes/enventor.edj,
-eina_prefix_data_get(pfx));
+eina_prefix_data_get(PREFIX));
srand(time(NULL));
 
_key_down_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN,
@@ -128,7 +128,7 @@ enventor_shutdown(void)
 eina_log_domain_unregister(_enventor_log_dom);
 _enventor_log_dom = -1;
  }
-   eina_prefix_free(pfx);
+   eina_prefix_free(PREFIX);
 
elm_shutdown();
eio_shutdown();
diff --git a/src/lib/enventor_private.h b/src/lib/enventor_private.h
index 34fa7ac..b072cc1 100644
--- a/src/lib/enventor_private.h
+++ b/src/lib/enventor_private.h
@@ -1,6 +1,8 @@
 #ifndef __ENVENTOR_PRIVATE_H__
 #define __ENVENTOR_PRIVATE_H__
 
+#include common.h
+
 #define QUOT quot;
 #define QUOT_LEN 6
 #define QUOT_UTF8 \
@@ -17,7 +19,6 @@
 #define VIEW_DATA edj_mgr_view_get(NULL)
 #define ATTR_VALUE_MAX_CNT 4
 
-extern char EDJE_PATH[PATH_MAX];
 extern const char SIG_CURSOR_LINE_CHANGED[];
 extern const char SIG_CURSOR_GROUP_CHANGED[];
 extern const char SIG_MAX_LINE_CHANGED[];

-- 




[EGIT] [tools/enventor] master 01/01: Edj viewer: support SPACER part highlighting.

2015-06-09 Thread Mykyta Biliavskyi
hermet pushed a commit to branch master.

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

commit e960a0df12f512b4ff10d3d06198ada31bfb1fed
Author: Mykyta Biliavskyi m.biliavs...@samsung.com
Date:   Tue Jun 9 10:00:39 2015 +

Edj viewer: support SPACER part highlighting.

In edje library SPACER doesnt have Evas_Object,
that represent part on canvas. Calculation position
and size of the SPACER highlight should be corrected.
For correcting geometry of highlight, uses current
state of scroller(that contain layout object)
and layout object.

@fix T2464
---
 src/lib/edj_viewer.c | 60 
 1 file changed, 56 insertions(+), 4 deletions(-)

diff --git a/src/lib/edj_viewer.c b/src/lib/edj_viewer.c
index def547e..b7b739e 100644
--- a/src/lib/edj_viewer.c
+++ b/src/lib/edj_viewer.c
@@ -101,14 +101,52 @@ part_obj_geom_cb(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj,
  }
 
Evas_Coord x, y, w , h;
-   evas_object_geometry_get(obj, x, y, w, h);
-   evas_object_move(part_highlight, x, y);
-   evas_object_resize(part_highlight, w, h);
+   if (edje_edit_part_type_get(vd-layout, vd-part_name) == 
EDJE_PART_TYPE_SPACER)
+ {
+Evas_Coord scroller_x, scroller_y;
+Evas_Coord scroller_region_x, scroller_region_y;
+Evas_Object *scroller_edje = elm_layout_edje_get(vd-scroller);
+// Clipper need, to clip the highlight object for the  part SPACER,
+// because position of the highlight object is calculated here,
+// not in edje. In case, when  the SPACER is placed outside of
+// scroller region view, the highlight should be hided.
+Evas_Object *clipper =
+   (Evas_Object *)edje_object_part_object_get(scroller_edje, 
clipper);
+
+elm_scroller_region_get(vd-scroller, scroller_region_x,
+scroller_region_y, NULL, NULL);
+evas_object_geometry_get(vd-scroller, scroller_x, scroller_y,
+ NULL, NULL);
+evas_object_smart_member_add(part_highlight, vd-scroller);
+edje_object_part_geometry_get(vd-layout, vd-part_name, x, y, w, 
h);
+
+evas_object_move(part_highlight, x + scroller_x - scroller_region_x + 
1,
+ y + scroller_y - scroller_region_y + 1);
+evas_object_resize(part_highlight, w, h);
+evas_object_clip_set(part_highlight, clipper);
+ }
+   else
+ {
+evas_object_geometry_get(obj, x, y, w, h);
+evas_object_move(part_highlight, x, y);
+evas_object_resize(part_highlight, w, h);
+ }
 
vd-part_highlight = part_highlight;
 }
 
 static void
+event_highlight_geom_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED,
+ void *event_info EINA_UNUSED)
+{
+   view_data *vd = (view_data *) data;
+   if (!vd) return;
+
+   if (edje_edit_part_type_get(vd-layout, vd-part_name) == 
EDJE_PART_TYPE_SPACER)
+ part_obj_geom_cb(vd, evas_object_evas_get(vd-layout), vd-part_obj, 
NULL);
+}
+
+static void
 part_obj_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
 
 void *event_info EINA_UNUSED)
@@ -281,6 +319,8 @@ event_layer_set(view_data *vd)
   layout_del_cb, rect);
evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_MOVE,
   rect_mouse_move_cb, vd);
+   evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_WHEEL,
+  event_highlight_geom_cb, vd);
vd-event_rect = rect;
 }
 
@@ -433,7 +473,6 @@ view_part_highlight_set(view_data *vd, const char 
*part_name)
 
Evas_Object *part_obj =
   (Evas_Object *) edje_object_part_object_get(vd-layout, part_name);
-   if (!part_obj) return;
 
//Delete the previous part callbacks
if (vd-part_obj)
@@ -452,6 +491,19 @@ view_part_highlight_set(view_data *vd, const char 
*part_name)
evas_object_event_callback_add(part_obj, EVAS_CALLBACK_DEL, part_obj_del_cb,
   vd);
 
+   evas_object_event_callback_del(vd-layout, EVAS_CALLBACK_RESIZE,
+  event_highlight_geom_cb);
+   evas_object_event_callback_del(vd-layout, EVAS_CALLBACK_MOVE,
+  event_highlight_geom_cb);
+
+   if (!part_obj)
+ {
+evas_object_event_callback_add(vd-layout, EVAS_CALLBACK_RESIZE,
+   event_highlight_geom_cb, vd);
+evas_object_event_callback_add(vd-layout, EVAS_CALLBACK_MOVE,
+   event_highlight_geom_cb, vd);
+ }
+
vd-part_obj = part_obj;
eina_stringshare_replace(vd-part_name, part_name);
part_obj_geom_cb(vd, evas_object_evas_get(vd-layout), part_obj, NULL);

-- 




[EGIT] [core/efl] master 02/02: Edje: Fix indentation after a clean-up commit

2015-06-09 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 0a2362fa69ebde8557f128e5b96a16f8b66a6fb9
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Tue Jun 9 16:04:26 2015 +0900

Edje: Fix indentation after a clean-up commit

@zmike apparently wanted to beat the b0rker in chief,
(see 172a0ccf0cd6) but edje_text.c came out worse than before :)

eo_do() seems to totally mess with editors' auto-formatting in
some cases.
---
 src/lib/edje/edje_text.c | 546 +++
 1 file changed, 273 insertions(+), 273 deletions(-)

diff --git a/src/lib/edje/edje_text.c b/src/lib/edje/edje_text.c
index ec91e8e..b91db6b 100644
--- a/src/lib/edje/edje_text.c
+++ b/src/lib/edje/edje_text.c
@@ -479,285 +479,285 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
if (inlined_font) efl_text_properties_font_source_set(ed-path);
else efl_text_properties_font_source_set(NULL));
 
-   text = _edje_text_fit_x(ed, ep, params, chosen_desc,
-   text, font, size,
-   sw, sh, free_text);
-   }
-   /* when evas ellipsis support was added in efl 1.8 and used to 
replace
-* previous support, SOMEONE, who I shall call cedric, borked 
ellipsis
-* defaults. as a result, edje_cc continued using 0.0 
(left-most) as its default value
-* for ellipsis while evas used -1.0 (no ellipsizing).
-* this was moderately okay for a time because nobody was using 
it or GROUP parts
-* with text in them very frequently, and so nobody noticed 
that the mismatch was breaking
-* sizing in some cases when the edje ellipsis value failed to 
be applied,
-* which occurred any time text.min_x was set; in this case, 
ellipsis would NEVER be
-* correctly applied, and instead the text object would only 
ever get the first
-* ellipsis_set(0), permanently breaking the part.
-* the only way to fix this while preserving previous behavior 
was to bump
-* the edje file minor version and then check it here to ignore 
unset ellipsis
-* values from old file versions.
-* the downside is that this will break old files which have 
text.min_x set to 0...maybe.
-*
-* -zmike
-* 22 April 2014
-*/
-   else if (((ed-file-version = 3)  (ed-file-minor = 6)) ||
-params-type.text.ellipsis)
- evas_object_text_ellipsis_set(ep-object,
-   chosen_desc-text.min_x ? -1 : 
params-type.text.ellipsis);
-
-   eina_stringshare_replace(ep-typedata.text-cache.out_str, 
text);
-   ep-typedata.text-cache.in_w = sw;
-   ep-typedata.text-cache.in_h = sh;
-   ep-typedata.text-cache.in_font = font;
-   ep-typedata.text-cache.out_size = size;
-   ep-typedata.text-cache.align_x = params-type.text.align.x;
-   ep-typedata.text-cache.align_y = params-type.text.align.y;
-   ep-typedata.text-cache.ellipsis = params-type.text.ellipsis;
-   ep-typedata.text-cache.fit_x = chosen_desc-text.fit_x;
-   ep-typedata.text-cache.fit_y = chosen_desc-text.fit_y;
+text = _edje_text_fit_x(ed, ep, params, chosen_desc,
+text, font, size,
+sw, sh, free_text);
+ }
+   /* when evas ellipsis support was added in efl 1.8 and used to replace
+* previous support, SOMEONE, who I shall call cedric, borked ellipsis
+* defaults. as a result, edje_cc continued using 0.0 (left-most) as its 
default value
+* for ellipsis while evas used -1.0 (no ellipsizing).
+* this was moderately okay for a time because nobody was using it or GROUP 
parts
+* with text in them very frequently, and so nobody noticed that the 
mismatch was breaking
+* sizing in some cases when the edje ellipsis value failed to be applied,
+* which occurred any time text.min_x was set; in this case, ellipsis would 
NEVER be
+* correctly applied, and instead the text object would only ever get the 
first
+* ellipsis_set(0), permanently breaking the part.
+* the only way to fix this while preserving previous behavior was to bump
+* the edje file minor version and then check it here to ignore unset 
ellipsis
+* values from old file versions.
+* the downside is that this will break old files which have text.min_x set 
to 0...maybe.
+*
+* -zmike
+* 22 April 2014
+*/
+   else if (((ed-file-version = 3)  (ed-file-minor = 6)) ||
+params-type.text.ellipsis)
+ 

[EGIT] [core/efl] master 01/01: ector: always initialize the array contents even without fetchfunc

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

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

commit 917a2bcab5a0f464b5bea72fe76872106d893e25
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Tue Jun 9 15:11:16 2015 +0100

ector: always initialize the array contents even without fetchfunc

Also use a static array instead of a VLA as we know the size at compile 
time.

Fixes CID 1294210.

@fix
---
 src/lib/ector/software/ector_software_rasterizer.c | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/lib/ector/software/ector_software_rasterizer.c 
b/src/lib/ector/software/ector_software_rasterizer.c
index 2c55565..d98a8dc 100644
--- a/src/lib/ector/software/ector_software_rasterizer.c
+++ b/src/lib/ector/software/ector_software_rasterizer.c
@@ -55,7 +55,7 @@ _blend_color_argb(int count, const SW_FT_Span *spans, void 
*user_data)
  }
 }
 
-int buffer_size = 2048;
+#define BLEND_GRADIENT_BUFFER_SIZE 2048
 
 typedef void (*src_fetch) (unsigned int *buffer, Span_Data *data, int y, int 
x, int length);
 
@@ -68,7 +68,7 @@ _blend_gradient(int count, const SW_FT_Span *spans, void 
*user_data)
 if(data-type == LinearGradient) fetchfunc = fetch_linear_gradient;
 if(data-type == RadialGradient) fetchfunc = fetch_radial_gradient;
 
-unsigned int buffer[buffer_size];
+unsigned int buffer[BLEND_GRADIENT_BUFFER_SIZE];
 
 // move to the offset location
 unsigned int *destbuffer = data-raster_buffer.buffer + 
(data-raster_buffer.width * data-offy + data-offx);
@@ -79,9 +79,11 @@ _blend_gradient(int count, const SW_FT_Span *spans, void 
*user_data)
  int length = spans-len;
  while (length)
{
-  int l = MIN(length, buffer_size);
+  int l = MIN(length, BLEND_GRADIENT_BUFFER_SIZE);
   if (fetchfunc)
 fetchfunc(buffer, data, spans-y, spans-x, l);
+  else
+memset(buffer, 0, sizeof(buffer));
   if (data-mul_col == 0x)
 _ector_comp_func_source_over(target, buffer, l, 
spans-coverage); // TODO use proper composition func
   else

-- 




[EGIT] [tools/edi] master 01/02: tabs: load in the correct order...

2015-06-09 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=4da088b51c4f4d005d67185322a0ff0ce03e7210

commit 4da088b51c4f4d005d67185322a0ff0ce03e7210
Author: Andy Williams a...@andywilliams.me
Date:   Tue Jun 9 22:31:33 2015 +0100

tabs: load in the correct order...

Remove some unneeded duplication at the same time
---
 src/bin/edi_main.c  | 11 +--
 src/bin/mainview/edi_mainview.c | 32 ++--
 2 files changed, 15 insertions(+), 28 deletions(-)

diff --git a/src/bin/edi_main.c b/src/bin/edi_main.c
index 48aae6b..3ce91be 100644
--- a/src/bin/edi_main.c
+++ b/src/bin/edi_main.c
@@ -985,15 +985,22 @@ void
 _edi_open_tabs()
 {
Edi_Project_Config_Tab *tab;
-   Eina_List *list, *next;
+   Eina_List *tabs, *list;
 
-   EINA_LIST_FOREACH_SAFE(_edi_project_config-tabs, list, next, tab)
+   tabs = _edi_project_config-tabs;
+   _edi_project_config-tabs = NULL;
+   EINA_LIST_FOREACH(tabs, list, tab)
  {
 if (tab-windowed)
   edi_mainview_open_window_path(tab-path);
 else
   edi_mainview_open_path(tab-path);
  }
+
+   EINA_LIST_FREE(tabs, tab)
+ {
+free(tab);
+ }
 }
 
 Evas_Object *
diff --git a/src/bin/mainview/edi_mainview.c b/src/bin/mainview/edi_mainview.c
index 6551164..837e255 100644
--- a/src/bin/mainview/edi_mainview.c
+++ b/src/bin/mainview/edi_mainview.c
@@ -196,7 +196,6 @@ _edi_mainview_item_tab_add(Edi_Path_Options *options, const 
char *mime)
 
if (options-line)
  edi_mainview_goto(options-line);
-   _edi_project_config_tab_add(options-path, EINA_FALSE);
 }
 
 static void
@@ -251,7 +250,6 @@ _edi_mainview_item_win_add(Edi_Path_Options *options, const 
char *mime)
 
evas_object_resize(win, 380 * elm_config_scale_get(), 260 * 
elm_config_scale_get());
evas_object_show(win);
-   _edi_project_config_tab_add(options-path, EINA_TRUE);
 }
 
 static void
@@ -378,18 +376,9 @@ void
 edi_mainview_open_path(const char *path)
 {
Edi_Path_Options *options;
-   Edi_Mainview_Item *it;
-
-   it = _get_item_for_path(path);
-   if (it)
- {
-edi_mainview_item_select(it);
-return;
- }
 
options = edi_path_options_create(path);
-
-   eio_file_direct_stat(path, _edi_mainview_tab_stat_done, dummy, options);
+   edi_mainview_open(options);
 }
 
 void
@@ -414,29 +403,18 @@ edi_mainview_open(Edi_Path_Options *options)
  {
 _edi_mainview_item_tab_add(options, NULL);
  }
+
+   _edi_project_config_tab_add(options-path, EINA_FALSE);
 }
 
 void
 edi_mainview_open_window_path(const char *path)
 {
Edi_Path_Options *options;
-   Edi_Mainview_Item *it;
-
-   it = _get_item_for_path(path);
-   if (it)
- {
-edi_mainview_item_select(it);
-elm_naviframe_item_pop(nf);
-elm_object_item_del(elm_toolbar_selected_item_get(tb));
-_edi_mainview_items = eina_list_remove(_edi_mainview_items, it);
-
-eina_stringshare_del(it-path);
-free(it);
- }
 
options = edi_path_options_create(path);
 
-   eio_file_direct_stat(path, _edi_mainview_win_stat_done, dummy, options);
+   edi_mainview_open_window(options);
 }
 
 void
@@ -464,6 +442,8 @@ edi_mainview_open_window(Edi_Path_Options *options)
  {
 _edi_mainview_item_win_add(options, NULL);
  }
+
+   _edi_project_config_tab_add(options-path, EINA_TRUE);
 }
 
 void

-- 




[EGIT] [core/efl] master 01/01: elua lib: sanitize all file paths before writing them

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

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

commit b90c1bf90e67f1838152185dce5a270f3f824f6b
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Tue Jun 9 14:01:25 2015 +0100

elua lib: sanitize all file paths before writing them

This will prevent random nonsense from being written in.

It changes semantics slightly (documented) and also fixes
CID 1267463.

@fix
---
 src/lib/elua/Elua.h   |  8 
 src/lib/elua/elua.c   | 48 ---
 src/tests/elua/elua_lib.c | 26 +++--
 3 files changed, 69 insertions(+), 13 deletions(-)

diff --git a/src/lib/elua/Elua.h b/src/lib/elua/Elua.h
index d960cf5..4c0f9cb 100644
--- a/src/lib/elua/Elua.h
+++ b/src/lib/elua/Elua.h
@@ -187,6 +187,9 @@ EAPI void elua_state_free(Elua_State *es);
  * split the setting into multiple calls. By the time of state use all need
  * to be set.
  *
+ * Also, all the paths will be sanitized before setting by calling
+ * @ref eina_file_path_sanitize on them.
+ *
  * @param[in] es The Elua state.
  * @param[in] core The core path.
  * @param[in] mods The modules path.
@@ -212,6 +215,9 @@ EAPI void elua_state_dirs_set(Elua_State *es, const char 
*core,
  * they will expand to DATADIR/core, DATADIR/modules and DATADIR/apps, where
  * DATADIR is typically something like /usr/share/elua.
  *
+ * Also, all the paths will be sanitized before setting by calling
+ * @ref eina_file_path_sanitize on them.
+ *
  * @param[in] es The Elua state.
  * @param[in] ignore_env If set to EINA_TRUE, this ignores the env vars.
  *
@@ -262,6 +268,8 @@ EAPI Eina_Stringshare *elua_state_prog_name_get(const 
Elua_State *es);
 /**
  * @brief Add another path to look up modules in to the state.
  *
+ * The path will be sanitized using @ref eina_file_path_sanitize.
+ *
  * @param[in] es The Elua state.
  *
  * @ingroup Elua
diff --git a/src/lib/elua/elua.c b/src/lib/elua/elua.c
index a7c86f9..0056cf0 100644
--- a/src/lib/elua/elua.c
+++ b/src/lib/elua/elua.c
@@ -108,10 +108,29 @@ EAPI void
 elua_state_dirs_set(Elua_State *es, const char *core, const char *mods,
 const char *apps)
 {
+   char *spath = NULL;
EINA_SAFETY_ON_NULL_RETURN(es);
-   if (core) es-coredir = eina_stringshare_add(core);
-   if (mods) es-moddir  = eina_stringshare_add(mods);
-   if (apps) es-appsdir = eina_stringshare_add(apps);
+   if (core)
+ {
+eina_stringshare_del(es-coredir);
+spath = eina_file_path_sanitize(core);
+es-coredir = eina_stringshare_add(spath);
+free(spath);
+ }
+   if (mods)
+ {
+eina_stringshare_del(es-moddir);
+spath = eina_file_path_sanitize(mods);
+es-moddir = eina_stringshare_add(spath);
+free(spath);
+ }
+   if (apps)
+ {
+eina_stringshare_del(es-appsdir);
+spath = eina_file_path_sanitize(apps);
+es-appsdir = eina_stringshare_add(spath);
+free(spath);
+ }
 }
 
 EAPI void
@@ -128,7 +147,11 @@ elua_state_dirs_fill(Elua_State *es, Eina_Bool ignore_env)
  snprintf(coredirbuf, sizeof(coredirbuf), %s/core,
   eina_prefix_data_get(_elua_pfx));
   }
-if (coredir) es-coredir = eina_stringshare_add(coredir);
+if (coredir) {
+char *sdir = eina_file_path_sanitize(coredir);
+es-coredir = eina_stringshare_add(sdir);
+free(sdir);
+}
  }
if (!(moddir = es-moddir))
  {
@@ -138,7 +161,11 @@ elua_state_dirs_fill(Elua_State *es, Eina_Bool ignore_env)
  snprintf(moddirbuf, sizeof(moddirbuf), %s/modules,
   eina_prefix_data_get(_elua_pfx));
   }
-if (moddir) es-moddir = eina_stringshare_add(moddir);
+if (moddir) {
+char *sdir = eina_file_path_sanitize(moddir);
+es-moddir = eina_stringshare_add(sdir);
+free(sdir);
+}
  }
if (!(appsdir = es-appsdir))
  {
@@ -148,7 +175,11 @@ elua_state_dirs_fill(Elua_State *es, Eina_Bool ignore_env)
  snprintf(appsdirbuf, sizeof(appsdirbuf), %s/apps,
   eina_prefix_data_get(_elua_pfx));
   }
-if (appsdir) es-appsdir = eina_stringshare_add(appsdir);
+if (appsdir) {
+char *sdir = eina_file_path_sanitize(appsdir);
+es-appsdir = eina_stringshare_add(sdir);
+free(sdir);
+}
  }
 }
 
@@ -183,10 +214,13 @@ elua_state_prog_name_get(const Elua_State *es)
 EAPI void
 elua_state_include_path_add(Elua_State *es, const char *path)
 {
+   char *spath = NULL;
EINA_SAFETY_ON_NULL_RETURN(es);
EINA_SAFETY_ON_NULL_RETURN(path);
EINA_SAFETY_ON_FALSE_RETURN(path[0]);
-   es-lincs = eina_list_append(es-lincs, eina_stringshare_add(path));
+   spath = eina_file_path_sanitize(path);
+   es-lincs = eina_list_append(es-lincs, 

[EGIT] [core/efl] master 01/01: eolian: pass rbuf to doc_error

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

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

commit 6692319c7873e0fbb797f01bc2ca41c2d12824b4
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Tue Jun 9 13:43:36 2015 +0100

eolian: pass rbuf to doc_error

This allows us to correctly free the buffer in error scenarios.

Fixes CID 1304728.

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

diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c
index 3ed337a..34034f4 100644
--- a/src/lib/eolian/eo_lexer.c
+++ b/src/lib/eolian/eo_lexer.c
@@ -326,7 +326,7 @@ read_doc(Eo_Lexer *ls, Eo_Token *tok, int line, int column)
  {
 if (!ls-current)
   {
- doc_error(ls, unfinished documentation, doc, NULL);
+ doc_error(ls, unfinished documentation, doc, rbuf);
  return; /* unreachable, for static analysis */
   }
 

-- 




[EGIT] [tools/exactness] master 01/01: Prevent deletion of shots having same prefix as test name

2015-06-09 Thread kabeer khan
tasn pushed a commit to branch master.

http://git.enlightenment.org/tools/exactness.git/commit/?id=bb051fce2b6bb50825aac77069f6165ebb177823

commit bb051fce2b6bb50825aac77069f6165ebb177823
Author: kabeer khan kabeer.k...@samsung.com
Date:   Tue Jun 9 13:52:53 2015 +0100

Prevent deletion of shots having same prefix as test name

Summary: Signed-off-by: kabeer khan kabeer.k...@samsung.com

Reviewers: tasn

Differential Revision: https://phab.enlightenment.org/D2629
---
 src/bin/Makefile.am |  1 +
 src/bin/run_test.c  | 13 ++---
 src/lib/Makefile.am |  1 +
 src/lib/exactness_private.h |  7 +++
 src/lib/tsuite_evas_hook.c  |  5 +++--
 5 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 6ca8e10..079a7f1 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -14,5 +14,6 @@ exactness_LDADD = \
 
 exactness_CFLAGS = \
 @EFL_CFLAGS@ \
+-I$(top_srcdir)/src/lib \
 -DPACKAGE_LIBDIR=\$(libdir)\ \
 -DPACKAGE_DATADIR=\$(datadir)\
diff --git a/src/bin/run_test.c b/src/bin/run_test.c
index 3b4ee47..7d6dc35 100644
--- a/src/bin/run_test.c
+++ b/src/bin/run_test.c
@@ -7,6 +7,7 @@
 #include run_test.h
 #include list_file.h
 #include exactness_config.h
+#include exactness_private.h
 
 #define LIBEXACTNESS_PATH PACKAGE_LIBDIR /exactness/libexactness.so
 
@@ -117,12 +118,18 @@ _is_equal(const char *filename1, const char *filename2)
return !memcmp(res1, res2, _DIGEST_SIZE);
 }
 
+static Eina_Bool
+_check_prefix(const char *prefix, const char *name)
+{
+   unsigned int len = strlen(prefix);
+   return (!strncmp(name, prefix, len)  (strlen(name)  len)  (name[len] 
== SHOT_DELIMITER));
+}
+
 static void
 _compare_list_cb(const char *name, const char *path EINA_UNUSED, void *data)
 {
const char *prefix = data;
-   unsigned int len = strlen(prefix);
-   if (!strncmp(name, prefix, len)  (strlen(name)  len)  (name[len] == 
'+'))
+   if (_check_prefix(prefix, name))
  {
 char filename1[EXACTNESS_PATH_MAX], filename2[EXACTNESS_PATH_MAX];
 snprintf(filename1, EXACTNESS_PATH_MAX, %s/%s/%s, 
exactness_config.dest_dir, CURRENT_SUBDIR, name);
@@ -160,7 +167,7 @@ static void
 _prefix_rm_cb(const char *name, const char *path, void *data)
 {
const char *prefix = data;
-   if (!strncmp(name, prefix, strlen(prefix)))
+   if (_check_prefix(prefix, name))
  {
 char buf[EXACTNESS_PATH_MAX];
 snprintf(buf, EXACTNESS_PATH_MAX, %s/%s, path, name);
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index bc336c7..b983abf 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -9,6 +9,7 @@ AM_CPPFLAGS = \
 
 EXTRA_DIST = \
 tsuite_file_data.h
+exactness_private.h
 
 pkgdir = $(libdir)/exactness
 pkg_LTLIBRARIES = libexactness.la
diff --git a/src/lib/exactness_private.h b/src/lib/exactness_private.h
new file mode 100644
index 000..0f52328
--- /dev/null
+++ b/src/lib/exactness_private.h
@@ -0,0 +1,7 @@
+#ifndef _EXACTNESS_PRIVATE_H
+#define _EXACTNESS_PRIVATE_H
+
+/* private header */
+
+#define SHOT_DELIMITER '+'
+#endif
diff --git a/src/lib/tsuite_evas_hook.c b/src/lib/tsuite_evas_hook.c
index 025186c..d133584 100644
--- a/src/lib/tsuite_evas_hook.c
+++ b/src/lib/tsuite_evas_hook.c
@@ -10,6 +10,7 @@
 #include sys/types.h
 #include dlfcn.h
 #include tsuite_file_data.h
+#include exactness_private.h
 
 #define TSUITE_MAX_PATH 1024
 #define SHOT_KEY_STR F2
@@ -203,8 +204,8 @@ tsuite_shot_do(char *name, Evas *e)
 if (_hook_setting-dest_dir)
   sprintf(filename, %s/, _hook_setting-dest_dir);
 
-sprintf(filename + dir_name_len, %s+%03d%s, _hook_setting-test_name,
-  ts.serial, IMAGE_FILENAME_EXT);
+sprintf(filename + dir_name_len, %s%c%03d%s, 
_hook_setting-test_name,
+  SHOT_DELIMITER, ts.serial, IMAGE_FILENAME_EXT);
  }
_tsuite_verbosef(Shot taken (%s).\n, filename);
 

-- 




[EGIT] [core/elementary] master 01/01: [layout] support mirrored set for layout which is using elm_layout_file_set()

2015-06-09 Thread Shinwoo Kim
tasn pushed a commit to branch master.

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

commit 0e126b7091edcd9bd905fdbbe5b4f7d04f569586
Author: Shinwoo Kim cinoo@samsung.com
Date:   Tue Jun 9 14:05:58 2015 +0100

[layout] support mirrored set for layout which is using 
elm_layout_file_set()

Summary: mirroed mode does not work, if layout uses elm_layout_file_set().

Test Plan:
the following is test code.
[test.edc]
collections {

   group {
  name: layout/test;

  parts {

 part {
name: bg;
type: RECT;
   description {
   state: default 0.0;
   color: 255 255 0 100;
}
 }

 part {
name: test.rect;
type: RECT;
   description {
   state: default 0.0;
   color: 255 0 0 255;
   rel1.to: bg;
   rel1.relative: 0.2 0.1;
   rel2.to: bg;
   rel2.relative: 0.5 0.2;
}
 }

  } /* parts */
   } /* group */
} /* collections */

[test.c]
//Compile with:
//gcc -g test.c -o test `pkg-config --cflags --libs elementary`

#include Elementary.h
#include Ecore_X.h

static void
_bt_click(void *data, Evas_Object *obj, void *event_info)
{
   Eina_Bool mirrored;
   Evas_Object *layout;

   layout = data;

   mirrored = elm_config_mirrored_get();
   mirrored = !mirrored;
   printf(mirred: %d\n, mirrored);
   elm_config_mirrored_set(mirrored);
}

EAPI_MAIN int
elm_main(int argc, char **argv)
{
   Evas_Object *win, *box, *layout, *bt, *check;
   char buf[PATH_MAX];

   elm_app_info_set(elm_main, elementary, ./test.edj);
   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_add(NULL, Layout, ELM_WIN_BASIC);
   elm_win_autodel_set(win, EINA_TRUE);

   box = elm_box_add(win);
   evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
   elm_win_resize_object_add(win, box);
   evas_object_show(box);

   // Adding layout and filling it with widgets
   layout = elm_layout_add(win);
   evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
   snprintf(buf, sizeof(buf), ./test.edj);
   elm_layout_file_set(layout, buf, layout/test);
   elm_box_pack_end(box, layout);
   evas_object_show(layout);

   bt = elm_button_add(win);
   elm_object_text_set(bt, mirrored);
   evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_smart_callback_add(bt, clicked, _bt_click, layout);
   elm_box_pack_end(box, bt);
   evas_object_show(bt);

   check = elm_check_add(win);
   elm_object_text_set(check, test);
   evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_box_pack_end(box, check);
   evas_object_show(check);

   evas_object_resize(win, 500, 500);
   evas_object_show(win);

   elm_run();
   elm_shutdown();

   return 0;
}
ELM_MAIN()

Reviewers: seoz, raster, tasn, Hermet

Subscribers: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D2142
---
 src/lib/elm_layout.c| 21 +++--
 src/lib/elm_theme.c |  1 -
 src/lib/elm_widget_layout.h |  1 +
 3 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/src/lib/elm_layout.c b/src/lib/elm_layout.c
index 991112b..f49d158 100644
--- a/src/lib/elm_layout.c
+++ b/src/lib/elm_layout.c
@@ -359,13 +359,17 @@ _elm_layout_theme_internal(Eo *obj, Elm_Layout_Smart_Data 
*sd)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
 
/* function already prints error messages, if any */
-   if (!elm_widget_theme_object_set(obj, wd-resize_obj, sd-klass, sd-group,
-elm_widget_style_get(obj)))
- return EINA_FALSE;
+   if (!sd-file_set)
+ {
+ret = elm_widget_theme_object_set
+(obj, wd-resize_obj, sd-klass, sd-group,
+ elm_widget_style_get(obj));
+ }
 
-   ret = _visuals_refresh(obj, sd);
+   if (ret)
+ evas_object_smart_callback_call(obj, SIG_THEME_CHANGED, NULL);
 
-   evas_object_smart_callback_call(obj, SIG_THEME_CHANGED, NULL);
+   ret = _visuals_refresh(obj, sd)  ret;
 
return ret;
 }
@@ -852,7 +856,11 @@ _elm_layout_efl_file_file_set(Eo *obj, 

[EGIT] [tools/exactness-elm-data] master 02/02: Disable gengrid2 testing for now as it fails with gengrid2+012.png for me.

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

http://git.enlightenment.org/tools/exactness-elm-data.git/commit/?id=b954f85bd3665440aac09d25c267cc865349482a

commit b954f85bd3665440aac09d25c267cc865349482a
Author: Stefan Schmidt ste...@osg.samsung.com
Date:   Tue Jun 9 15:54:23 2015 +0200

Disable gengrid2 testing for now as it fails with gengrid2+012.png for me.

gengrid2+012.png is empty (size 0) for orig but is a valid image during my
test run.
---
 default-profile/tests.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/default-profile/tests.txt b/default-profile/tests.txt
index a8780ee..107dca4 100644
--- a/default-profile/tests.txt
+++ b/default-profile/tests.txt
@@ -24,7 +24,7 @@ conformant2 elementary_test --test-win-only conformant 2
 #fileselector_entry elementary_test --test-win-only file selector entry
 focus elementary_test --test-win-only focus
 #gengrid elementary_test --test-win-only gengrid
-gengrid2 elementary_test --test-win-only gengrid 2
+#gengrid2 elementary_test --test-win-only gengrid 2
 #gengrid_group elementary_test --test-win-only gengrid Group
 #genlist elementary_test --test-win-only genlist
 genlist2 elementary_test --test-win-only genlist 2

-- 




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

2015-06-09 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit cd4bb6a84d535e4edcd340be261ac7e61569cf11
Author: Chris Michael cp.mich...@samsung.com
Date:   Tue Jun 9 09:08:47 2015 -0400

evas: Remove unused variables

Summary: These variables are actually unused here, so remove them.

@fix

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/evas/canvas/evas_object_smart.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_smart.c 
b/src/lib/evas/canvas/evas_object_smart.c
index b5ced9e..357e718 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -428,9 +428,8 @@ _evas_object_smart_iterator_new(Eo *eo_obj, Evas_Smart_Data 
*priv)
 }
 
 EOLIAN static Eina_List*
-_evas_object_smart_members_get(Eo *eo_obj, Evas_Smart_Data *o)
+_evas_object_smart_members_get(Eo *eo_obj EINA_UNUSED, Evas_Smart_Data *o)
 {
-   Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, 
EVAS_OBJECT_CLASS);
Eina_List *members = NULL;
Eina_Inlist *member;
 
@@ -443,7 +442,6 @@ _evas_object_smart_members_get(Eo *eo_obj, Evas_Smart_Data 
*o)
 const Eina_Inlist *
 evas_object_smart_members_get_direct(const Evas_Object *eo_obj)
 {
-   Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, 
EVAS_OBJECT_CLASS);
MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ);
return NULL;
MAGIC_CHECK_END();

-- 




[EGIT] [core/enlightenment] master 01/01: wl-desktop-shell: Fix popup menu placement for xdg surfaces

2015-06-09 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit d73b3d1e704c9152a32bafb528e0bd653c69c764
Author: Chris Michael cp.mich...@samsung.com
Date:   Tue Jun 9 09:43:34 2015 -0400

wl-desktop-shell: Fix popup menu placement for xdg surfaces

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/wl_desktop_shell/e_mod_main.c | 15 +++
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/modules/wl_desktop_shell/e_mod_main.c 
b/src/modules/wl_desktop_shell/e_mod_main.c
index 08c911e..022a1bf 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -631,6 +631,7 @@ _e_xdg_shell_surface_configure_send(struct wl_resource 
*resource, uint32_t edges
serial = wl_display_next_serial(e_comp-wl_comp_data-wl.disp);
xdg_surface_send_configure(resource, width, height, states, serial);
  }
+
wl_array_release(states);
 }
 
@@ -714,8 +715,8 @@ _e_xdg_shell_surface_cb_window_menu_show(struct wl_client 
*client EINA_UNUSED, s
 return;
  }
 
- timestamp = ecore_loop_time_get();
- e_int_client_menu_show(ec, x, y, 0, timestamp);
+   timestamp = ecore_loop_time_get();
+   e_int_client_menu_show(ec, x, y, 0, timestamp);
 }
 
 static void
@@ -985,8 +986,14 @@ _e_xdg_shell_surface_configure(struct wl_resource 
*resource, Evas_Coord x, Evas_
 (ec-netwm.type == E_WINDOW_TYPE_POPUP_MENU) ||
 (ec-netwm.type == E_WINDOW_TYPE_DROPDOWN_MENU))
   {
- x = ec-parent-client.x + ec-comp_data-popup.x;
- y = ec-parent-client.y + ec-comp_data-popup.y;
+ x = E_CLAMP(ec-parent-client.x + ec-comp_data-popup.x,
+ ec-parent-client.x,
+ ec-parent-client.x + 
+ ec-parent-client.w - ec-client.w);
+ y = E_CLAMP(ec-parent-client.y + ec-comp_data-popup.y,
+ ec-parent-client.y,
+ ec-parent-client.y + 
+ ec-parent-client.h - ec-client.h);
   }
  }
 

--