[EGIT] [tools/enventor] master 01/01: Fix candidate popup positioning is wrong.
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 --
[EGIT] [tools/enventor] master 01/01: Edj viewer: support SPACER part highlighting.
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] [core/efl] master 02/02: Edje: Fix indentation after a clean-up commit
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] [core/efl] master 01/02: Evas: Fix shadow warning
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/elementary] master 01/01: elm list - theme - make compress moder work again
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/elementary] elementary-1.14 01/02: elm list - theme - make compress moder work again
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: fix list item mode change on elm list
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 02/02: fix list item mode change on elm list
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/enlightenment] master 01/03: mixer - dont make list scrollable horizontally for nicer look
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/enlightenment] master 02/03: e mixer - fix segv on desklock if default sink not set yet
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 03/03: e - mixer - clean up popup a bit with mute next to slider etc.
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/efl] master 01/02: evas render2 work - begin to make rectangles deal with render 2 basic infra
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/efl] master 02/02: ecore x - remove warning on unused variable
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/06: evas/evas_op_sub_main: Remove superfluous if branch.
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 04/06: evas/evas_op_mask_main: Remove superfluous if branch.
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 02/06: evas/evas_op_blend_main: Remove superfluous if branch.
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 06/06: evas/evas_op_add_main: Remove superfluous if branch.
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.
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 05/06: evas/evas_op_mul_main: Remove superfluous if branch.
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] efl-1.14 01/01: eina semaphore lock - don't wake up because of signals
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 02/02: eina semaphore lock - don't wake up because of signals
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] master 01/02: eina btlog - util - shut up coverity
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 01/01: eolian: pass rbuf to doc_error
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] [tools/exactness] master 01/01: Prevent deletion of shots having same prefix as test name
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: elua lib: sanitize all file paths before writing them
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] [core/efl] master 02/03: ecore-x: Fix warning of defined but unused function
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 03/03: ecore-x: Fix compiler warning of unused variable
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 01/03: ecore-x: Fix warning of unused variable
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/elementary] master 01/01: [layout] support mirrored set for layout which is using elm_layout_file_set()
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/01: evas: Remove unused variables
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/enlightenment] master 01/01: wl-desktop-shell: Fix popup menu placement for xdg surfaces
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] [tools/exactness-elm-data] master 02/02: Disable gengrid2 testing for now as it fails with gengrid2+012.png for me.
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] [tools/exactness-elm-data] master 01/02: Updated exactness elm test orig shots
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] [core/efl] master 01/01: ector: always initialize the array contents even without fetchfunc
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/edi] master 01/02: tabs: load in the correct order...
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] [tools/edi] master 02/02: editor: fix a strange crash in calculations
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); --