[EGIT] [tools/edi] master 02/02: editor: fix a strange crash in calculations

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

http://git.enlightenment.org/tools/edi.git/commit/?id=8d17e2710fec65303b73b9d95b8caed9a9089356

commit 8d17e2710fec65303b73b9d95b8caed9a9089356
Author: Andy Williams 
Date:   Tue Jun 9 22:31:57 2015 +0100

editor: fix a strange crash in calculations

Seems that gutter was not always correct after eo_do
---
 elm_code/src/lib/widget/elm_code_widget.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/elm_code/src/lib/widget/elm_code_widget.c 
b/elm_code/src/lib/widget/elm_code_widget.c
index ac2a058..33f3723 100644
--- a/elm_code/src/lib/widget/elm_code_widget.c
+++ b/elm_code/src/lib/widget/elm_code_widget.c
@@ -214,7 +214,7 @@ _elm_code_widget_fill_gutter(Elm_Code_Widget *widget, 
Evas_Textgrid_Cell *cells,
Elm_Code_Widget_Data *pd;
 
pd = eo_data_scope_get(widget, ELM_CODE_WIDGET_CLASS);
-   eo_do(widget, gutter = elm_obj_code_widget_text_left_gutter_width_get());
+   gutter = elm_code_widget_text_left_gutter_width_get(widget);
 
evas_object_textgrid_size_get(pd->grid, &w, NULL);
 

-- 




[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 
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: 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 
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/exactness-elm-data] master 01/02: Updated exactness elm test orig shots

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

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

commit 59a7e9e38a910f6e4ef860448f74f5c65f87a50f
Author: kabeer khan 
Date:   Tue Jun 9 15:43:18 2015 +0200

Updated exactness elm test orig shots

Summary: Signed-off-by: kabeer khan 

Reviewers: cedric, stefan_schmidt, tasn

Subscribers: stefan

Differential Revision: https://phab.enlightenment.org/D2605
---
 default-profile/orig/focus+001.png | Bin 52481 -> 52149 bytes
 default-profile/orig/focus+002.png | Bin 52481 -> 52149 bytes
 default-profile/orig/focus+003.png | Bin 52481 -> 52149 bytes
 default-profile/orig/focus+004.png | Bin 52481 -> 52149 bytes
 default-profile/orig/focus+005.png | Bin 52481 -> 52149 bytes
 default-profile/orig/focus+006.png | Bin 52481 -> 52149 bytes
 default-profile/orig/focus+007.png | Bin 52481 -> 52149 bytes
 default-profile/orig/focus+008.png | Bin 52481 -> 52149 bytes
 default-profile/orig/focus+009.png | Bin 52481 -> 52149 bytes
 default-profile/orig/focus+010.png | Bin 52481 -> 52149 bytes
 default-profile/orig/focus+011.png | Bin 52481 -> 52149 bytes
 default-profile/orig/focus+012.png | Bin 52783 -> 52149 bytes
 default-profile/orig/focus+013.png | Bin 52783 -> 52149 bytes
 default-profile/orig/focus+014.png | Bin 52783 -> 52149 bytes
 default-profile/orig/focus+015.png | Bin 52783 -> 52149 bytes
 default-profile/orig/focus+016.png | Bin 52783 -> 52149 bytes
 default-profile/orig/focus+017.png | Bin 52783 -> 52149 bytes
 default-profile/orig/gengrid2+001.png  | Bin 12532 -> 13659 bytes
 default-profile/orig/gengrid2+002.png  | Bin 37337 -> 38294 bytes
 default-profile/orig/gengrid2+003.png  | Bin 40025 -> 38294 bytes
 default-profile/orig/gengrid2+004.png  | Bin 80021 -> 77197 bytes
 default-profile/orig/gengrid2+005.png  | Bin 79975 -> 77197 bytes
 default-profile/orig/gengrid2+006.png  | Bin 121447 -> 120289 bytes
 default-profile/orig/gengrid2+007.png  | Bin 159194 -> 120289 bytes
 default-profile/orig/gengrid2+008.png  | Bin 160823 -> 120563 bytes
 default-profile/orig/gengrid2+009.png  | Bin 160823 -> 120563 bytes
 default-profile/orig/gengrid2+010.png  | Bin 190253 -> 157306 bytes
 default-profile/orig/gengrid2+011.png  | Bin 190242 -> 161414 bytes
 default-profile/orig/gengrid2+012.png  | Bin 235078 -> 0 bytes
 default-profile/orig/genlist2+001.png  | Bin 52893 -> 83204 bytes
 default-profile/orig/genlist2+002.png  | Bin 52726 -> 83204 bytes
 default-profile/orig/genlist2+003.png  | Bin 52419 -> 83204 bytes
 default-profile/orig/genlist2+004.png  | Bin 51630 -> 83204 bytes
 default-profile/orig/genlist2+005.png  | Bin 52640 -> 82717 bytes
 default-profile/orig/genlist2+006.png  | Bin 53140 -> 61732 bytes
 default-profile/orig/genlist2+007.png  | Bin 52756 -> 51299 bytes
 default-profile/orig/genlist2+008.png  | Bin 48610 -> 51300 bytes
 default-profile/orig/genlist2+009.png  | Bin 48462 -> 51299 bytes
 default-profile/orig/genlist2+010.png  | Bin 48664 -> 49580 bytes
 default-profile/orig/genlist2+011.png  | Bin 48664 -> 56975 bytes
 default-profile/orig/genlist2+012.png  | Bin 134984 -> 61123 bytes
 default-profile/orig/genlist3+001.png  | Bin 20586 -> 10926 bytes
 default-profile/orig/genlist3+002.png  | Bin 19934 -> 10228 bytes
 default-profile/orig/genlist3+003.png  | Bin 20059 -> 10355 bytes
 default-profile/orig/genlist3+004.png  | Bin 20682 -> 10405 bytes
 default-profile/orig/genlist3+005.png  | Bin 21507 -> 11136 bytes
 default-profile/orig/genlist3+006.png  | Bin 21503 -> 11142 bytes
 default-profile/orig/genlist3+007.png  | Bin 20679 -> 10986 bytes
 default-profile/orig/genlist4+001.png  | Bin 14953 -> 15405 bytes
 default-profile/orig/genlist4+002.png  | Bin 26266 -> 27282 bytes
 default-profile/orig/genlist4+003.png  | Bin 37352 -> 39051 bytes
 default-profile/orig/genlist4+004.png  | Bin 37352 -> 39051 bytes
 default-profile/orig/genlist4+005.png  | Bin 48180 -> 27282 bytes
 default-profile/orig/genlist4+006.png  | Bin 48198 -> 27413 bytes
 default-profile/orig/genlist4+007.png  | Bin 37104 -> 27392 bytes
 default-profile/orig/genlist5+001.png  | Bin 22059 -> 21604 bytes
 default-profile/orig/genlist5+002.png  | Bin 21943 -> 21441 bytes
 default-profile/orig/genlist5+003.png  | Bin 22062 -> 21577 bytes
 default-profile/orig/genlist5+004.png  | Bin 22067 -> 21591 bytes
 default-profile/orig/genlist5+005.png  | Bin 22233 -> 2

[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 
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/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 
Date:   Tue Jun 9 09:43:34 2015 -0400

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

Signed-off-by: Chris Michael 
---
 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);
   }
  }
 

-- 




[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 
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 
---
 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/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 
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 
#include 

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, 
Elm_Layout_Smart_Data *sd

[EGIT] [core/efl] master 01/03: ecore-x: Fix warning of unused variable

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

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

commit 5ffcaf605ef55130fd93127addd4737bdabf9a60
Author: Chris Michael 
Date:   Tue Jun 9 09:00:06 2015 -0400

ecore-x: Fix warning of unused variable

Summary: We only need the 'devid' variable if we have support for XI2_2.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_x/xlib/ecore_x_xi2.c | 4 +++-
 1 file changed, 3 insertions(+), 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 cd6f5dd..fc7daf9 100644
--- a/src/lib/ecore_x/xlib/ecore_x_xi2.c
+++ b/src/lib/ecore_x/xlib/ecore_x_xi2.c
@@ -388,13 +388,13 @@ _ecore_x_input_multi_handler(XEvent *xevent)
 #ifdef ECORE_XI2
if (xevent->type != GenericEvent) return;
XIDeviceEvent *evd = (XIDeviceEvent *)(xevent->xcookie.data);
-   int devid = evd->deviceid;
 
switch (xevent->xcookie.evtype)
  {
 #ifdef ECORE_XI2_2
   case XI_TouchUpdate:
   {
+ int devid = evd->deviceid;
  int i = _ecore_x_input_touch_index_get(devid, evd->detail, 
XI_TouchUpdate);
  if ((i == 0) && (evd->flags & XITouchEmulatingPointer)) return;
  INF("Handling XI_TouchUpdate");
@@ -416,6 +416,7 @@ _ecore_x_input_multi_handler(XEvent *xevent)
 
   case XI_TouchBegin:
   {
+ int devid = evd->deviceid;
  int i = _ecore_x_input_touch_index_get(devid, evd->detail, 
XI_TouchBegin);
  if ((i == 0) && (evd->flags & XITouchEmulatingPointer)) return;
  INF("Handling XI_TouchBegin");
@@ -439,6 +440,7 @@ _ecore_x_input_multi_handler(XEvent *xevent)
 
   case XI_TouchEnd:
   {
+ int devid = evd->deviceid;
  int i = _ecore_x_input_touch_index_get(devid, evd->detail, 
XI_TouchEnd);
  if ((i == 0) && (evd->flags & XITouchEmulatingPointer))
{

-- 




[EGIT] [core/efl] master 03/03: ecore-x: Fix compiler warning of unused variable

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

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

commit 03acea0a8a174d5a25a917d2831fa38335fedcfa
Author: Chris Michael 
Date:   Tue Jun 9 09:03:54 2015 -0400

ecore-x: Fix compiler warning of unused variable

Summary: XIDeviceEvent variable is only used if we have support for XI2_2.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_x/xlib/ecore_x_xi2.c | 4 +++-
 1 file changed, 3 insertions(+), 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 9298bce..cbb709b 100644
--- a/src/lib/ecore_x/xlib/ecore_x_xi2.c
+++ b/src/lib/ecore_x/xlib/ecore_x_xi2.c
@@ -387,13 +387,13 @@ _ecore_x_input_multi_handler(XEvent *xevent)
 {
 #ifdef ECORE_XI2
if (xevent->type != GenericEvent) return;
-   XIDeviceEvent *evd = (XIDeviceEvent *)(xevent->xcookie.data);
 
switch (xevent->xcookie.evtype)
  {
 #ifdef ECORE_XI2_2
   case XI_TouchUpdate:
   {
+ XIDeviceEvent *evd = (XIDeviceEvent *)(xevent->xcookie.data);
  int devid = evd->deviceid;
  int i = _ecore_x_input_touch_index_get(devid, evd->detail, 
XI_TouchUpdate);
  if ((i == 0) && (evd->flags & XITouchEmulatingPointer)) return;
@@ -416,6 +416,7 @@ _ecore_x_input_multi_handler(XEvent *xevent)
 
   case XI_TouchBegin:
   {
+ XIDeviceEvent *evd = (XIDeviceEvent *)(xevent->xcookie.data);
  int devid = evd->deviceid;
  int i = _ecore_x_input_touch_index_get(devid, evd->detail, 
XI_TouchBegin);
  if ((i == 0) && (evd->flags & XITouchEmulatingPointer)) return;
@@ -440,6 +441,7 @@ _ecore_x_input_multi_handler(XEvent *xevent)
 
   case XI_TouchEnd:
   {
+ XIDeviceEvent *evd = (XIDeviceEvent *)(xevent->xcookie.data);
  int devid = evd->deviceid;
  int i = _ecore_x_input_touch_index_get(devid, evd->detail, 
XI_TouchEnd);
  if ((i == 0) && (evd->flags & XITouchEmulatingPointer))

-- 




[EGIT] [core/efl] master 02/03: ecore-x: Fix warning of defined but unused function

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

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

commit 0d28a1154304987a5069393d0cb903aad00b6508
Author: Chris Michael 
Date:   Tue Jun 9 09:02:19 2015 -0400

ecore-x: Fix warning of defined but unused function

Summary: The _ecore_x_input_grabbed_is function is only used if we
have support for XI2_2, so move the defines around a little to fix a
compiler warning.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_x/xlib/ecore_x_xi2.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_x/xlib/ecore_x_xi2.c 
b/src/lib/ecore_x/xlib/ecore_x_xi2.c
index fc7daf9..9298bce 100644
--- a/src/lib/ecore_x/xlib/ecore_x_xi2.c
+++ b/src/lib/ecore_x/xlib/ecore_x_xi2.c
@@ -276,10 +276,10 @@ _ecore_x_input_raw_handler(XEvent *xevent)
 #endif /* ifdef ECORE_XI2 */
 }
 
+#ifdef ECORE_XI2_2
 static Eina_Bool
 _ecore_x_input_grabbed_is(int deviceId)
 {
-#ifdef ECORE_XI2
void *id;
Eina_List *l;
 
@@ -288,10 +288,10 @@ _ecore_x_input_grabbed_is(int deviceId)
 if (deviceId == (intptr_t)id)
   return EINA_TRUE;
  }
-#endif /* ifdef ECORE_XI2 */
 
return EINA_FALSE;
 }
+#endif /* ifdef ECORE_XI2_2 */
 
 void
 _ecore_x_input_mouse_handler(XEvent *xevent)

-- 




[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 
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] [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 
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 

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 
 #include 
 #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/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 
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] [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) 
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] 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) 
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] 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) 
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 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 
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 06/06: evas/evas_op_add_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=9434c0992cbdca54e434a431234e256678b80291

commit 9434c0992cbdca54e434a431234e256678b80291
Author: Stefan Schmidt 
Date:   Tue Jun 9 10:18:02 2015 +0200

evas/evas_op_add_main: Remove superfluous if branch.

We do the same in both branches: return func.

CID: 1267478, 1267480, 1267482, 1267486
---
 src/lib/evas/common/evas_op_add_main_.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/src/lib/evas/common/evas_op_add_main_.c 
b/src/lib/evas/common/evas_op_add_main_.c
index 19bb88e..3a5b649 100644
--- a/src/lib/evas/common/evas_op_add_main_.c
+++ b/src/lib/evas/common/evas_op_add_main_.c
@@ -136,7 +136,6 @@ add_gfx_span_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_add_span_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -229,7 +228,6 @@ add_gfx_pt_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_add_pt_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -360,7 +358,6 @@ add_rel_gfx_span_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_add_rel_span_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -453,7 +450,6 @@ add_rel_gfx_pt_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_add_rel_pt_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 

-- 




[EGIT] [core/efl] master 03/06: evas/evas_op_copy_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=64a60f32a93840b5032b416d8371913e66240981

commit 64a60f32a93840b5032b416d8371913e66240981
Author: Stefan Schmidt 
Date:   Tue Jun 9 10:06:27 2015 +0200

evas/evas_op_copy_main: Remove superfluous if branch.

We do the same in both branches: return func.

CID: 1267483, 1267484, 1267487, 1267488
---
 src/lib/evas/common/evas_op_copy_main_.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/src/lib/evas/common/evas_op_copy_main_.c 
b/src/lib/evas/common/evas_op_copy_main_.c
index 16fc3f1..51428ed 100644
--- a/src/lib/evas/common/evas_op_copy_main_.c
+++ b/src/lib/evas/common/evas_op_copy_main_.c
@@ -173,7 +173,6 @@ copy_gfx_span_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_copy_span_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -278,7 +277,6 @@ copy_gfx_pt_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_copy_pt_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -433,7 +431,6 @@ copy_rel_gfx_span_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_copy_rel_span_funcs[s][m][c][d][cpu];
-   if (func) return func;
return func;
 }
 
@@ -538,7 +535,6 @@ copy_rel_gfx_pt_func_cpu(int s, int m, int c, int d)
 #endif
cpu = CPU_C;
func = op_copy_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 
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 
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/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 
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/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) 
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 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) 
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(list *), 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

[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) 
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/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) 
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 01/03: mixer - dont make list scrollable horizontally for nicer look

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

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

commit 5d7fa51309207273b4d6e4ff7689f4c6dd426fd2
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Jun 9 16:17:07 2015 +0900

mixer - dont make list scrollable horizontally for nicer look
---
 src/modules/mixer/e_mod_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c
index 91cf79e..5361ec7 100644
--- a/src/modules/mixer/e_mod_main.c
+++ b/src/modules/mixer/e_mod_main.c
@@ -416,6 +416,7 @@ _popup_new(Instance *inst)
list = elm_box_add(e_comp->elm);
 
inst->list = elm_list_add(e_comp->elm);
+   elm_list_mode_set(inst->list, ELM_LIST_COMPRESS);
evas_object_size_hint_align_set(inst->list, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(inst->list, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
evas_object_show(inst->list);

-- 




[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) 
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/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) 
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 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) 
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_

[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) 
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);

[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 
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] [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 
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)) ||
+

[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 
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] [tools/enventor] master 01/01: Fix candidate popup positioning is wrong.

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

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

commit 4e4dd4400ca34c89ec6f97f56c5b9c01d3480756
Author: Mykyta Biliavskyi 
Date:   Tue Jun 9 11:24:20 2015 +

Fix candidate popup positioning is wrong.

Ctxpopup will not show, if the size of
editable area is smaller, than ctxpopup wth content.

@fix T2180
---
 src/lib/ctxpopup.c | 26 --
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/src/lib/ctxpopup.c b/src/lib/ctxpopup.c
index a258e36..c94e0fb 100644
--- a/src/lib/ctxpopup.c
+++ b/src/lib/ctxpopup.c
@@ -5,6 +5,8 @@
 #include 
 #include "enventor_private.h"
 
+#define CTXPOPUP_BORDER_SIZE 10
+
 typedef struct ctxpopup_data_s {
Evas_Smart_Cb selected_cb;
Evas_Smart_Cb relay_cb;
@@ -231,6 +233,10 @@ toggle_layout_set(Evas_Object *ctxpopup, attr_value *attr)
Eina_Stringshare *type;
Eina_Array_Iterator itr;
unsigned int i;
+   Evas_Coord layout_w = 0, edit_w = 0;
+
+   Evas_Object *edit = elm_object_parent_widget_get(ctxpopup);
+   evas_object_geometry_get(edit, NULL, NULL, &edit_w, NULL);
 
//Box
Evas_Object *box = elm_box_add(ctxpopup);
@@ -240,7 +246,7 @@ toggle_layout_set(Evas_Object *ctxpopup, attr_value *attr)
evas_object_show(box);
 
//Layout
-   Evas_Object *layout;
+   Evas_Object *layout = NULL;
EINA_ARRAY_ITER_NEXT(attr->strs, i, type, itr)
  {
 layout = toggle_layout_create(box, attr, type,
@@ -250,8 +256,14 @@ toggle_layout_set(Evas_Object *ctxpopup, attr_value *attr)
  }
 
elm_object_content_set(ctxpopup, box);
+
+   Evas_Object *edje = elm_layout_edje_get(layout);
+   edje_object_size_min_calc(edje, &layout_w, NULL);
+
evas_object_smart_callback_add(ctxpopup, "dismissed", toggle_dismiss_cb,
   (void *) attr);
+   if (edit_w <= layout_w + CTXPOPUP_BORDER_SIZE)
+ evas_object_del(ctxpopup);
 }
 
 static Evas_Object *
@@ -357,6 +369,10 @@ slider_layout_set(Evas_Object *ctxpopup, attr_value *attr, 
Eina_Bool integer)
Eina_Stringshare *type;
Eina_Array_Iterator itr;
unsigned int i;
+   Evas_Coord layout_w = 0, edit_w = 0;
+
+   Evas_Object *edit = elm_object_parent_widget_get(ctxpopup);
+   evas_object_geometry_get(edit, NULL, NULL, &edit_w, NULL);
 
//Box
Evas_Object *box = elm_box_add(ctxpopup);
@@ -366,7 +382,7 @@ slider_layout_set(Evas_Object *ctxpopup, attr_value *attr, 
Eina_Bool integer)
evas_object_show(box);
 
//Layout
-   Evas_Object *layout;
+   Evas_Object *layout = NULL;
EINA_ARRAY_ITER_NEXT(attr->strs, i, type, itr)
  {
 layout = slider_layout_create(box, attr, type, attr->val[i], integer);
@@ -377,6 +393,12 @@ slider_layout_set(Evas_Object *ctxpopup, attr_value *attr, 
Eina_Bool integer)
elm_object_content_set(ctxpopup, box);
evas_object_smart_callback_add(ctxpopup, "dismissed", slider_dismiss_cb,
   (void *) attr);
+   Evas_Object *edje = elm_layout_edje_get(layout);
+   edje_object_size_min_calc(edje, &layout_w, NULL);
+
+   if (edit_w <= layout_w + CTXPOPUP_BORDER_SIZE)
+ evas_object_del(ctxpopup);
+
 }
 
 static void

--