[EGIT] [core/efl] master 01/01: configure.ac: Print eolian_gen if specified with --with-bin-eolian-gen
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1edf113ec07428f29bd8f56118a333b3a7a1ef17 commit 1edf113ec07428f29bd8f56118a333b3a7a1ef17 Author: Jean-Philippe Andre Date: Fri Mar 21 15:48:54 2014 +0900 configure.ac: Print eolian_gen if specified with --with-bin-eolian-gen --- configure.ac | 4 1 file changed, 4 insertions(+) diff --git a/configure.ac b/configure.ac index 780d6bd..672e1ba 100644 --- a/configure.ac +++ b/configure.ac @@ -4288,6 +4288,10 @@ if test "x${with_binary_edje_cc}" != "x"; then echo " edje_cc...: ${with_binary_edje_cc}" fi +if test "x${with_binary_eolian_gen}" != "x"; then +echo " eolian_gen: ${with_binary_eolian_gen}" +fi + echo " " echo "Installation: make install (as root if needed, with 'su' or 'sudo')" echo " prefix: $prefix" --
[EGIT] [core/efl] master 01/01: oops - remove debug echo
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=19b1f1cd27a063feb20c9d7b08828b74352f5bab commit 19b1f1cd27a063feb20c9d7b08828b74352f5bab Author: Carsten Haitzler (Rasterman) Date: Fri Mar 21 15:49:36 2014 +0900 oops - remove debug echo --- configure.ac | 3 --- 1 file changed, 3 deletions(-) diff --git a/configure.ac b/configure.ac index 731b7c9..780d6bd 100644 --- a/configure.ac +++ b/configure.ac @@ -4520,9 +4520,6 @@ if test "x$prefix" != "x/usr"; then done resolved_dbusservicedir=$path -echo "GGG" -echo "$resolved_dbusservicedir" -echo "GGG" old= path=$USER_SESSION_DIR while test "x$old" != "x$path"; do --
[EGIT] [core/efl] efl-1.9 01/01: Evas filters: fix potential memory leak
jpeg pushed a commit to branch efl-1.9. http://git.enlightenment.org/core/efl.git/commit/?id=409319ec9dbf4b6e0771b4dfdccf64b1d8488359 commit 409319ec9dbf4b6e0771b4dfdccf64b1d8488359 Author: Jean-Philippe Andre Date: Fri Mar 21 15:40:56 2014 +0900 Evas filters: fix potential memory leak Unlikely use case trying to delete a source when there are no sources yet. @fix (master b027e58a96b4d86bf77d3af28c50226a558d2202) --- src/lib/evas/canvas/evas_object_text.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/evas/canvas/evas_object_text.c b/src/lib/evas/canvas/evas_object_text.c index bc11ae8..8a35fdd 100644 --- a/src/lib/evas/canvas/evas_object_text.c +++ b/src/lib/evas/canvas/evas_object_text.c @@ -2801,6 +2801,7 @@ _filter_source_set(Eo *eo_obj, void *_pd, va_list *list) if (!o->cur.filter.sources) { +if (!source) return; o->cur.filter.sources = eina_hash_string_small_new (EINA_FREE_CB(_filter_source_hash_free_cb)); } --
[EGIT] [core/efl] master 04/06: Evas filters: Allow BLUR and GROW with radius 0
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=eee3c1c77389f6ee0dc0bf067c594335eba2d303 commit eee3c1c77389f6ee0dc0bf067c594335eba2d303 Author: Jean-Philippe Andre Date: Fri Mar 21 12:04:35 2014 +0900 Evas filters: Allow BLUR and GROW with radius 0 Fallback to a standard blend instruction instead of failing miserably just because the radius is 0. --- src/lib/evas/filters/evas_filter.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/evas/filters/evas_filter.c b/src/lib/evas/filters/evas_filter.c index 16cc920..0c6c40f 100644 --- a/src/lib/evas/filters/evas_filter.c +++ b/src/lib/evas/filters/evas_filter.c @@ -914,7 +914,11 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx, if (dx < 0) dx = 0; if (dy < 0) dy = 0; - if (!dx && !dy) goto fail; + if (!dx && !dy) + { +DBG("Changing 0px blur into simple blend"); +return evas_filter_command_blend_add(ctx, drawctx, inbuf, outbuf, ox, oy, EVAS_FILTER_FILL_MODE_NONE); + } in = _filter_buffer_get(ctx, inbuf); if (!in) @@ -1213,6 +1217,12 @@ evas_filter_command_grow_add(Evas_Filter_Context *ctx, void *draw_context, EINA_SAFETY_ON_NULL_RETURN_VAL(ctx, -1); + if (!radius) + { +DBG("Changing 0px grow into simple blend"); +return evas_filter_command_blend_add(ctx, draw_context, inbuf, outbuf, 0, 0, EVAS_FILTER_FILL_MODE_NONE); + } + in = _filter_buffer_get(ctx, inbuf); EINA_SAFETY_ON_NULL_RETURN_VAL(in, -1); --
[EGIT] [core/efl] master 01/06: Evas filters: fix blur from rgba to output buffer
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=919b32be205ac41ed8b578f6c7d853763ec82223 commit 919b32be205ac41ed8b578f6c7d853763ec82223 Author: Jean-Philippe Andre Date: Fri Mar 21 12:20:11 2014 +0900 Evas filters: fix blur from rgba to output buffer When blurring an RGBA buffer to the output buffer, we don't need to convert the colorspace... but then we'll just override what was already there. Introduce a 'dirty' flag set to true whenever a command writes to an output buffer. --- src/lib/evas/filters/evas_filter.c | 43 +++--- src/lib/evas/filters/evas_filter_private.h | 1 + 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/lib/evas/filters/evas_filter.c b/src/lib/evas/filters/evas_filter.c index 3389061..16cc920 100644 --- a/src/lib/evas/filters/evas_filter.c +++ b/src/lib/evas/filters/evas_filter.c @@ -892,6 +892,7 @@ evas_filter_command_fill_add(Evas_Filter_Context *ctx, void *draw_context, ENFN->context_clip_get(ENDT, draw_context, &cx, &cy, &cw, &ch); DRAW_CLIP_SET(cx, cy, cw, ch); + buf->dirty = EINA_TRUE; return cmd->id; } @@ -904,7 +905,7 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx, Evas_Filter_Buffer *in = NULL, *out = NULL, *tmp = NULL, *in_dy = NULL; Evas_Filter_Buffer *out_dy = NULL, *out_dx = NULL; Evas_Filter_Buffer *copybuf = NULL, *blur_out = NULL; - Eina_Bool copy_back = EINA_FALSE, convert = EINA_FALSE; + Eina_Bool copy_back = EINA_FALSE, blend = EINA_FALSE; int R, G, B, A; int ret = 0, id; @@ -929,6 +930,8 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx, goto fail; } + blend = (out->dirty && !out->transient); + switch (type) { case EVAS_FILTER_BLUR_GAUSSIAN: @@ -1008,12 +1011,12 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx, ERR("Output and input don't have the same format"); goto fail; } - else if (in->alpha_only && !out->alpha_only) + else if (blend || (in->alpha_only && !out->alpha_only)) { -DBG("Adding extra blending step (Alpha --> RGBA)"); -blur_out = evas_filter_temporary_buffer_get(ctx, 0, 0, EINA_TRUE); +DBG("Adding extra blending step (%s --> RGBA)", in->alpha_only ? "Alpha" : "RGBA"); +blur_out = evas_filter_temporary_buffer_get(ctx, 0, 0, in->alpha_only); if (!blur_out) goto fail; -convert = EINA_TRUE; +blend = EINA_TRUE; } else blur_out = out; @@ -1023,7 +1026,7 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx, tmp = evas_filter_temporary_buffer_get(ctx, 0, 0, in->alpha_only); if (!tmp) goto fail; -if (!convert && (ox || oy)) +if (!blend && (ox || oy)) { copybuf = evas_filter_temporary_buffer_get(ctx, 0, 0, in->alpha_only); if (!copybuf) goto fail; @@ -1127,13 +1130,16 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx, ox = oy = 0; } - if (convert) + if (blend) { -DBG("Add convert %d -> %d", blur_out->id, out->id); +DBG("Add blend %d (%s) -> %d (%s)", +blur_out->id, blur_out->alpha_only ? "Alpha" : "RGBA", +out->id, out->alpha_only ? "Alpha" : "RGBA"); id = evas_filter_command_blend_add(ctx, drawctx, blur_out->id, out->id, ox, oy, EVAS_FILTER_FILL_MODE_NONE); if (id < 0) goto fail; } + out->dirty = EINA_TRUE; _filter_buffer_unlock_all(ctx); return ret; @@ -1192,6 +1198,7 @@ evas_filter_command_blend_add(Evas_Filter_Context *ctx, void *drawctx, DBG("Draw clip: %d,%d,%d,%d", cmd->draw.clip.x, cmd->draw.clip.y, cmd->draw.clip.w, cmd->draw.clip.h); + out->dirty = EINA_TRUE; return cmd->id; } @@ -1202,7 +1209,7 @@ evas_filter_command_grow_add(Evas_Filter_Context *ctx, void *draw_context, int blurcmd, threshcmd, blendcmd, tmin = 0, growbuf; int diam = abs(radius) * 2 + 1; DATA8 curve[256] = {0}; - Evas_Filter_Buffer *tmp = NULL, *in; + Evas_Filter_Buffer *tmp = NULL, *in, *out; EINA_SAFETY_ON_NULL_RETURN_VAL(ctx, -1); @@ -1246,6 +1253,16 @@ evas_filter_command_grow_add(Evas_Filter_Context *ctx, void *draw_context, memset(curve + end, 255, 256 - end); } + out = _filter_buffer_get(ctx, growbuf); + if (!out) return -1; + out->dirty = EINA_TRUE; + if (growbuf != outbuf) + { +out = _filter_buffer_get(ctx, growbuf); +if (!out) return -1; +out->dirty = EINA_TRUE; + } + threshcmd = evas_filter_command_curve_add(ctx, draw_context, growbuf, growbuf, curve, EVAS_FILTER_CHANNEL_ALPHA); if (threshcmd < 0) @@ -1312,6 +1329,7 @@ evas_filter_command_curve_add(Evas_Filter_Context *ctx, cmd->curve.data
[EGIT] [core/efl] master 03/06: Evas filters: Add new instruction padding_set
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=91a471b4dc72cdb621f782b54eba21188989f402 commit 91a471b4dc72cdb621f782b54eba21188989f402 Author: Jean-Philippe Andre Date: Fri Mar 21 11:52:52 2014 +0900 Evas filters: Add new instruction padding_set This will allow forcing a specific value for the filter padding, instead of relying on auto calculation. Two advantages: - Auto calculation can't be perfect, since it will add as much padding as required for the full blur effect - This prepares the path for animations with effects, where the object size does not change over time --- src/lib/evas/filters/evas_filter_parser.c | 127 -- src/lib/evas/include/evas_filter.h| 1 + 2 files changed, 120 insertions(+), 8 deletions(-) diff --git a/src/lib/evas/filters/evas_filter_parser.c b/src/lib/evas/filters/evas_filter_parser.c index ce7e45d..aaa9e7b 100644 --- a/src/lib/evas/filters/evas_filter_parser.c +++ b/src/lib/evas/filters/evas_filter_parser.c @@ -316,7 +316,12 @@ struct _Evas_Filter_Program Eina_Hash /* const char * : Evas_Filter_Proxy_Binding */ *proxies; Eina_Inlist /* Evas_Filter_Instruction */ *instructions; Eina_Inlist /* Buffer */ *buffers; + struct { + int l, r, t, b; + } pad; Eina_Bool valid : 1; + Eina_Bool padding_calc : 1; // Padding has been calculated + Eina_Bool padding_set : 1; // Padding has been forced }; /* Instructions */ @@ -1635,6 +1640,85 @@ _transform_instruction_prepare(Evas_Filter_Instruction *instr) return EINA_TRUE; } +static void +_padding_set_padding_update(Evas_Filter_Program *pgm, +Evas_Filter_Instruction *instr, +int *padl, int *padr, int *padt, int *padb) +{ + int l = 0, r = 0, t = 0, b = 0; + Eina_Bool lset = EINA_FALSE; + Eina_Bool rset = EINA_FALSE; + Eina_Bool tset = EINA_FALSE; + Eina_Bool bset = EINA_FALSE; + + l = _instruction_param_geti(instr, "l", &lset); + r = _instruction_param_geti(instr, "r", &rset); + t = _instruction_param_geti(instr, "t", &tset); + b = _instruction_param_geti(instr, "b", &bset); + + if (!lset && !rset && !bset && !tset) + DBG("padding_set() called without specifying any of l,r,t,b resets to 0"); + + if (l < 0 || r < 0 || t < 0 || b < 0) + { +WRN("invalid padding values in padding_set(%d, %d, %d, %d), resets to 0", l, r, t, b); +l = r = t = b = 0; + } + + if (!rset) r = l; + if (!tset) t = r; + if (!bset) b = t; + + if (padl) *padl = l; + if (padr) *padr = r; + if (padt) *padt = t; + if (padb) *padb = b; + pgm->padding_set = EINA_TRUE; +} + +/** + @page evasfiltersref + + @subsection sec_commands_padding_set Padding_Set + + Forcily set a specific padding for this filter. + + @code +padding_set (l, r = [l], t = [r], b = [t]); + @endcode + + @param lPadding on the left side in pixels. + @param rPadding on the right side in pixels. If unset, defaults to @a l. + @param tPadding on the top in pixels. If unset, defaults to @a r. + @param bPadding on the bottom in pixels. If unset, defaults to @a t. + + All values must be >= 0. When filtering 'filled' images, some values may be too high + and would result in completely hiding the image. + + It is not possible to set only one of those without forcing the others as well. + A common use case will be when changing a blur size during an animation, or + when applying a mask that will hide most of the (blurred) text. + + @since 1.10 + */ + +static Eina_Bool +_padding_set_instruction_prepare(Evas_Filter_Instruction *instr) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(instr, EINA_FALSE); + EINA_SAFETY_ON_NULL_RETURN_VAL(instr->name, EINA_FALSE); + EINA_SAFETY_ON_FALSE_RETURN_VAL(!strcasecmp(instr->name, "padding_set"), EINA_FALSE); + + instr->type = EVAS_FILTER_MODE_PADDING_SET; + instr->pad.update = _padding_set_padding_update; + _instruction_param_seq_add(instr, "l", VT_INT, 0); + _instruction_param_seq_add(instr, "r", VT_INT, 0); + _instruction_param_seq_add(instr, "t", VT_INT, 0); + _instruction_param_seq_add(instr, "b", VT_INT, 0); + + return EINA_TRUE; +} + static Evas_Filter_Instruction * _instruction_create(const char *name) { @@ -1661,6 +1745,8 @@ _instruction_create(const char *name) prepare = _mask_instruction_prepare; else if (!strcasecmp(name, "transform")) prepare = _transform_instruction_prepare; + else if (!strcasecmp(name, "padding_set")) + prepare = _padding_set_instruction_prepare; if (!prepare) { @@ -1825,6 +1911,7 @@ evas_filter_program_parse(Evas_Filter_Program *pgm, const char *str) // Add to the queue pgm->instructions = eina_inlist_append(pgm->instructions, EINA_INLIST_GET(instr)); + pgm->padding_calc = EINA_FALSE; instr = NULL;
[EGIT] [core/efl] master 05/06: Evas filters: Fix Eo documentation of program.set
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fc3472aae517432427bba94e07535af536e77971 commit fc3472aae517432427bba94e07535af536e77971 Author: Jean-Philippe Andre Date: Mon Mar 17 16:53:29 2014 +0900 Evas filters: Fix Eo documentation of program.set The generated header "looked" a bit broken and some bits of doc were dropped during the transition. Not a very big deal. :) --- src/lib/evas/canvas/evas_text.eo | 28 +--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/canvas/evas_text.eo b/src/lib/evas/canvas/evas_text.eo index eb214ed..609138c 100644 --- a/src/lib/evas/canvas/evas_text.eo +++ b/src/lib/evas/canvas/evas_text.eo @@ -297,15 +297,37 @@ class Evas_Text (Evas_Object) } filter_program { set { -/*@ Set an Evas filter program on this Text Object. If the program fails to compile (syntax error, invalid buffer name, etc...), the standard text effects will be applied instead (SHADOW, etc...). switch back to the standard text effects. */ +/*@ Set an Evas filter program on this Text Object. + +If the program fails to compile (syntax error, invalid +buffer name, etc...), the standard text effects will be +applied instead (SHADOW, etc...). switch back to the +standard text effects. + +@since 1.9 +@note EXPERIMENTAL FEATURE. This is an unstable API, +please use only for testing purposes. +@see @ref evasfiltersref "Evas filters reference" +*/ } values { -const char* program; /*@ The program code, as defined by the @ref evasfiltersref */ +const char* program; /*@ The program code, as defined + by the @ref evasfiltersref "Evas filters script language". + Pass NULL to remove the former program and switch back + to the standard text effect */ } } filter_source { set { -/*@ Bind an object to use as a mask or texture with Evas Filters. This will create automatically a new RGBA buffer containing the source object's pixels (as it is rendered). */ +/*@ Bind an object to use as a mask or texture with Evas Filters. + +This will create automatically a new RGBA buffer containing +the source object's pixels (as it is rendered). + +@since 1.9 +@note EXPERIMENTAL FEATURE. This is an unstable API, +please use only for testing purposes. +@see @ref evasfiltersref "Evas filters reference" */ } values { const char* name; /*@ Object name as used in the program code */ --
[EGIT] [core/efl] master 02/06: Evas filters: Fix blur corner cases with small images
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c7616dd73835cd3918e65a4c105745461e6c312d commit c7616dd73835cd3918e65a4c105745461e6c312d Author: Jean-Philippe Andre Date: Thu Mar 20 18:26:04 2014 +0900 Evas filters: Fix blur corner cases with small images If the buffer size is smaller than the blurring kernel, then special precautions must be taken to properly read the source pixels. Also, fix the corner cases near the left & right edges (or top & bottom). --- src/lib/evas/filters/blur/blur_box_alpha_.c | 94 +-- src/lib/evas/filters/blur/blur_box_rgba_.c | 98 - src/lib/evas/filters/evas_filter_blur.c | 8 --- 3 files changed, 102 insertions(+), 98 deletions(-) diff --git a/src/lib/evas/filters/blur/blur_box_alpha_.c b/src/lib/evas/filters/blur/blur_box_alpha_.c index 71ac943..4257a5e 100644 --- a/src/lib/evas/filters/blur/blur_box_alpha_.c +++ b/src/lib/evas/filters/blur/blur_box_alpha_.c @@ -32,6 +32,8 @@ _box_blur_alpha_horiz_step(const DATA8* restrict const srcdata, span1 = alloca(len); span2 = alloca(len); + memset(span1, 0, len); + memset(span2, 0, len); // For each line, apply as many blurs as requested for (int l = 0; l < loops; l++) @@ -50,8 +52,6 @@ _box_blur_alpha_horiz_step(const DATA8* restrict const srcdata, { const int radius = radii[run]; const int left = MIN(radius, len); - const int right = MIN(radius, (len - radius)); - int acc = 0; #if DIV_USING_BITSHIFT const int pow2 = pow2_shifts[run]; @@ -60,44 +60,46 @@ _box_blur_alpha_horiz_step(const DATA8* restrict const srcdata, const int divider = 2 * radius + 1; #endif - const DATA8* restrict sr = src; const DATA8* restrict sl = src; + const DATA8* restrict sr = src; + const DATA8* restrict sre = src + len; + const DATA8* restrict sle = src + len - radius; DATA8* restrict d = dst; + int acc = 0, count = 0; // Read-ahead & accumulate - for (int k = left; k; k--) + for (int x = left; x > 0; x--) { - acc += *sr; - sr += 1; + acc += *sr++; + count++; } // Left edge - for (int k = 0; k < left; k++) + for (int x = left; x > 0; x--) { - acc += *sr; - *d = acc / (k + left + 1); - sr += 1; - d += 1; + if (sr < sre) +{ + acc += *sr++; + count++; +} + + *d++ = acc / count; } // Middle part, normal blur - for (int k = len - (2 * radius); k; k--) + while (sr < sre) { - acc += *sr; - *d = DIVIDE(acc); - acc -= *sl; - sl += 1; - sr += 1; - d += 1; + acc += *sr++; + *d++ = DIVIDE(acc); + acc -= *sl++; } // Right edge - for (int k = right; k; k--) + count = 2 * radius + 1; + while (sl < sle) { - *d = acc / (k + right); - acc -= *sl; - d += 1; - sl += 1; + *d++ = acc / (--count); + acc -= *sl++; } // More runs to go: swap spans @@ -177,8 +179,6 @@ _box_blur_alpha_vert_step(const DATA8* restrict const srcdata, { const int radius = radii[run]; const int left = MIN(radius, len); - const int right = MIN(radius, (len - radius)); - int acc = 0; #if DIV_USING_BITSHIFT const int pow2 = pow2_shifts[run]; @@ -187,44 +187,46 @@ _box_blur_alpha_vert_step(const DATA8* restrict const srcdata, const int divider = 2 * radius + 1; #endif - const DATA8* restrict sr = src; const DATA8* restrict sl = src; + const DATA8* restrict sr = src; + const DATA8* restrict sre = src + len; + const DATA8* restrict sle = src + len - radius; DATA8* restrict d = dst; + int acc = 0, count = 0; // Read-ahead & accumulate - for (int k = left; k; k--) + for (int x = left; x > 0; x--) { - acc += *sr; - sr += 1; + acc += *sr++; + count++; } // Left edge - for (int k = 0; k < left; k++) + f
[EGIT] [core/efl] master 06/06: Evas filters: fix potential memory leak
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b027e58a96b4d86bf77d3af28c50226a558d2202 commit b027e58a96b4d86bf77d3af28c50226a558d2202 Author: Jean-Philippe Andre Date: Mon Mar 17 16:54:48 2014 +0900 Evas filters: fix potential memory leak Unlikely use case trying to delete a source when there are no sources yet. @fix --- src/lib/evas/canvas/evas_object_text.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/evas/canvas/evas_object_text.c b/src/lib/evas/canvas/evas_object_text.c index 169ab3e..1e56bfa 100644 --- a/src/lib/evas/canvas/evas_object_text.c +++ b/src/lib/evas/canvas/evas_object_text.c @@ -2397,6 +2397,7 @@ _evas_text_filter_source_set(Eo *eo_obj, Evas_Text_Data *o, const char *name, Ev if (!o->cur.filter.sources) { +if (!source) return; o->cur.filter.sources = eina_hash_string_small_new (EINA_FREE_CB(_filter_source_hash_free_cb)); } --
[EGIT] [core/elementary] master 01/01: fix scrollbar to be clickable even if vieport is tiny compared to content
raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=9339dbf240fdb4b0fde86cf501edfae3b7893c0a commit 9339dbf240fdb4b0fde86cf501edfae3b7893c0a Author: Carsten Haitzler (Rasterman) Date: Fri Mar 21 12:20:43 2014 +0900 fix scrollbar to be clickable even if vieport is tiny compared to content @fix --- data/themes/edc/elm/scroller.edc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/themes/edc/elm/scroller.edc b/data/themes/edc/elm/scroller.edc index 6f09002..9898161 100644 --- a/data/themes/edc/elm/scroller.edc +++ b/data/themes/edc/elm/scroller.edc @@ -106,7 +106,7 @@ group { name: "elm/scroller/base/default"; dragable.confine: "sb_vbar_base"; description { state: "default" 0.0; fixed: 1 1; -min: 15 1; +min: 15 13; rel1.relative: 0.5 0.5; rel1.to: "sb_vbar_base"; rel2.relative: 0.5 0.5; @@ -284,7 +284,7 @@ group { name: "elm/scroller/base/default"; dragable.confine: "sb_hbar_base"; description { state: "default" 0.0; fixed: 1 1; -min: 1 15; +min: 13 15; rel1.relative: 0.5 0.5; rel1.to: "sb_hbar_base"; rel2.relative: 0.5 0.5; --
[EGIT] [core/elementary] elementary-1.9 01/01: fix scrollbar to be clickable even if vieport is tiny compared to content
raster pushed a commit to branch elementary-1.9. http://git.enlightenment.org/core/elementary.git/commit/?id=ff5aab1d38303e1acecc36c2436ea16ba339a7d7 commit ff5aab1d38303e1acecc36c2436ea16ba339a7d7 Author: Carsten Haitzler (Rasterman) Date: Fri Mar 21 12:20:43 2014 +0900 fix scrollbar to be clickable even if vieport is tiny compared to content @fix --- data/themes/edc/elm/scroller.edc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/themes/edc/elm/scroller.edc b/data/themes/edc/elm/scroller.edc index 6f09002..9898161 100644 --- a/data/themes/edc/elm/scroller.edc +++ b/data/themes/edc/elm/scroller.edc @@ -106,7 +106,7 @@ group { name: "elm/scroller/base/default"; dragable.confine: "sb_vbar_base"; description { state: "default" 0.0; fixed: 1 1; -min: 15 1; +min: 15 13; rel1.relative: 0.5 0.5; rel1.to: "sb_vbar_base"; rel2.relative: 0.5 0.5; @@ -284,7 +284,7 @@ group { name: "elm/scroller/base/default"; dragable.confine: "sb_hbar_base"; description { state: "default" 0.0; fixed: 1 1; -min: 1 15; +min: 13 15; rel1.relative: 0.5 0.5; rel1.to: "sb_hbar_base"; rel2.relative: 0.5 0.5; --
[EGIT] [core/efl] master 01/01: edje_cc now supports program.targets keyword for adding N targets in one line
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c4fc401d87c681ab7e8d0b36ab0aeb7c749c54d3 commit c4fc401d87c681ab7e8d0b36ab0aeb7c749c54d3 Author: Mike Blumenkrantz Date: Thu Mar 20 19:36:00 2014 -0400 edje_cc now supports program.targets keyword for adding N targets in one line @feature --- src/bin/edje/edje_cc_handlers.c | 144 1 file changed, 88 insertions(+), 56 deletions(-) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index ddb765e..4f3a9b3 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -382,6 +382,7 @@ static void st_collections_group_programs_program_in(void); static void st_collections_group_programs_program_action(void); static void st_collections_group_programs_program_transition(void); static void st_collections_group_programs_program_target(void); +static void st_collections_group_programs_program_targets(void); static void st_collections_group_programs_program_after(void); static void st_collections_group_programs_program_api(void); @@ -748,6 +749,7 @@ New_Statement_Handler statement_handlers[] = {"collections.group.parts.part.description.programs.program.action", st_collections_group_programs_program_action}, /* dup */ {"collections.group.parts.part.description.programs.program.transition", st_collections_group_programs_program_transition}, /* dup */ {"collections.group.parts.part.description.programs.program.target", st_collections_group_programs_program_target}, /* dup */ + {"collections.group.parts.part.description.programs.program.targets", st_collections_group_programs_program_targets}, /* dup */ {"collections.group.parts.part.description.programs.program.after", st_collections_group_programs_program_after}, /* dup */ {"collections.group.parts.part.description.programs.program.api", st_collections_group_programs_program_api}, /* dup */ {"collections.group.parts.part.description.program.name", st_collections_group_programs_program_name}, /* dup */ @@ -757,6 +759,7 @@ New_Statement_Handler statement_handlers[] = {"collections.group.parts.part.description.program.action", st_collections_group_programs_program_action}, /* dup */ {"collections.group.parts.part.description.program.transition", st_collections_group_programs_program_transition}, /* dup */ {"collections.group.parts.part.description.program.target", st_collections_group_programs_program_target}, /* dup */ + {"collections.group.parts.part.description.program.targets", st_collections_group_programs_program_targets}, /* dup */ {"collections.group.parts.part.description.program.after", st_collections_group_programs_program_after}, /* dup */ {"collections.group.parts.part.description.program.api", st_collections_group_programs_program_api}, /* dup */ {"collections.group.parts.part.programs.image", st_images_image}, /* dup */ @@ -780,6 +783,7 @@ New_Statement_Handler statement_handlers[] = {"collections.group.parts.part.programs.program.action", st_collections_group_programs_program_action}, /* dup */ {"collections.group.parts.part.programs.program.transition", st_collections_group_programs_program_transition}, /* dup */ {"collections.group.parts.part.programs.program.target", st_collections_group_programs_program_target}, /* dup */ + {"collections.group.parts.part.programs.program.targets", st_collections_group_programs_program_targets}, /* dup */ {"collections.group.parts.part.programs.program.after", st_collections_group_programs_program_after}, /* dup */ {"collections.group.parts.part.programs.program.api", st_collections_group_programs_program_api}, /* dup */ {"collections.group.parts.part.program.name", st_collections_group_programs_program_name}, /* dup */ @@ -789,6 +793,7 @@ New_Statement_Handler statement_handlers[] = {"collections.group.parts.part.program.action", st_collections_group_programs_program_action}, /* dup */ {"collections.group.parts.part.program.transition", st_collections_group_programs_program_transition}, /* dup */ {"collections.group.parts.part.program.target", st_collections_group_programs_program_target}, /* dup */ + {"collections.group.parts.part.program.targets", st_collections_group_programs_program_targets}, /* dup */ {"collections.group.parts.part.program.after", st_collections_group_programs_program_after}, /* dup */ {"collections.group.parts.part.program.api", st_collections_group_programs_program_api}, /* dup */ {"collections.group.parts.programs.image", st_images_image}, /* dup */ @@ -813,6 +818,7 @@ New_Statement_Handler statement_handlers[] = {"collections.group.parts.programs.program.action", st_collections_group_programs_program_action}, /* dup */ {"collections.group.parts.programs.program.transition", st_coll
[EGIT] [core/efl] master 01/01: edje_cc also checks min args correctly for STATE_SET actions
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d025f89b2e50c5afa5b428ac5194bf4184e49516 commit d025f89b2e50c5afa5b428ac5194bf4184e49516 Author: Mike Blumenkrantz Date: Thu Mar 20 19:26:49 2014 -0400 edje_cc also checks min args correctly for STATE_SET actions @fix --- src/bin/edje/edje_cc_handlers.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index c326ce9..ddb765e 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -9465,6 +9465,9 @@ st_collections_group_programs_program_action(void) case EDJE_ACTION_TYPE_SOUND_SAMPLE: case EDJE_ACTION_TYPE_VIBRATION_SAMPLE: break; + case EDJE_ACTION_TYPE_STATE_SET: +check_min_arg_count(2); +break; default: check_arg_count(3); } --
[EGIT] [core/efl] efl-1.9 01/01: edje_cc also checks min args correctly for STATE_SET actions
discomfitor pushed a commit to branch efl-1.9. http://git.enlightenment.org/core/efl.git/commit/?id=088c16fab129ae3135ba5260192bdaeb58253eb7 commit 088c16fab129ae3135ba5260192bdaeb58253eb7 Author: Mike Blumenkrantz Date: Thu Mar 20 19:26:49 2014 -0400 edje_cc also checks min args correctly for STATE_SET actions @fix --- src/bin/edje/edje_cc_handlers.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index 18a7463..4c6af4b 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -9311,6 +9311,9 @@ st_collections_group_programs_program_action(void) break; case EDJE_ACTION_TYPE_SOUND_SAMPLE: break; + case EDJE_ACTION_TYPE_STATE_SET: +check_min_arg_count(2); +break; default: check_arg_count(3); } --
[EGIT] [core/efl] efl-1.9 01/01: edje_cc now correctly handles lack of state int in STATE_SET action
discomfitor pushed a commit to branch efl-1.9. http://git.enlightenment.org/core/efl.git/commit/?id=b35d1af4d72527c6f2803484bdd49979fb7bb48f commit b35d1af4d72527c6f2803484bdd49979fb7bb48f Author: Mike Blumenkrantz Date: Thu Mar 20 19:19:50 2014 -0400 edje_cc now correctly handles lack of state int in STATE_SET action @fix --- src/bin/edje/edje_cc_handlers.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index 3d7a43f..18a7463 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -9171,7 +9171,7 @@ st_collections_group_programs_program_action(void) if (ep->action == EDJE_ACTION_TYPE_STATE_SET) { ep->state = parse_str(1); - if (get_arg_count() == 1) + if (get_arg_count() == 2) ep->value = 0.0; else ep->value = parse_float_range(2, 0.0, 1.0); --
[EGIT] [core/efl] master 01/01: edje_cc now correctly handles lack of state int in STATE_SET action
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0f1ccdad095790d619c06ec8da02d829f1817047 commit 0f1ccdad095790d619c06ec8da02d829f1817047 Author: Mike Blumenkrantz Date: Thu Mar 20 19:19:50 2014 -0400 edje_cc now correctly handles lack of state int in STATE_SET action @fix --- src/bin/edje/edje_cc_handlers.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index d6f8ec1..c326ce9 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -9309,7 +9309,7 @@ st_collections_group_programs_program_action(void) if (ep->action == EDJE_ACTION_TYPE_STATE_SET) { ep->state = parse_str(1); - if (get_arg_count() == 1) + if (get_arg_count() == 2) ep->value = 0.0; else ep->value = parse_float_range(2, 0.0, 1.0); --
[EGIT] [apps/terminology] master 01/01: fix elm compatibility for real…
billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=cb909253ebece45717e4909b3afbe66702b2dd8c commit cb909253ebece45717e4909b3afbe66702b2dd8c Author: Boris Faure Date: Thu Mar 20 23:45:18 2014 +0100 fix elm compatibility for real… --- src/bin/app_server.c | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/bin/app_server.c b/src/bin/app_server.c index 3763d9e..911a558 100644 --- a/src/bin/app_server.c +++ b/src/bin/app_server.c @@ -8,10 +8,19 @@ #if (ELM_VERSION_MAJOR > 1) || (ELM_VERSION_MINOR >= 8) -#if (ELM_VERSION_MAJOR == 1) && (ELM_VERSION_MINOR < 10) +#ifndef ELM_APP_SERVER_VIEW_EVENT_CLOSED #define ELM_APP_SERVER_VIEW_EVENT_CLOSEDELM_APP_SERVER_VIEW_EV_CLOSED +#endif + +#ifndef ELM_APP_SERVER_VIEW_EVENT_RESUMED #define ELM_APP_SERVER_VIEW_EVENT_RESUMED ELM_APP_SERVER_VIEW_EV_RESUMED +#endif + +#ifndef ELM_APP_SERVER_VIEW_EVENT_SAVE #define ELM_APP_SERVER_VIEW_EVENT_SAVE ELM_APP_SERVER_VIEW_EV_SAVE +#endif + +#ifndef ELM_APP_SERVER_EVENT_TERMINATE #define ELM_APP_SERVER_EVENT_TERMINATE ELM_APP_SERVER_EV_TERMINATE #endif --
[EGIT] [apps/terminology] master 01/01: fix compatibility with old versions
billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=7e0e687b9f0f93fbe7554454631c8c9a9dc6cc16 commit 7e0e687b9f0f93fbe7554454631c8c9a9dc6cc16 Author: Boris Faure Date: Thu Mar 20 21:46:56 2014 +0100 fix compatibility with old versions --- src/bin/app_server.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/src/bin/app_server.c b/src/bin/app_server.c index d39cdda..3763d9e 100644 --- a/src/bin/app_server.c +++ b/src/bin/app_server.c @@ -8,6 +8,13 @@ #if (ELM_VERSION_MAJOR > 1) || (ELM_VERSION_MINOR >= 8) +#if (ELM_VERSION_MAJOR == 1) && (ELM_VERSION_MINOR < 10) +#define ELM_APP_SERVER_VIEW_EVENT_CLOSEDELM_APP_SERVER_VIEW_EV_CLOSED +#define ELM_APP_SERVER_VIEW_EVENT_RESUMED ELM_APP_SERVER_VIEW_EV_RESUMED +#define ELM_APP_SERVER_VIEW_EVENT_SAVE ELM_APP_SERVER_VIEW_EV_SAVE +#define ELM_APP_SERVER_EVENT_TERMINATE ELM_APP_SERVER_EV_TERMINATE +#endif + static Elm_App_Server *_server = NULL; static Eina_Bool _ignore_term_add = EINA_FALSE; static Terminology_Item *views_eet = NULL; --
[EGIT] [core/efl] efl-1.9 01/01: edje_cc no longer fails on collections.group{}
discomfitor pushed a commit to branch efl-1.9. http://git.enlightenment.org/core/efl.git/commit/?id=1c21b0d5ad7525908695a56b41d22a8f9e298b4e commit 1c21b0d5ad7525908695a56b41d22a8f9e298b4e Author: Mike Blumenkrantz Date: Thu Mar 20 14:58:57 2014 -0400 edje_cc no longer fails on collections.group{} @fix --- src/bin/edje/edje_cc_handlers.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index bdac6d8..3d7a43f 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -2568,6 +2568,8 @@ ob_collections_group(void) current_de = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry)); current_de->id = eina_list_count(edje_collections); + if (!edje_collections_lookup) + ob_collections(); eina_hash_add(edje_collections_lookup, ¤t_de->id, current_de); pc = mem_alloc(SZ(Edje_Part_Collection_Parser)); --
[EGIT] [core/efl] master 01/01: edje_cc no longer fails on collections.group{}
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=edf825fd07dc6a2d3aa6e023ff364c2cc9161def commit edf825fd07dc6a2d3aa6e023ff364c2cc9161def Author: Mike Blumenkrantz Date: Thu Mar 20 14:58:57 2014 -0400 edje_cc no longer fails on collections.group{} @fix --- src/bin/edje/edje_cc_handlers.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index c1cfa5c..d6f8ec1 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -2704,6 +2704,8 @@ ob_collections_group(void) current_de = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry)); current_de->id = eina_list_count(edje_collections); + if (!edje_collections_lookup) + ob_collections(); eina_hash_add(edje_collections_lookup, ¤t_de->id, current_de); pc = mem_alloc(SZ(Edje_Part_Collection_Parser)); --
[EGIT] [core/enlightenment] master 02/02: set wayland display socket based on e_ipc_socket name
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=83475dad7e10120192af80702ee7b7017920812d commit 83475dad7e10120192af80702ee7b7017920812d Author: Mike Blumenkrantz Date: Thu Mar 20 14:06:19 2014 -0400 set wayland display socket based on e_ipc_socket name --- src/bin/e_comp_wl.c | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 63344fa..7a4a7d2 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -236,13 +236,17 @@ EAPI Eina_Bool e_comp_wl_init(void) { int fd = 0; + char buf[PATH_MAX]; /* try to allocate space for a new compositor */ if (!(_e_wl_comp = E_NEW(E_Wayland_Compositor, 1))) return EINA_FALSE; /* try to create a wayland display */ - if (!(_e_wl_comp->wl.display = wl_display_create())) + snprintf(buf, sizeof(buf), "%s/wayland-0", e_ipc_socket); + e_env_set("WAYLAND_DISPLAY", buf); + if ((!(_e_wl_comp->wl.display = wl_display_create())) || + wl_display_add_socket(_e_wl_comp->wl.display, buf)) { ERR("Could not create a Wayland Display: %m"); goto err; @@ -354,13 +358,6 @@ e_comp_wl_init(void) /* TODO: event handlers ?? */ - /* try to add a display socket */ - if (wl_display_add_socket(_e_wl_comp->wl.display, NULL) < 0) - { -ERR("Could not add a Wayland Display socket: %m"); -goto err; - } - wl_event_loop_dispatch(_e_wl_comp->wl.loop, 0); /* add an idler for deferred shell module loading */ @@ -370,6 +367,7 @@ e_comp_wl_init(void) return EINA_TRUE; err: + e_env_set("WAYLAND_DISPLAY", ""); /* remove kbd handler */ if (_e_wl_comp->kbd_handler) ecore_event_handler_del(_e_wl_comp->kbd_handler); --
[EGIT] [core/enlightenment] master 01/02: export e_ipc_socket filename as extern variable
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=2bbab7e525ef0f94bef3b160808195eb8a363e42 commit 2bbab7e525ef0f94bef3b160808195eb8a363e42 Author: Mike Blumenkrantz Date: Thu Mar 20 13:29:02 2014 -0400 export e_ipc_socket filename as extern variable --- src/bin/e_ipc.c | 13 +++-- src/bin/e_ipc.h | 2 ++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/bin/e_ipc.c b/src/bin/e_ipc.c index 9face3d..5af2f69 100644 --- a/src/bin/e_ipc.c +++ b/src/bin/e_ipc.c @@ -1,5 +1,7 @@ #include "e.h" +EINTERN char *e_ipc_socket = NULL; + #ifdef USE_IPC /* local subsystem functions */ static Eina_Bool _e_ipc_cb_client_add(void *data __UNUSED__, int type __UNUSED__, void *event); @@ -14,7 +16,6 @@ static Ecore_Ipc_Server *_e_ipc_server = NULL; EINTERN int e_ipc_init(void) { -#ifdef USE_IPC char buf[4096], buf2[128], buf3[4096]; char *tmp, *user, *disp, *base; int pid, trynum = 0, id1 = 0; @@ -88,15 +89,22 @@ e_ipc_init(void) ((st.st_mode & (S_IFDIR | S_IRWXU | S_IRWXG | S_IRWXO)) == (S_IRWXU | S_IFDIR))) { +#ifdef USE_IPC snprintf(buf3, sizeof(buf3), "%s/%s-%i", buf, disp, pid); _e_ipc_server = ecore_ipc_server_add (ECORE_IPC_LOCAL_SYSTEM, buf3, 0, NULL); - if (_e_ipc_server) break; + if (_e_ipc_server) +#endif + { + e_ipc_socket = strdup(ecore_file_file_get(buf)); + break; + } } retry: id1 = rand(); } +#ifdef USE_IPC if (!_e_ipc_server) { ERR("Gave up after 4096 sockets in '%s'. All failed", base); @@ -128,6 +136,7 @@ e_ipc_shutdown(void) _e_ipc_server = NULL; } #endif + E_FREE(e_ipc_socket); return 1; } diff --git a/src/bin/e_ipc.h b/src/bin/e_ipc.h index ccb9868..e007f8d 100644 --- a/src/bin/e_ipc.h +++ b/src/bin/e_ipc.h @@ -1,5 +1,7 @@ #ifdef E_TYPEDEFS +EINTERN extern char *e_ipc_socket; + #ifdef USE_IPC #define E_IPC_OP_EXEC_ACTION 386 --
[E-devel] *SOLVED!* Re: Transparent background, E18+elm? E18 (Enlightenment 0.18.2, efl 1.8.3, elm 1.8.2)
I figured it out -- it had to do with the layers and the (appearent) difference between the E_LAYER_SET() macro and the evas_object_layer_set() function. This is the working incantation (code): evas_object_move(m->sw_bg_object,m->cur.x,m->cur.y); evas_object_resize(m->sw_bg_object,m->cur.w,m->cur.h); //E_LAYER_SET(m->sw_bg_object,E_COMP_CANVAS_LAYER_MENU); E_LAYER_SET(m->container_object,E_COMP_CANVAS_LAYER_MENU); evas_object_layer_set(m->sw_bg_object,E_COMP_CANVAS_LAYER_MENU-1); short bg_layer = evas_object_layer_get(m->sw_bg_object); short container_layer = evas_object_layer_get(m->container_object); fprintf(stderr,"*** e_start_menu_activate_mouse: bg_layer is %d, container_layer is %d\n",bg_layer,container_layer); evas_object_show(m->sw_bg_object); I need to do an E_LAYER_SET on the *container_object*, which is an elm_table widget, swallowed into sw_bg_object, a Edje object ("e/widgets/menu/default/background"). *Then* I need to use evas_object_layer_set() to set sw_bg_object's layer to be just below the container_object. If I use E_LAYER_SET only on the sw_bg_object, nothing *visible* happens. If I use E_LAYER_SET on both the sw_bg_object and the container_object, I get a transparent background (sw_bg_object is not seen). If I use E_LAYER_SET on only the container_object, I get the proper background, but it is at too low a layer (other windows are above it as shown in http://www.deepsoft.com/home/layersetcontaineronly/). But the 'trick' of using E_LAYER_SET on the container_object and then using evas_object_layer_set with a layer one level down on the sw_bg_object works correctly. I don't know if this is a bug or feature... At Wed, 19 Mar 2014 16:42:13 -0400 Robert Heller wrote: > > At Fri, 14 Mar 2014 12:18:49 +0900 Carsten Haitzler (The Rasterman) > wrote: > > > > > On Thu, 13 Mar 2014 21:37:10 -0400 Robert Heller said: > > > > > 'canvas' is the second argument to e_start_menu_realize_inwindow(), that > > > is > > > the background object. Maybe that is wrong? What is the correct way to > > > get a > > > Evas_Object pointer to use as the 'canvas' for creating elm widgets on? > > > Somehow I need to get from the Evas pointer to the something to create > > > elm > > > widgets on. > > > > any object will do - it gets the canvas from the object. > > > > OK, I *think* I know what is going on. The table widget does not itself have > a backgroud -- it get that from its 'parent', (eg an elm_win widget or > something). The thing here is that the table does not have an *elm* widget > as > a parent. Its 'parent' (such as it is) is a bare Edje Evas_Object. > Basically > I am creating a Edje Evas_Object and setting it up as a menu background: > > /* Create a window, and realize the menu in it. */ > > o = edje_object_add(e_comp_get(m->zone)->evas); > > evas_object_name_set(o, "start_menu->sw_bg_object"); > > evas_object_data_set(o, "e_start_menu", m); > > e_theme_edje_object_set(o, "base/theme/menus", > >"e/widgets/menu/default/background"); > > m->sw_bg_object = o; > > > And then using this as the parent object when I create the table: > > /* Create the menu container, an Elm Table widget. */ > > o = elm_table_add(canvas); /* canvas IS m->sw_bg_object */ > fprintf(stderr,"*** e_start_menu_realize_inwindow(): elm_table_add(%p) > returns %p\n",canvas,o); > m->container_object = o; > > And finally I am using edje_object_part_swallow() to swallow the elm_table > into the background object. I'm guessing this is wrong. I need to do > something different somewhere, but I am unsure what I should be doing. > > There isn't any good documentation on what is the proper way to use elm > widgets with Enlightenment itself. The Enlightenment 'widgets' (and even more > primitive e_ things) leave lots to be desired and are poorly documented > and are effectively depreciated -- eventually Enlightenment will move to use > Elementary (elm) widgets, so there must be a proper way to do this. Or at > least there is a contemplated way of doing this. What is it? > > -- Robert Heller -- 978-544-6933 / hel...@deepsoft.com Deepwoods Software-- http://www.deepsoft.com/ () ascii ribbon campaign -- against html e-mail /\ www.asciiribbon.org -- against proprietary attachments -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the defi
[EGIT] [core/elementary] elementary-1.9 04/05: index: Set variable to NULL after free.
seoz pushed a commit to branch elementary-1.9. http://git.enlightenment.org/core/elementary.git/commit/?id=9e1a8f6f9852fd83192213bd8944c498d7802aaa commit 9e1a8f6f9852fd83192213bd8944c498d7802aaa Author: Daniel Juyung Seo Date: Fri Mar 21 00:55:31 2014 +0900 index: Set variable to NULL after free. Then NULL check for this variable is not valid. This fixes coverity CID 1193250: Use after free (USE_AFTER_FREE). @fix --- src/lib/elm_index.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/elm_index.c b/src/lib/elm_index.c index b3defd6..460cf16 100644 --- a/src/lib/elm_index.c +++ b/src/lib/elm_index.c @@ -658,6 +658,7 @@ _sel_eval(Evas_Object *obj, } } free(last); + last = NULL; if (it->letter) last = strdup(it->letter); } } --
[EGIT] [core/elementary] elementary-1.9 05/05: access: Fixed memory leak.
seoz pushed a commit to branch elementary-1.9. http://git.enlightenment.org/core/elementary.git/commit/?id=cac8291c0c3a8094f9ce8df6b85d7b3936b57ef9 commit cac8291c0c3a8094f9ce8df6b85d7b3936b57ef9 Author: Daniel Juyung Seo Date: Fri Mar 21 02:33:22 2014 +0900 access: Fixed memory leak. This fixes coverity CID 1193244: Resource leak (RESOURCE_LEAK). @fix --- src/lib/elm_access.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/elm_access.c b/src/lib/elm_access.c index 4f315d2..a20238a 100644 --- a/src/lib/elm_access.c +++ b/src/lib/elm_access.c @@ -259,9 +259,8 @@ _access_highlight_read(Elm_Access_Info *ac, Evas_Object *obj) eina_strbuf_append_printf(strbuf, ", %s", txt); else eina_strbuf_append(strbuf, txt); - - free(txt); } + free(txt); } } --
[EGIT] [core/elementary] elementary-1.9 02/05: diskselector: Compare correct variables.
seoz pushed a commit to branch elementary-1.9. http://git.enlightenment.org/core/elementary.git/commit/?id=10f5a7b93ea044d0c6d4514214685f5b7577e841 commit 10f5a7b93ea044d0c6d4514214685f5b7577e841 Author: Daniel Juyung Seo Date: Fri Mar 21 00:46:47 2014 +0900 diskselector: Compare correct variables. It was comparing the same variable. Fixed coverity CID 1193236: Pointless string comparison (CONSTANT_EXPRESSION_RESULT) @fix --- src/lib/elm_diskselector.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elm_diskselector.c b/src/lib/elm_diskselector.c index 8a00fff..dfde8cd 100644 --- a/src/lib/elm_diskselector.c +++ b/src/lib/elm_diskselector.c @@ -63,7 +63,7 @@ _selected_item_indicate(Elm_Diskselector_Item *item) EINA_LIST_FOREACH(sd->r_items, l, it) { -if (it->label && !strcmp(it->label, it->label)) +if (it->label && !strcmp(it->label, item->label)) edje_object_signal_emit(VIEW(it), "elm,state,selected", "elm"); else edje_object_signal_emit(VIEW(it), "elm,state,default", "elm"); --
[EGIT] [core/elementary] elementary-1.9 01/05: list/genlist: Fixed Home and End key event handling routine.
seoz pushed a commit to branch elementary-1.9. http://git.enlightenment.org/core/elementary.git/commit/?id=9c6edc463d944bcb600d81f6168f2e2f0068bb4b commit 9c6edc463d944bcb600d81f6168f2e2f0068bb4b Author: Daniel Juyung Seo Date: Tue Mar 18 19:14:39 2014 +0900 list/genlist: Fixed Home and End key event handling routine. Move selection when Home or End key is pressed. @fix This is a partial port from master. --- src/lib/elm_genlist.c | 24 ++-- src/lib/elm_list.c| 22 ++ 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c index f7414ac..94af9a0 100644 --- a/src/lib/elm_genlist.c +++ b/src/lib/elm_genlist.c @@ -2552,21 +2552,25 @@ _elm_genlist_smart_event(Eo *obj, void *_pd, va_list *list) ((!strcmp(ev->key, "KP_Home")) && (!ev->string))) { it = elm_genlist_first_item_get(obj); -elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_IN); -elm_genlist_item_selected_set(it, EINA_TRUE); -ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; -if (ret) *ret = EINA_TRUE; -return; +if (it) + { + elm_genlist_item_selected_set(it, EINA_TRUE); + ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; + if (ret) *ret = EINA_TRUE; + return; + } } else if ((!strcmp(ev->key, "End")) || ((!strcmp(ev->key, "KP_End")) && (!ev->string))) { it = elm_genlist_last_item_get(obj); -elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_IN); -elm_genlist_item_selected_set(it, EINA_TRUE); -ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; -if (ret) *ret = EINA_TRUE; -return; +if (it) + { + elm_genlist_item_selected_set(it, EINA_TRUE); + ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; + if (ret) *ret = EINA_TRUE; + return; + } } else if ((!strcmp(ev->key, "Prior")) || ((!strcmp(ev->key, "KP_Prior")) && (!ev->string))) diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c index c914978..a6d6a62 100644 --- a/src/lib/elm_list.c +++ b/src/lib/elm_list.c @@ -365,19 +365,25 @@ _elm_list_smart_event(Eo *obj, void *_pd, va_list *list) ((!strcmp(ev->key, "KP_Home")) && !ev->string)) { it = eina_list_data_get(sd->items); -elm_list_item_bring_in((Elm_Object_Item *)it); -ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; -if (ret) *ret = EINA_TRUE; -return; +if (it) + { + elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE); + ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; + if (ret) *ret = EINA_TRUE; + return; + } } else if ((!strcmp(ev->key, "End")) || ((!strcmp(ev->key, "KP_End")) && !ev->string)) { it = eina_list_data_get(eina_list_last(sd->items)); -elm_list_item_bring_in((Elm_Object_Item *)it); -ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; -if (ret) *ret = EINA_TRUE; -return; +if (it) + { + elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE); + ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; + if (ret) *ret = EINA_TRUE; + return; + } } else if ((!strcmp(ev->key, "Prior")) || ((!strcmp(ev->key, "KP_Prior")) && !ev->string)) --
[EGIT] [core/elementary] elementary-1.9 03/05: atspi_object: Added missing comma.
seoz pushed a commit to branch elementary-1.9. http://git.enlightenment.org/core/elementary.git/commit/?id=4f2de6960ec8cc4c01cbc18d10a04e6fc2585f82 commit 4f2de6960ec8cc4c01cbc18d10a04e6fc2585f82 Author: Daniel Juyung Seo Date: Fri Mar 21 00:49:52 2014 +0900 atspi_object: Added missing comma. This fixes coverity CID 1193238: Missing comma in a string array initialization (MISSING_COMMA) @fix --- src/lib/elm_atspi_object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elm_atspi_object.c b/src/lib/elm_atspi_object.c index 790d3d2..39ef32c 100644 --- a/src/lib/elm_atspi_object.c +++ b/src/lib/elm_atspi_object.c @@ -78,7 +78,7 @@ const char* Atspi_Name[] = { "status bar", "table", "table cell", -"table column header" +"table column header", "table row header", "tearoff menu item", "terminal", --
[EGIT] [core/enlightenment] master 01/01: Tiling: start migrating the code to use smart callbacks.
tasn pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=07841a6b5e0521622813aa5dfe7f8305cc89e9e7 commit 07841a6b5e0521622813aa5dfe7f8305cc89e9e7 Author: Tom Hacohen Date: Thu Mar 20 16:10:24 2014 + Tiling: start migrating the code to use smart callbacks. Those are meant to be better than the e hooks. --- src/modules/tiling/e_mod_tiling.c | 153 +- 1 file changed, 69 insertions(+), 84 deletions(-) diff --git a/src/modules/tiling/e_mod_tiling.c b/src/modules/tiling/e_mod_tiling.c index f6d226e..d1d9706 100644 --- a/src/modules/tiling/e_mod_tiling.c +++ b/src/modules/tiling/e_mod_tiling.c @@ -41,7 +41,7 @@ struct tiling_g tiling_g = { .log_domain = -1, }; -static void _add_client(E_Client *ec); +static Eina_Bool _add_client(E_Client *ec); static void _remove_client(E_Client *ec); static void _client_apply_settings(E_Client *ec, Client_Extra *extra); static void _foreach_desk(void (*func)(E_Desk *desk)); @@ -66,9 +66,8 @@ static struct tiling_mod_main_g char edj_path[PATH_MAX]; E_Config_DD *config_edd, *vdesk_edd; Ecore_Event_Handler *handler_client_resize, *handler_client_move, - *handler_client_add, *handler_client_remove, *handler_client_iconify, - *handler_client_uniconify, *handler_client_property, - *handler_client_fullscreen, *handler_client_unfullscreen, + *handler_client_add, *handler_client_iconify, + *handler_client_uniconify, *handler_desk_set, *handler_compositor_resize; E_Client_Hook *handler_client_resize_begin; E_Client_Menu_Hook *client_menu_hook; @@ -510,34 +509,42 @@ _client_apply_settings(E_Client *ec, Client_Extra *extra) } static void +_e_client_check_based_on_state_cb(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + E_Client *ec = data; + _toggle_tiling_based_on_state(ec, EINA_TRUE); +} + +static Eina_Bool _add_client(E_Client *ec) { /* Should I need to check that the client is not already added? */ if (!ec) { -return; +return EINA_FALSE; } if (!is_tilable(ec)) { -return; +return EINA_FALSE; } Client_Extra *extra = _get_or_create_client_extra(ec); if (!desk_should_tile_check(ec->desk)) - return; + return EINA_FALSE; if (is_ignored_window(extra)) - return; + return EINA_FALSE; if (_G.split_type == TILING_SPLIT_FLOAT) { extra->floating = EINA_TRUE; -return; +return EINA_FALSE; } if (extra->tiled) - return; + return EINA_FALSE; extra->tiled = EINA_TRUE; @@ -568,6 +575,8 @@ _add_client(E_Client *ec) } _reapply_tree(); + + return EINA_TRUE; } static Eina_Bool @@ -822,32 +831,11 @@ _e_mod_action_toggle_split_mode(E_Object *obj EINA_UNUSED, /* }}} */ /* Hooks {{{ */ -static Eina_Bool -_maximize_check_handle(E_Client *ec, Client_Extra *extra) -{ - if (!extra) - { -extra = eina_hash_find(_G.client_extras, &ec); - } - - if (!extra) - return EINA_FALSE; - - if (_toggle_tiling_based_on_state(ec, EINA_TRUE)) - return EINA_TRUE; - - return EINA_FALSE; -} - static void _move_or_resize(E_Client *ec) { Client_Extra *extra = tiling_entry_func(ec); - /* FIXME: Hack for maximized windows. */ - if (_maximize_check_handle(ec, extra)) - return; - if (!extra || !extra->tiled) { return; @@ -1054,39 +1042,67 @@ _move_hook(void *data EINA_UNUSED, int type EINA_UNUSED, E_Event_Client *event) return true; } -static Eina_Bool -_add_hook(void *data EINA_UNUSED, int type EINA_UNUSED, E_Event_Client *event) +static void +_frame_del_cb(void *data, Evas *evas EINA_UNUSED, + Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - E_Client *ec = event->ec; + E_Client *ec = data; - _add_client(ec); + if (e_client_util_ignored_get(ec)) + return; - return true; -} + if (desk_should_tile_check(ec->desk)) + { +_client_remove_no_apply(ec); + } + + eina_hash_del(_G.client_extras, &ec, NULL); -static void -_frame_del_cb(void *data EINA_UNUSED, Evas *evas EINA_UNUSED, - Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) -{ _reapply_tree(); } -static Eina_Bool -_remove_hook(void *data EINA_UNUSED, int type EINA_UNUSED, - E_Event_Client *event) +static void +_e_client_extra_unregister_callbacks(void *_client_extra) { - E_Client *ec = event->ec; + Client_Extra *extra = _client_extra; + E_Client *ec = extra->client; - if (e_client_util_ignored_get(ec)) - return ECORE_CALLBACK_RENEW; + evas_object_event_callback_del_full(ec->frame, EVAS_CALLBACK_DEL, + _frame_del_cb, ec);
[EGIT] [core/elementary] master 02/02: test_dnd: Fixed memory leak. Free item's data on item deletion.
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=5b7b6508eb401204508f4e8695be4c465aa2add5 commit 5b7b6508eb401204508f4e8695be4c465aa2add5 Author: Daniel Juyung Seo Date: Fri Mar 21 02:35:29 2014 +0900 test_dnd: Fixed memory leak. Free item's data on item deletion. This fixes coverity CID 1193246: Resource leak (RESOURCE_LEAK). --- src/bin/test_dnd.c | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/bin/test_dnd.c b/src/bin/test_dnd.c index 739843f..63b89fd 100644 --- a/src/bin/test_dnd.c +++ b/src/bin/test_dnd.c @@ -73,6 +73,12 @@ gl_content_get(void *data, Evas_Object *obj, const char *part) } static void +gl_del_cb(void *data, Evas_Object *obj EINA_UNUSED) +{ + eina_stringshare_del(data); +} + +static void _win_del(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("<%s> <%d> will del <%p>\n", __func__, __LINE__, data); @@ -184,8 +190,8 @@ _grid_dropcb(void *data EINA_UNUSED, Evas_Object *obj, Elm_Object_Item *it, Elm_ *p2 = '\0'; printf("Item %s\n", p); if (!it) it = elm_gengrid_last_item_get(obj); - if (it) it = elm_gengrid_item_insert_after(obj, gic, strdup(p), it, NULL, NULL); - else it = elm_gengrid_item_append(obj, gic, strdup(p), NULL, NULL); + if (it) it = elm_gengrid_item_insert_after(obj, gic, eina_stringshare_add(p), it, NULL, NULL); + else it = elm_gengrid_item_append(obj, gic, eina_stringshare_add(p), NULL, NULL); p = p2; } else p = NULL; @@ -901,6 +907,7 @@ test_dnd_genlist_gengrid(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, v gic->item_style = "default"; gic->func.text_get = gl_text_get; gic->func.content_get = gl_content_get; +gic->func.del = gl_del_cb; elm_drop_item_container_add(grid, ELM_SEL_FORMAT_TARGETS, _grid_item_getcb, NULL, NULL, NULL, NULL, NULL, NULL, _grid_dropcb, NULL); --
[EGIT] [core/elementary] master 01/02: access: Fixed memory leak.
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=7b8d259577ba168d0e11b1ed72d648c3f5bb5d41 commit 7b8d259577ba168d0e11b1ed72d648c3f5bb5d41 Author: Daniel Juyung Seo Date: Fri Mar 21 02:33:22 2014 +0900 access: Fixed memory leak. This fixes coverity CID 1193244: Resource leak (RESOURCE_LEAK). @fix --- src/lib/elm_access.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/elm_access.c b/src/lib/elm_access.c index 115a994..1ee74fa 100644 --- a/src/lib/elm_access.c +++ b/src/lib/elm_access.c @@ -253,9 +253,8 @@ _access_highlight_read(Elm_Access_Info *ac, Evas_Object *obj) eina_strbuf_append_printf(strbuf, ", %s", txt); else eina_strbuf_append(strbuf, txt); - - free(txt); } + free(txt); } } --
[EGIT] [misc/entrance] master 01/01: entrance: delete bg if it has failed,
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/misc/entrance.git/commit/?id=1f39860775f7a51912f90984cd82ba64c97e997b commit 1f39860775f7a51912f90984cd82ba64c97e997b Author: Marcel Hollerbach Date: Thu Mar 20 18:04:36 2014 +0100 entrance: delete bg if it has failed, --- src/bin/entrance_gui.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/entrance_gui.c b/src/bin/entrance_gui.c index 7f12e11..c137afd 100755 --- a/src/bin/entrance_gui.c +++ b/src/bin/entrance_gui.c @@ -610,6 +610,8 @@ _entrance_gui_update(void) } if (!success) { + if (bg) +evas_object_del(bg); const char *path; const char *group; if ((_gui->bg.group) || (_gui->bg.path)) --
[EGIT] [misc/entrance] master 01/01: entrance: Fix the last case of the algo.
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/misc/entrance.git/commit/?id=7c78c1c63c7594b03a88baa670ce7195143f26c2 commit 7c78c1c63c7594b03a88baa670ce7195143f26c2 Author: Marcel Hollerbach Date: Thu Mar 20 17:52:30 2014 +0100 entrance: Fix the last case of the algo. --- src/bin/entrance_gui.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/entrance_gui.c b/src/bin/entrance_gui.c index 108ca86..7f12e11 100755 --- a/src/bin/entrance_gui.c +++ b/src/bin/entrance_gui.c @@ -591,6 +591,8 @@ _entrance_gui_update(void) { bg = entrance_gui_theme_get(screen->transition, "entrance/background/default"); + if (bg) + success = EINA_TRUE; } } else if (_gui->bg.path) --
[EGIT] [misc/entrance] master 01/01: entrance: woops there where two "!" to much ;)
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/misc/entrance.git/commit/?id=de7f5a43c0758c6906df5108bb13693086d8f61b commit de7f5a43c0758c6906df5108bb13693086d8f61b Author: Marcel Hollerbach Date: Thu Mar 20 17:46:19 2014 +0100 entrance: woops there where two "!" to much ;) --- src/bin/entrance_gui.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/entrance_gui.c b/src/bin/entrance_gui.c index 89cca1e..108ca86 100755 --- a/src/bin/entrance_gui.c +++ b/src/bin/entrance_gui.c @@ -610,7 +610,7 @@ _entrance_gui_update(void) { const char *path; const char *group; - if ((!_gui->bg.group) || (!_gui->bg.path)) + if ((_gui->bg.group) || (_gui->bg.path)) PT("Failed to load new background, fallback on the theme default! \n"); bg = entrance_gui_theme_get(screen->transition, "entrance/background/default"); --
[EGIT] [misc/entrance] master 01/01: entrance: let the algorithem go on fallback if case 3 fails, dont print the info if nothing is set. Fallback there on default
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/misc/entrance.git/commit/?id=87a75c9f89aaba3609e366e6559896ab869c5102 commit 87a75c9f89aaba3609e366e6559896ab869c5102 Author: Marcel Hollerbach Date: Thu Mar 20 17:27:39 2014 +0100 entrance: let the algorithem go on fallback if case 3 fails, dont print the info if nothing is set. Fallback there on default --- src/bin/entrance_gui.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/bin/entrance_gui.c b/src/bin/entrance_gui.c index b1d7075..89cca1e 100755 --- a/src/bin/entrance_gui.c +++ b/src/bin/entrance_gui.c @@ -598,7 +598,7 @@ _entrance_gui_update(void) if (eina_str_has_extension(_gui->bg.path,".edj")) { bg = elm_layout_add(screen->transition); - elm_layout_file_set(bg, _gui->bg.path, "entrance/background/default"); + success = elm_layout_file_set(bg, _gui->bg.path, "entrance/background/default"); } else { @@ -610,7 +610,8 @@ _entrance_gui_update(void) { const char *path; const char *group; - PT("Failed to load new background, fallback on the theme default! \n"); + if ((!_gui->bg.group) || (!_gui->bg.path)) +PT("Failed to load new background, fallback on the theme default! \n"); bg = entrance_gui_theme_get(screen->transition, "entrance/background/default"); edje_object_file_get(elm_layout_edje_get(bg), &path, &group); --
[EGIT] [core/elementary] master 03/03: index: Set variable to NULL after free.
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=9a828f080edc1618fa2034f937990f34e2ceb6a3 commit 9a828f080edc1618fa2034f937990f34e2ceb6a3 Author: Daniel Juyung Seo Date: Fri Mar 21 00:55:31 2014 +0900 index: Set variable to NULL after free. Then NULL check for this variable is not valid. This fixes coverity CID 1193250: Use after free (USE_AFTER_FREE). @fix --- src/lib/elm_index.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/elm_index.c b/src/lib/elm_index.c index d8f51c0..01fb683 100644 --- a/src/lib/elm_index.c +++ b/src/lib/elm_index.c @@ -658,6 +658,7 @@ _sel_eval(Evas_Object *obj, } } free(last); + last = NULL; if (it->letter) last = strdup(it->letter); } } --
[EGIT] [core/elementary] master 01/03: diskselector: Compare correct variables.
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=aa9cc88f16be9bb841ffb7e4aa4c6e61cb1b371c commit aa9cc88f16be9bb841ffb7e4aa4c6e61cb1b371c Author: Daniel Juyung Seo Date: Fri Mar 21 00:46:47 2014 +0900 diskselector: Compare correct variables. It was comparing the same variable. Fixed coverity CID 1193236: Pointless string comparison (CONSTANT_EXPRESSION_RESULT) @fix --- src/lib/elm_diskselector.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elm_diskselector.c b/src/lib/elm_diskselector.c index 320165e..b641c46 100644 --- a/src/lib/elm_diskselector.c +++ b/src/lib/elm_diskselector.c @@ -63,7 +63,7 @@ _selected_item_indicate(Elm_Diskselector_Item *item) EINA_LIST_FOREACH(sd->r_items, l, it) { -if (it->label && !strcmp(it->label, it->label)) +if (it->label && !strcmp(it->label, item->label)) edje_object_signal_emit(VIEW(it), "elm,state,selected", "elm"); else edje_object_signal_emit(VIEW(it), "elm,state,default", "elm"); --
[EGIT] [core/elementary] master 02/03: atspi_object: Added missing comma.
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=7451876896fdbc4c4d95abe590c38ab82f32dc33 commit 7451876896fdbc4c4d95abe590c38ab82f32dc33 Author: Daniel Juyung Seo Date: Fri Mar 21 00:49:52 2014 +0900 atspi_object: Added missing comma. This fixes coverity CID 1193238: Missing comma in a string array initialization (MISSING_COMMA) @fix --- src/lib/elm_atspi_object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elm_atspi_object.c b/src/lib/elm_atspi_object.c index 094ae21..6c90c7c 100644 --- a/src/lib/elm_atspi_object.c +++ b/src/lib/elm_atspi_object.c @@ -78,7 +78,7 @@ const char* Atspi_Name[] = { "status bar", "table", "table cell", -"table column header" +"table column header", "table row header", "tearoff menu item", "terminal", --
[EGIT] [core/enlightenment] master 01/01: hook sticky smart callbacks properly inside comp object
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=c47bf94cdfa00ed213cacb6770d7324889bce92a commit c47bf94cdfa00ed213cacb6770d7324889bce92a Author: Mike Blumenkrantz Date: Thu Mar 20 11:38:58 2014 -0400 hook sticky smart callbacks properly inside comp object --- src/bin/e_client.c | 1 - src/bin/e_comp_object.c | 9 - 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index ee2cf64..03e0d02 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -3807,7 +3807,6 @@ e_client_unstick(E_Client *ec) } } - e_comp_object_signal_emit(ec->frame, "e,state,unsticky", "e"); _e_client_event_property(ec, E_CLIENT_PROPERTY_STICKY); e_client_desk_set(ec, e_desk_current_get(ec->zone)); diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 1571a77..30f0c28 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -1739,6 +1739,12 @@ _e_comp_smart_cb_unfullscreen(void *data, Evas_Object *obj, void *event_info EIN } static void +_e_comp_smart_cb_sticky(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + e_comp_object_signal_emit(obj, "e,state,sticky", "e"); +} + +static void _e_comp_smart_cb_unsticky(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) { e_comp_object_signal_emit(obj, "e,state,unsticky", "e"); @@ -1810,7 +1816,8 @@ _e_comp_smart_add(Evas_Object *obj) evas_object_smart_callback_add(obj, "unmaximize", _e_comp_smart_cb_unmaximize, cw); evas_object_smart_callback_add(obj, "unfullscreen", _e_comp_smart_cb_unfullscreen, cw); - evas_object_smart_callback_add(obj, "unsticky", _e_comp_smart_cb_unsticky, cw); + evas_object_smart_callback_add(obj, "stick", _e_comp_smart_cb_sticky, cw); + evas_object_smart_callback_add(obj, "unstick", _e_comp_smart_cb_unsticky, cw); evas_object_smart_callback_add(obj, "hung", _e_comp_smart_cb_hung, cw); evas_object_smart_callback_add(obj, "unhung", _e_comp_smart_cb_unhung, cw); --
[EGIT] [core/enlightenment] master 01/01: add stick/unstick client smart callbacks
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=b5a04496b7b1e240803b09dcafde453faee9f418 commit b5a04496b7b1e240803b09dcafde453faee9f418 Author: Mike Blumenkrantz Date: Thu Mar 20 11:29:28 2014 -0400 add stick/unstick client smart callbacks --- src/bin/e_client.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 663aa03..ee2cf64 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -3760,6 +3760,7 @@ e_client_stick(E_Client *ec) ec->hidden = 0; e_hints_window_sticky_set(ec, 1); e_client_desk_set(ec, desk); + evas_object_smart_callback_call(ec->frame, "stick", NULL); if (e_config->transient.desktop) { @@ -3792,6 +3793,7 @@ e_client_unstick(E_Client *ec) ec->hidden = ec->sticky = 0; e_hints_window_sticky_set(ec, 0); e_client_desk_set(ec, desk); + evas_object_smart_callback_call(ec->frame, "unstick", NULL); if (e_config->transient.desktop) { --
Re: [E-devel] ABI/API checking for the EFL
Hello. On Thu, 2014-03-20 at 15:02, Bertrand Jacquin wrote: > On 2014-03-20 14:38, Stefan Schmidt wrote: > > Hello. > > > > On Wed, 2014-03-12 at 14:39, Tom Hacohen wrote: > >> On 12/03/14 13:54, Tom Hacohen wrote: > >> > Hey, > >> > > >> > So following the previous discussion, I've decided to do it myself. It's > >> > quite easy, and will be integrated into Jenkins once the Jenkins admins > >> > will have more free time. > >> > > >> > For the time being, I've generated reports for the efl (will do > >> > elemenatry soon) manually. Here are the results: > >> > http://www.enlightenment.org/~tasn/eflabi/1.8.0_to_1.9.0/compat_report.html > >> > http://www.enlightenment.org/~tasn/eflabi/1.9.0_to_1.10.0/compat_report.html > >> > > >> > > >> > By skimming the results, I found that we broke ABI in 1.9, deleting some > >> > ecore_x atoms. This is really bad, but at least those were parts of our > >> > api that people don't usually use. > >> > > >> > The to 1.10 is actually to bdf00c28b74cc163fed5a29561de43be66efed41, i.e > >> > current HEAD. We've made a lot of mess there. From what I've seen, we've > >> > only broken ABI because of Eo, which is internal ABI anyway, and we knew > >> > it was going to happen anyway because of the Eo2 change, so that's > >> > mostly fine. Shouldn't affect users too much. > >> > > >> > -- > >> > Tom. > >> > >> > >> OK, got elm too: > >> http://www.enlightenment.org/~tasn/elmabi/1.9.0_to_1.10.0/compat_report.html > >> > >> I found and fixed some issues with wrong shipping of headers. I think > >> most of the mess is because we ship the elm_widget internal files. > >> It's > >> time to get rid of those now that we have Eo api which is as > >> experimental. :) > > > > Thanks for taking the initiative here. The reports are useful. So > > useful that they already uncovered the two missing illume symbols > > which you fixed. Thanks. > > > > As we discussed on IRC we will work together on this a bit later to > > get it run in our nightly builds so we have feedback on these things > > early on. For 1.10 we might still run it manually once or twice before > > the release but afterwards it should really go into our automated > > tools suite. > > abi-compliance-checker 1.98.8 is now installed on every build/jenkins > hosts. Thanks, thats a good first step. regards Stefan Schmidt -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/enlightenment] master 01/02: bugfix: Set pass_events and layer of the pointer image if we are creating a new one.
Seriously, this is not hard. bugfix is for a commit if you're going to backport it, not for every time you fix something added in E19. On Thu, 20 Mar 2014 07:17:48 -0700 Christopher Michael wrote: > devilhorns pushed a commit to branch master. > > http://git.enlightenment.org/core/enlightenment.git/commit/?id=5ce5d2d90b2a58c43f49fb50456e3d4e0fd5e2ca > > commit 5ce5d2d90b2a58c43f49fb50456e3d4e0fd5e2ca > Author: Chris Michael > Date: Thu Mar 20 14:14:31 2014 + > > bugfix: Set pass_events and layer of the pointer image if we are > creating a new one. > > Signed-off-by: Chris Michael > --- > src/bin/e_pointer.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/src/bin/e_pointer.c b/src/bin/e_pointer.c > index 829e56d..e3ea4a9 100644 > --- a/src/bin/e_pointer.c > +++ b/src/bin/e_pointer.c > @@ -651,6 +651,8 @@ e_pointer_image_set(E_Pointer *p, E_Pixmap *cp, int w, > int h, int hot_x, int hot > if (!p->e_cursor) > p->blocks = 1; > p->pointer_image = evas_object_image_filled_add(p->evas); > + evas_object_pass_events_set(p->pointer_image, 1); > + evas_object_layer_set(p->pointer_image, EVAS_LAYER_MAX); > evas_object_image_alpha_set(p->pointer_image, 1); >} > evas_object_image_size_set(p->pointer_image, w, h); > -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/enlightenment] master 01/01: e_pointer: Fix missing if for else if condition
stefan pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=04a5a11a8f9a208c9d2e7200736a3da3a9681b40 commit 04a5a11a8f9a208c9d2e7200736a3da3a9681b40 Author: Stefan Schmidt Date: Thu Mar 20 15:50:51 2014 +0100 e_pointer: Fix missing if for else if condition Fixing devilhorns commit and run commit. If we have a condition we want to check we need an else if not a simple else. Always compile before push. Especially the small and simple changes. :) --- src/bin/e_pointer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_pointer.c b/src/bin/e_pointer.c index 084e256..e88591b 100644 --- a/src/bin/e_pointer.c +++ b/src/bin/e_pointer.c @@ -663,7 +663,7 @@ e_pointer_image_set(E_Pointer *p, E_Pixmap *cp, int w, int h, int hot_x, int hot evas_object_hide(p->pointer_image); evas_object_show(p->pointer_object); } -else ((p->e_cursor) && (p->canvas)) +else if ((p->e_cursor) && (p->canvas)) { evas_object_hide(p->pointer_object); evas_object_show(p->pointer_image); --
Re: [E-devel] black tooltips in gtk / qt
On Wed, 19 Mar 2014 10:21:03 +0900 Cedric BAIL wrote: > Hello, > > On Wed, Mar 19, 2014 at 12:47 AM, Adam Flott wrote: > > [ sent this to the users ml, but it never made it through; have since > > upgraded to master ] > > > > I've been getting periordic and inconsitent tooltips that popup black. > > The same behavior happens with menus. > > > > - Ubuntu 12.4 (up to date and can't upgrade to a later version) > > - EFL master > > - Enlightenment master > > - NVidia twin view > > > > Example: http://i.imgur.com/g6fNIVe.jpg > > > > Any idea's how to remedy this? > > Did you try disabling texture from pixmap in the advance setting > dialog of composite module ? > -- I was using software compositor so that had no effect. Once I switched to OpenGL (fingers cross the nvidia drivers dont take out x like the old days) with texture from pixmap enabled it appears to be working far better. Thanks for the pointer to help fix it! -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: test_web: Improve fullscreen test case.
ryuan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=7bc24d0b0ce82bf258fcfae75a8b952cf5fae531 commit 7bc24d0b0ce82bf258fcfae75a8b952cf5fae531 Author: Ryuan Choi Date: Thu Mar 20 23:28:53 2014 +0900 test_web: Improve fullscreen test case. Improved fullscreen api tests not to show other widgets when web page requires fullscreen. --- src/bin/test_web.c | 22 ++ 1 file changed, 22 insertions(+) diff --git a/src/bin/test_web.c b/src/bin/test_web.c index d9e7cc0..370adf7 100644 --- a/src/bin/test_web.c +++ b/src/bin/test_web.c @@ -9,6 +9,8 @@ typedef struct Evas_Object *btn_back; Evas_Object *btn_fwd; Evas_Object *url_entry; + Evas_Object *bx; + Evas_Object *hoversel; Eina_List *sub_wins; Eina_Bool js_hooks : 1; } Web_Test; @@ -313,6 +315,22 @@ _bring_in_region_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info E elm_web_region_bring_in(wt->web, 50, 0, 1, 1); } +static void +_on_fullscreen_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Web_Test *wt = data; + elm_box_unpack(wt->bx, wt->hoversel); + evas_object_hide(wt->hoversel); +} + +static void +_on_unfullscreen_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Web_Test *wt = data; + elm_box_pack_start(wt->bx, wt->hoversel); + evas_object_show(wt->hoversel); +} + typedef struct { const char* name; @@ -598,6 +616,8 @@ test_web_ui(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in wt = calloc(1, sizeof(*wt)); win = elm_win_util_standard_add("web", "Web"); + evas_object_smart_callback_add(win, "fullscreen", _on_fullscreen_cb, wt); + evas_object_smart_callback_add(win, "unfullscreen", _on_unfullscreen_cb, wt); elm_win_autodel_set(win, EINA_TRUE); bx = elm_box_add(win); @@ -628,6 +648,8 @@ test_web_ui(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in evas_object_event_callback_add(web, EVAS_CALLBACK_DEL, _main_web_del_cb, wt); wt->web = web; + wt->bx = bx; + wt->hoversel = hoversel; elm_web_html_string_load(wt->web, --
[EGIT] [core/enlightenment] master 01/02: bugfix: Set pass_events and layer of the pointer image if we are creating a new one.
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=5ce5d2d90b2a58c43f49fb50456e3d4e0fd5e2ca commit 5ce5d2d90b2a58c43f49fb50456e3d4e0fd5e2ca Author: Chris Michael Date: Thu Mar 20 14:14:31 2014 + bugfix: Set pass_events and layer of the pointer image if we are creating a new one. Signed-off-by: Chris Michael --- src/bin/e_pointer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/e_pointer.c b/src/bin/e_pointer.c index 829e56d..e3ea4a9 100644 --- a/src/bin/e_pointer.c +++ b/src/bin/e_pointer.c @@ -651,6 +651,8 @@ e_pointer_image_set(E_Pointer *p, E_Pixmap *cp, int w, int h, int hot_x, int hot if (!p->e_cursor) p->blocks = 1; p->pointer_image = evas_object_image_filled_add(p->evas); + evas_object_pass_events_set(p->pointer_image, 1); + evas_object_layer_set(p->pointer_image, EVAS_LAYER_MAX); evas_object_image_alpha_set(p->pointer_image, 1); } evas_object_image_size_set(p->pointer_image, w, h); --
[EGIT] [core/enlightenment] master 02/02: bugfix: Properly hide/show pointer_image & pointer_object based on if the pointer is located on an existing canvas
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=d0b61e4b88095c80ac82526ebdfdb352f0415c08 commit d0b61e4b88095c80ac82526ebdfdb352f0415c08 Author: Chris Michael Date: Thu Mar 20 14:15:47 2014 + bugfix: Properly hide/show pointer_image & pointer_object based on if the pointer is located on an existing canvas Signed-off-by: Chris Michael --- src/bin/e_pointer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_pointer.c b/src/bin/e_pointer.c index e3ea4a9..084e256 100644 --- a/src/bin/e_pointer.c +++ b/src/bin/e_pointer.c @@ -658,12 +658,12 @@ e_pointer_image_set(E_Pointer *p, E_Pixmap *cp, int w, int h, int hot_x, int hot evas_object_image_size_set(p->pointer_image, w, h); evas_object_image_data_set(p->pointer_image, img); evas_object_resize(p->pointer_image, w, h); -if (p->e_cursor) +if ((p->e_cursor) && (!p->canvas)) { evas_object_hide(p->pointer_image); evas_object_show(p->pointer_object); } -else +else ((p->e_cursor) && (p->canvas)) { evas_object_hide(p->pointer_object); evas_object_show(p->pointer_image); --
[EGIT] [core/elementary] master 10/10: Eolian: Integration of Datetime
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=e6993de02c80e139fcfb8642bf0ab12fb3ad866a commit e6993de02c80e139fcfb8642bf0ab12fb3ad866a Author: Daniel Zaoui Date: Thu Mar 20 15:17:55 2014 +0200 Eolian: Integration of Datetime --- src/lib/Makefile.am | 10 +- src/lib/elm_datetime.c| 404 -- src/lib/elm_datetime.eo | 342 +++ src/lib/elm_datetime_eo.h | 4 + src/lib/elm_widget_datetime.h | 6 +- 5 files changed, 431 insertions(+), 335 deletions(-) diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index bcc8225..09cd9d4 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -575,7 +575,9 @@ BUILT_SOURCES = \ elm_conformant.eo.c \ elm_conformant.eo.h \ elc_ctxpopup.eo.c \ - elc_ctxpopup.eo.h + elc_ctxpopup.eo.h \ + elm_datetime.eo.c \ + elm_datetime.eo.h EXTRA_DIST += \ elm_widget.eo \ @@ -603,7 +605,8 @@ EXTRA_DIST += \ elm_clock.eo \ elm_colorselector.eo \ elm_conformant.eo \ -elc_ctxpopup.eo +elc_ctxpopup.eo \ +elm_datetime.eo nodist_includesunstable_HEADERS = \ elm_widget.eo.h \ @@ -631,5 +634,6 @@ nodist_includesunstable_HEADERS = \ elm_clock.eo.h \ elm_conformant.eo.h \ elm_colorselector.eo.h \ - elc_ctxpopup.eo.h + elc_ctxpopup.eo.h \ + elm_datetime.eo.h diff --git a/src/lib/elm_datetime.c b/src/lib/elm_datetime.c index 36ef392..a47aec6 100644 --- a/src/lib/elm_datetime.c +++ b/src/lib/elm_datetime.c @@ -6,8 +6,6 @@ #include "elm_priv.h" #include "elm_widget_datetime.h" -EAPI Eo_Op ELM_OBJ_DATETIME_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_DATETIME_CLASS #define MY_CLASS_NAME "Elm_Datetime" @@ -375,18 +373,15 @@ _reload_format(Evas_Object *obj) _field_list_arrange(obj); } -static void -_elm_datetime_smart_translate(Eo *obj, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elm_datetime_elm_widget_translate(Eo *obj, Elm_Datetime_Data *sd) { - Elm_Datetime_Smart_Data *sd = _pd; - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (!sd->user_format) _reload_format(obj); else _field_list_display(obj); eo_do_super(obj, MY_CLASS, elm_obj_widget_translate(NULL)); - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } static Eina_List * @@ -419,24 +414,19 @@ _datetime_items_get(const Evas_Object *obj) return items; } -static void -_elm_datetime_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_datetime_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, Elm_Datetime_Data *_pd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - *ret = EINA_TRUE; + return EINA_TRUE; } -static void -_elm_datetime_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_datetime_elm_widget_focus_next(Eo *obj, Elm_Datetime_Data *_pd EINA_UNUSED, Elm_Focus_Direction dir, Evas_Object **next) { const Eina_List *items; Eina_List *(*list_free)(Eina_List *list); void *(*list_data_get)(const Eina_List *list); - Elm_Focus_Direction dir = va_arg(*list, Elm_Focus_Direction); - Evas_Object **next = va_arg(*list, Evas_Object **); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret; if ((items = elm_widget_focus_custom_chain_get(obj))) @@ -449,63 +439,55 @@ _elm_datetime_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list) items = _datetime_items_get(obj); list_data_get = eina_list_data_get; list_free = eina_list_free; -if (!items) return; +if (!items) return EINA_FALSE; } int_ret = elm_widget_focus_list_next_get(obj, items, list_data_get, dir, next); if (list_free) list_free((Eina_List *)items); - if (ret) *ret = int_ret; + return int_ret; } -static void -_elm_datetime_smart_on_focus(Eo *obj, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elm_datetime_elm_widget_on_focus(Eo *obj, Elm_Datetime_Data *sd) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret = EINA_FALSE; eo_do_super(obj, MY_CLASS, elm_obj_widget_on_focus(&int_ret)); - if (!int_ret) return; + if (!int_ret) return EINA_FALSE; if (!elm_widget_focus_get(obj)) { -Elm_Datetime_Smart_Data *sd = _pd; - if ((dt_mod) && (dt_mod->obj_hide)) dt_mod->obj_hide(sd->mod_data); } - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } -
[EGIT] [core/elementary] master 04/10: Eolian: Integration of Calendar
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=28c55d0a0c5dea8f973d235271f753b96b415fa8 commit 28c55d0a0c5dea8f973d235271f753b96b415fa8 Author: Daniel Zaoui Date: Thu Mar 20 09:44:34 2014 +0200 Eolian: Integration of Calendar --- src/lib/Makefile.am | 10 +- src/lib/elm_calendar.c| 516 -- src/lib/elm_calendar.eo | 419 ++ src/lib/elm_calendar_eo.h | 4 + src/lib/elm_widget_calendar.h | 6 +- 5 files changed, 527 insertions(+), 428 deletions(-) diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 1bb3282..c6414ba 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -563,7 +563,9 @@ BUILT_SOURCES = \ elm_bubble.eo.c \ elm_bubble.eo.h \ elm_button.eo.c \ - elm_button.eo.h + elm_button.eo.h \ + elm_calendar.eo.c \ + elm_calendar.eo.h EXTRA_DIST += \ elm_widget.eo \ @@ -585,7 +587,8 @@ EXTRA_DIST += \ elm_bg.eo \ elm_box.eo \ elm_bubble.eo \ -elm_button.eo +elm_button.eo \ +elm_calendar.eo nodist_includesunstable_HEADERS = \ elm_widget.eo.h \ @@ -607,5 +610,6 @@ nodist_includesunstable_HEADERS = \ elm_box.eo.h \ elm_bg.eo.h \ elm_bubble.eo.h \ - elm_button.eo.h + elm_button.eo.h \ + elm_calendar.eo.h diff --git a/src/lib/elm_calendar.c b/src/lib/elm_calendar.c index 195470a..4aec95e 100644 --- a/src/lib/elm_calendar.c +++ b/src/lib/elm_calendar.c @@ -6,8 +6,6 @@ #include "elm_priv.h" #include "elm_widget_calendar.h" -EAPI Eo_Op ELM_OBJ_CALENDAR_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_CALENDAR_CLASS #define MY_CLASS_NAME "Elm_Calendar" @@ -65,9 +63,8 @@ _mark_free(Elm_Calendar_Mark *mark) free(mark); } -static void -_elm_calendar_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) - +EOLIAN static void +_elm_calendar_elm_layout_sizing_eval(Eo *obj, Elm_Calendar_Data *_pd EINA_UNUSED) { Evas_Coord minw = -1, minh = -1; ELM_CALENDAR_DATA_GET(obj, sd); @@ -118,7 +115,7 @@ _select(Evas_Object *obj, } static inline void -_not_today(Elm_Calendar_Smart_Data *sd) +_not_today(Elm_Calendar_Data *sd) { char emission[32]; @@ -128,7 +125,7 @@ _not_today(Elm_Calendar_Smart_Data *sd) } static inline void -_today(Elm_Calendar_Smart_Data *sd, +_today(Elm_Calendar_Data *sd, int it) { char emission[32]; @@ -185,7 +182,7 @@ _weekday_get(int first_week_day, // EINA_DEPRECATED static void -_text_day_color_update(Elm_Calendar_Smart_Data *sd, +_text_day_color_update(Elm_Calendar_Data *sd, int pos) { char emission[32]; @@ -212,7 +209,7 @@ _text_day_color_update(Elm_Calendar_Smart_Data *sd, } static void -_set_month_year(Elm_Calendar_Smart_Data *sd) +_set_month_year(Elm_Calendar_Data *sd) { char *buf; @@ -556,23 +553,21 @@ _set_headers(Evas_Object *obj) elm_layout_thaw(obj); } -static void -_elm_calendar_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_calendar_elm_widget_theme_apply(Eo *obj, Elm_Calendar_Data *_pd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret = EINA_FALSE; eo_do_super(obj, MY_CLASS, elm_obj_widget_theme_apply(&int_ret)); - if (!int_ret) return; + if (!int_ret) return EINA_FALSE; evas_object_smart_changed(obj); - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } /* Set correct tm_wday and tm_yday after other fields changes*/ static inline void -_fix_selected_time(Elm_Calendar_Smart_Data *sd) +_fix_selected_time(Elm_Calendar_Data *sd) { if (sd->selected_time.tm_mon != sd->shown_time.tm_mon) sd->selected_time.tm_mon = sd->shown_time.tm_mon; @@ -852,20 +847,14 @@ _update_cur_date(void *data) return ECORE_CALLBACK_RENEW; } -static void -_elm_calendar_smart_event(Eo *obj, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elm_calendar_elm_widget_event(Eo *obj, Elm_Calendar_Data *sd, Evas_Object *src, Evas_Callback_Type type, void *event_info) { - Evas_Object *src = va_arg(*list, Evas_Object *); - Evas_Callback_Type type = va_arg(*list, Evas_Callback_Type); - Evas_Event_Key_Down *ev = va_arg(*list, void *); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Elm_Calendar_Smart_Data *sd = _pd; - - if (ret) *ret = EINA_FALSE; (void) src; + Evas_Event_Key_Down *ev = event_info; - if (elm_widget_disabled_get(obj)) return; - if (type != EVAS_CALLBACK_KEY_DOWN) return; + if (elm_widget_disabled_get(obj))
Re: [E-devel] ABI/API checking for the EFL
On 2014-03-20 14:38, Stefan Schmidt wrote: > Hello. > > On Wed, 2014-03-12 at 14:39, Tom Hacohen wrote: >> On 12/03/14 13:54, Tom Hacohen wrote: >> > Hey, >> > >> > So following the previous discussion, I've decided to do it myself. It's >> > quite easy, and will be integrated into Jenkins once the Jenkins admins >> > will have more free time. >> > >> > For the time being, I've generated reports for the efl (will do >> > elemenatry soon) manually. Here are the results: >> > http://www.enlightenment.org/~tasn/eflabi/1.8.0_to_1.9.0/compat_report.html >> > http://www.enlightenment.org/~tasn/eflabi/1.9.0_to_1.10.0/compat_report.html >> > >> > >> > By skimming the results, I found that we broke ABI in 1.9, deleting some >> > ecore_x atoms. This is really bad, but at least those were parts of our >> > api that people don't usually use. >> > >> > The to 1.10 is actually to bdf00c28b74cc163fed5a29561de43be66efed41, i.e >> > current HEAD. We've made a lot of mess there. From what I've seen, we've >> > only broken ABI because of Eo, which is internal ABI anyway, and we knew >> > it was going to happen anyway because of the Eo2 change, so that's >> > mostly fine. Shouldn't affect users too much. >> > >> > -- >> > Tom. >> >> >> OK, got elm too: >> http://www.enlightenment.org/~tasn/elmabi/1.9.0_to_1.10.0/compat_report.html >> >> I found and fixed some issues with wrong shipping of headers. I think >> most of the mess is because we ship the elm_widget internal files. >> It's >> time to get rid of those now that we have Eo api which is as >> experimental. :) > > Thanks for taking the initiative here. The reports are useful. So > useful that they already uncovered the two missing illume symbols > which you fixed. Thanks. > > As we discussed on IRC we will work together on this a bit later to > get it run in our nightly builds so we have feedback on these things > early on. For 1.10 we might still run it manually once or twice before > the release but afterwards it should really go into our automated > tools suite. abi-compliance-checker 1.98.8 is now installed on every build/jenkins hosts. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 09/10: Eolian: Integration of Ctx Popup
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=94a7e2672aaf798dc39d679337d38aa65f74e8da commit 94a7e2672aaf798dc39d679337d38aa65f74e8da Author: Daniel Zaoui Date: Thu Mar 20 15:06:33 2014 +0200 Eolian: Integration of Ctx Popup --- src/lib/Makefile.am | 10 +- src/lib/elc_ctxpopup.c| 486 +- src/lib/elc_ctxpopup.eo | 196 + src/lib/elc_ctxpopup_eo.h | 6 +- src/lib/elc_ctxpopup_legacy.h | 2 +- src/lib/elm_widget_ctxpopup.h | 6 +- 6 files changed, 315 insertions(+), 391 deletions(-) diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index e235fcb..bcc8225 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -573,7 +573,9 @@ BUILT_SOURCES = \ elm_colorselector.eo.c \ elm_colorselector.eo.h \ elm_conformant.eo.c \ - elm_conformant.eo.h + elm_conformant.eo.h \ + elc_ctxpopup.eo.c \ + elc_ctxpopup.eo.h EXTRA_DIST += \ elm_widget.eo \ @@ -600,7 +602,8 @@ EXTRA_DIST += \ elm_check.eo \ elm_clock.eo \ elm_colorselector.eo \ -elm_conformant.eo +elm_conformant.eo \ +elc_ctxpopup.eo nodist_includesunstable_HEADERS = \ elm_widget.eo.h \ @@ -627,5 +630,6 @@ nodist_includesunstable_HEADERS = \ elm_check.eo.h \ elm_clock.eo.h \ elm_conformant.eo.h \ - elm_colorselector.eo.h + elm_colorselector.eo.h \ + elc_ctxpopup.eo.h diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c index ca466da..8962696 100644 --- a/src/lib/elc_ctxpopup.c +++ b/src/lib/elc_ctxpopup.c @@ -7,8 +7,6 @@ #include "elm_priv.h" #include "elm_widget_ctxpopup.h" -EAPI Eo_Op ELM_OBJ_CTXPOPUP_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_CTXPOPUP_CLASS #define MY_CLASS_NAME "Elm_Ctxpopup" @@ -31,11 +29,9 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = { }; #undef ELM_PRIV_CTXPOPUP_SIGNALS -static void -_elm_ctxpopup_smart_translate(Eo *obj, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elc_ctxpopup_elm_widget_translate(Eo *obj, Elc_Ctxpopup_Data *sd) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Elm_Ctxpopup_Smart_Data *sd = _pd; Eina_List *l; Elm_Ctxpopup_Item *it; @@ -46,35 +42,26 @@ _elm_ctxpopup_smart_translate(Eo *obj, void *_pd, va_list *list) eo_do_super(obj, MY_CLASS, elm_obj_widget_translate(NULL)); - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } -static void -_elm_ctxpopup_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elc_ctxpopup_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, Elc_Ctxpopup_Data *_pd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - *ret = EINA_TRUE; + return EINA_TRUE; } -static void -_elm_ctxpopup_smart_focus_direction_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elc_ctxpopup_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, Elc_Ctxpopup_Data *_pd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - *ret = EINA_TRUE; + return EINA_TRUE; } -static void -_elm_ctxpopup_smart_focus_next(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elc_ctxpopup_elm_widget_focus_next(Eo *obj EINA_UNUSED, Elc_Ctxpopup_Data *sd, Elm_Focus_Direction dir, Evas_Object **next) { - Elm_Ctxpopup_Smart_Data *sd = _pd; - - Elm_Focus_Direction dir = va_arg(*list, Elm_Focus_Direction); - Evas_Object **next = va_arg(*list, Evas_Object **); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; - if (!sd) - return; + return EINA_FALSE; if (!elm_widget_focus_next_get(sd->box, dir, next)) { @@ -82,27 +69,19 @@ _elm_ctxpopup_smart_focus_next(Eo *obj EINA_UNUSED, void *_pd, va_list *list) elm_widget_focus_next_get(sd->box, dir, next); } - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } -static void -_elm_ctxpopup_smart_focus_direction(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elc_ctxpopup_elm_widget_focus_direction(Eo *obj EINA_UNUSED, Elc_Ctxpopup_Data *sd, const Evas_Object *base, double degree, Evas_Object **direction, double *weight) { - Elm_Ctxpopup_Smart_Data *sd = _pd; - - Evas_Object *base = va_arg(*list, Evas_Object *); - double degree = va_arg(*list, double); - Evas_Object **direction = va_arg(*list, Evas_Object **); - double *weight = va_arg(*list, double *); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FA
[EGIT] [core/elementary] master 01/10: Eolian: Integration of Box
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=9de1e5207f7c1e1a401cdfc6edd3349369740625 commit 9de1e5207f7c1e1a401cdfc6edd3349369740625 Author: Daniel Zaoui Date: Thu Mar 20 07:58:37 2014 +0200 Eolian: Integration of Box --- src/lib/Makefile.am | 8 +- src/lib/elm_box.c| 425 +-- src/lib/elm_box.eo | 325 src/lib/elm_box_eo.h | 5 + src/lib/elm_widget_box.h | 6 +- 5 files changed, 413 insertions(+), 356 deletions(-) diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 91804c5..8cd5a9f 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -557,7 +557,9 @@ BUILT_SOURCES = \ elm_atspi_object.eo.c \ elm_atspi_object.eo.h \ elm_bg.eo.c \ - elm_bg.eo.h + elm_bg.eo.h \ + elm_box.eo.c \ + elm_box.eo.h EXTRA_DIST += \ elm_widget.eo \ @@ -576,7 +578,8 @@ EXTRA_DIST += \ elm_interface_atspi_component.eo \ elm_interface_atspi_window.eo \ elm_atspi_object.eo \ -elm_bg.eo +elm_bg.eo \ +elm_box.eo nodist_includesunstable_HEADERS = \ elm_widget.eo.h \ @@ -595,5 +598,6 @@ nodist_includesunstable_HEADERS = \ elm_interface_atspi_component.eo.h \ elm_interface_atspi_window.eo.h \ elm_atspi_object.eo.h \ + elm_box.eo.h \ elm_bg.eo.h diff --git a/src/lib/elm_box.c b/src/lib/elm_box.c index 213229b..7a867ee 100644 --- a/src/lib/elm_box.c +++ b/src/lib/elm_box.c @@ -7,8 +7,6 @@ #include "els_box.h" #include "elm_widget_box.h" -EAPI Eo_Op ELM_OBJ_BOX_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_BOX_CLASS #define MY_CLASS_NAME "Elm_Box" #define MY_CLASS_NAME_LEGACY "elm_box" @@ -48,63 +46,46 @@ _child_removed_cb_proxy(void *data, evas_object_smart_callback_call(box, SIG_CHILD_REMOVED, child); } -static void -_elm_box_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_box_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, Elm_Box_Data *_pd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - *ret = EINA_TRUE; + return EINA_TRUE; } -static void -_elm_box_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_box_elm_widget_focus_next(Eo *obj, Elm_Box_Data *_pd EINA_UNUSED, Elm_Focus_Direction dir, Evas_Object **next) { const Eina_List *items; void *(*list_data_get)(const Eina_List *list); - Elm_Focus_Direction dir = va_arg(*list, Elm_Focus_Direction); - Evas_Object **next = va_arg(*list, Evas_Object **); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Eina_Bool int_ret; - if (ret) *ret = EINA_FALSE; - /* Focus chain */ /* TODO: Change this to use other chain */ if ((items = elm_widget_focus_custom_chain_get(obj))) list_data_get = eina_list_data_get; else { -ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); +ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); Evas_Object_Box_Data *bd = evas_object_smart_data_get(wd->resize_obj); items = bd->children; list_data_get = _elm_box_list_data_get; -if (!items) return; +if (!items) return EINA_FALSE; } - int_ret = elm_widget_focus_list_next_get(obj, items, list_data_get, dir, next); - if (ret) *ret = int_ret; + return elm_widget_focus_list_next_get(obj, items, list_data_get, dir, next); } -static void -_elm_box_smart_focus_direction_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_box_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, Elm_Box_Data *_pd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - *ret = EINA_TRUE; + return EINA_TRUE; } -static void -_elm_box_smart_focus_direction(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_box_elm_widget_focus_direction(Eo *obj EINA_UNUSED, Elm_Box_Data *_pd EINA_UNUSED, const Evas_Object *base, double degree, Evas_Object **direction, double *weight) { - Evas_Object *base = va_arg(*list, Evas_Object *); - double degree = va_arg(*list, double); - Evas_Object **direction = va_arg(*list, Evas_Object **); - double *weight = va_arg(*list, double *); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; - Eina_Bool int_ret; - const Eina_List *items; void *(*list_data_get)(const Eina_List *list); @@ -112,34 +93,31 @@ _elm_box_smart_focus_direction(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_li list_data_get =
[EGIT] [core/elementary] master 07/10: Eolian: Integration of Color Selector
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=38a7eb4d9c6b92483f07ab655ffcd34bd185ef79 commit 38a7eb4d9c6b92483f07ab655ffcd34bd185ef79 Author: Daniel Zaoui Date: Thu Mar 20 14:29:12 2014 +0200 Eolian: Integration of Color Selector --- src/lib/Makefile.am| 10 +- src/lib/elm_colorselector.c| 365 + src/lib/elm_colorselector.eo | 149 +++ src/lib/elm_colorselector_eo.h | 3 + src/lib/elm_widget_colorselector.h | 6 +- 5 files changed, 244 insertions(+), 289 deletions(-) diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index b18fc9f..67842c0 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -569,7 +569,9 @@ BUILT_SOURCES = \ elm_check.eo.c \ elm_check.eo.h \ elm_clock.eo.c \ - elm_clock.eo.h + elm_clock.eo.h \ + elm_colorselector.eo.c \ + elm_colorselector.eo.h EXTRA_DIST += \ elm_widget.eo \ @@ -594,7 +596,8 @@ EXTRA_DIST += \ elm_button.eo \ elm_calendar.eo \ elm_check.eo \ -elm_clock.eo +elm_clock.eo \ +elm_colorselector.eo nodist_includesunstable_HEADERS = \ elm_widget.eo.h \ @@ -619,5 +622,6 @@ nodist_includesunstable_HEADERS = \ elm_button.eo.h \ elm_calendar.eo.h \ elm_check.eo.h \ - elm_clock.eo.h + elm_clock.eo.h \ + elm_colorselector.eo.h diff --git a/src/lib/elm_colorselector.c b/src/lib/elm_colorselector.c index 6d8de75..bf7c38f 100644 --- a/src/lib/elm_colorselector.c +++ b/src/lib/elm_colorselector.c @@ -6,8 +6,6 @@ #include "elm_priv.h" #include "elm_widget_colorselector.h" -EAPI Eo_Op ELM_OBJ_COLORSELECTOR_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_COLORSELECTOR_CLASS #define MY_CLASS_NAME "Elm_Colorselector" @@ -43,7 +41,7 @@ enum Palette_Box_Direction }; static void -_items_del(Elm_Colorselector_Smart_Data *sd) +_items_del(Elm_Colorselector_Data *sd) { Elm_Color_Item *item; @@ -60,7 +58,7 @@ _items_del(Elm_Colorselector_Smart_Data *sd) } static void -_color_with_saturation(Elm_Colorselector_Smart_Data *sd, int *sr, int *sg, int *sb) +_color_with_saturation(Elm_Colorselector_Data *sd, int *sr, int *sg, int *sb) { if (sd->er > 127) *sr = 127 + (int)((double)(sd->er - 127) * sd->s); @@ -79,7 +77,7 @@ _color_with_saturation(Elm_Colorselector_Smart_Data *sd, int *sr, int *sg, int * } static void -_color_with_lightness(Elm_Colorselector_Smart_Data *sd, int *lr, int *lg, int *lb) +_color_with_lightness(Elm_Colorselector_Data *sd, int *lr, int *lg, int *lb) { if (sd->l > 0.5) { @@ -102,7 +100,7 @@ _color_with_lightness(Elm_Colorselector_Smart_Data *sd, int *lr, int *lg, int *l } static void -_color_picker_init(Elm_Colorselector_Smart_Data *sd) +_color_picker_init(Elm_Colorselector_Data *sd) { char buf[12]; unsigned int *pixels; @@ -156,7 +154,7 @@ _color_picker_init(Elm_Colorselector_Smart_Data *sd) } static void -_rgb_to_hsl(Elm_Colorselector_Smart_Data *sd) +_rgb_to_hsl(Elm_Colorselector_Data *sd) { double r2, g2, b2; double v, m, vm; @@ -203,7 +201,7 @@ _rgb_to_hsl(Elm_Colorselector_Smart_Data *sd) } static Eina_Bool -_hsl_to_rgb(Elm_Colorselector_Smart_Data *sd) +_hsl_to_rgb(Elm_Colorselector_Data *sd) { double sv, vsf, f, p, q, t, v; double r = 0, g = 0, b = 0; @@ -295,7 +293,7 @@ _hsl_to_rgb(Elm_Colorselector_Smart_Data *sd) } static void -_update_ergb(Elm_Colorselector_Smart_Data *sd, double x) +_update_ergb(Elm_Colorselector_Data *sd, double x) { double one_six = 1.0 / 6.0; @@ -338,7 +336,7 @@ _update_ergb(Elm_Colorselector_Smart_Data *sd, double x) } static void -_update_colorbars(Elm_Colorselector_Smart_Data *sd) +_update_colorbars(Elm_Colorselector_Data *sd) { int r, g, b; evas_object_color_set @@ -457,7 +455,7 @@ _entry_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { - Elm_Colorselector_Smart_Data *sd = data; + Elm_Colorselector_Data *sd = data; Evas_Object *parent; const char *text; int i, v; @@ -657,7 +655,7 @@ _mouse_out_canvas(void *data, Evas *e EINA_UNUSED, void *event_info EINA_UNUSED) } static void -_color_picker_add(Evas_Object *obj, Elm_Colorselector_Smart_Data *sd) +_color_picker_add(Evas_Object *obj, Elm_Colorselector_Data *sd) { Evas_Object *ed; Evas_Object *im; @@ -1064,8 +1062,8 @@ _color_bars_add(Evas_Object *obj) } } -static void -_elm_colorselector_smart_theme(Eo *obj, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elm_colorselector_elm_widget_theme
[EGIT] [core/elementary] master 08/10: Eolian: Integration of Conformant
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=89291d067c7893e7bbc1e264bd40a14dadc13939 commit 89291d067c7893e7bbc1e264bd40a14dadc13939 Author: Daniel Zaoui Date: Thu Mar 20 14:37:43 2014 +0200 Eolian: Integration of Conformant --- src/lib/Makefile.am | 8 +++-- src/lib/elm_conform.c| 71 +++- src/lib/elm_conform_eo.h | 3 ++ src/lib/elm_conformant.eo| 20 + src/lib/elm_widget_conform.h | 6 ++-- 5 files changed, 49 insertions(+), 59 deletions(-) diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 67842c0..e235fcb 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -571,7 +571,9 @@ BUILT_SOURCES = \ elm_clock.eo.c \ elm_clock.eo.h \ elm_colorselector.eo.c \ - elm_colorselector.eo.h + elm_colorselector.eo.h \ + elm_conformant.eo.c \ + elm_conformant.eo.h EXTRA_DIST += \ elm_widget.eo \ @@ -597,7 +599,8 @@ EXTRA_DIST += \ elm_calendar.eo \ elm_check.eo \ elm_clock.eo \ -elm_colorselector.eo +elm_colorselector.eo \ +elm_conformant.eo nodist_includesunstable_HEADERS = \ elm_widget.eo.h \ @@ -623,5 +626,6 @@ nodist_includesunstable_HEADERS = \ elm_calendar.eo.h \ elm_check.eo.h \ elm_clock.eo.h \ + elm_conformant.eo.h \ elm_colorselector.eo.h diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c index 57b097d..f20a2d0 100644 --- a/src/lib/elm_conform.c +++ b/src/lib/elm_conform.c @@ -7,8 +7,6 @@ #include "elm_widget_conform.h" #include "elm_widget_layout.h" -EAPI Eo_Op ELM_OBJ_CONFORMANT_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_CONFORMANT_CLASS #define MY_CLASS_NAME "Elm_Conformant" @@ -588,21 +586,19 @@ _on_rotation_changed(void *data, } } -static void -_elm_conformant_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_conformant_elm_widget_theme_apply(Eo *obj, Elm_Conformant_Data *_pd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret = EINA_FALSE; eo_do_super(obj, MY_CLASS, elm_obj_widget_theme_apply(&int_ret)); - if (!int_ret) return; + if (!int_ret) return EINA_FALSE; _conformant_parts_swallow(obj); elm_layout_sizing_eval(obj); - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } // unused now - but meant to be for making sure the focused widget is always @@ -892,8 +888,8 @@ _on_prop_change(void *data, #endif -static void -_elm_conformant_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_conformant_evas_smart_add(Eo *obj, Elm_Conformant_Data *_pd EINA_UNUSED) { eo_do_super(obj, MY_CLASS, evas_obj_smart_add()); elm_widget_sub_object_parent_add(obj); @@ -913,11 +909,10 @@ _elm_conformant_smart_add(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNU elm_layout_sizing_eval(obj); } -static void -_elm_conformant_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_conformant_evas_smart_del(Eo *obj, Elm_Conformant_Data *sd) { Evas_Object *top; - Elm_Conformant_Smart_Data *sd = _pd; #ifdef HAVE_ELEMENTARY_X ecore_event_handler_del(sd->prop_hdl); @@ -935,17 +930,15 @@ _elm_conformant_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED) eo_do_super(obj, MY_CLASS, evas_obj_smart_del()); } -static void -_elm_conformant_smart_parent_set(Eo *obj, void *_pd, va_list *list) +EOLIAN static void +_elm_conformant_elm_widget_parent_set(Eo *obj, Elm_Conformant_Data *sd, Evas_Object *parent) { #ifdef HAVE_ELEMENTARY_X - Evas_Object *parent = va_arg(*list, Evas_Object *); Evas_Object *top = elm_widget_top_get(parent); Ecore_X_Window xwin = elm_win_xwindow_get(parent); if ((xwin) && (!elm_win_inlined_image_object_get(top))) { -Elm_Conformant_Smart_Data *sd = _pd; sd->prop_hdl = ecore_event_handler_add (ECORE_X_EVENT_WINDOW_PROPERTY, _on_prop_change, obj); @@ -956,11 +949,10 @@ _elm_conformant_smart_parent_set(Eo *obj, void *_pd, va_list *list) #endif } -static void -_elm_conformant_smart_content_aliases_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static const Elm_Layout_Part_Alias_Description* +_elm_conformant_elm_layout_content_aliases_get(Eo *obj EINA_UNUSED, Elm_Conformant_Data *_pd EINA_UNUSED) { - const Elm_Layout_Part_Alias_Description **aliases = va_arg(*list, const Elm_Layout_Part_Alias_Description **); - *aliases = _content_aliases; + return _content_aliases; } EAPI Evas_O
[EGIT] [core/elementary] master 02/10: Eolian: Integration of Bubble
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=f0f50fe499f0628f94eeaa7991699ff7f480c9ec commit f0f50fe499f0628f94eeaa7991699ff7f480c9ec Author: Daniel Zaoui Date: Thu Mar 20 08:40:07 2014 +0200 Eolian: Integration of Bubble --- src/lib/Makefile.am | 10 ++- src/lib/elm_bubble.c| 174 +++- src/lib/elm_bubble.eo | 52 + src/lib/elm_bubble_eo.h | 4 + src/lib/elm_widget_bubble.h | 6 +- 5 files changed, 109 insertions(+), 137 deletions(-) diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 8cd5a9f..0cfbee1 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -559,7 +559,9 @@ BUILT_SOURCES = \ elm_bg.eo.c \ elm_bg.eo.h \ elm_box.eo.c \ - elm_box.eo.h + elm_box.eo.h \ + elm_bubble.eo.c \ + elm_bubble.eo.h EXTRA_DIST += \ elm_widget.eo \ @@ -579,7 +581,8 @@ EXTRA_DIST += \ elm_interface_atspi_window.eo \ elm_atspi_object.eo \ elm_bg.eo \ -elm_box.eo +elm_box.eo \ +elm_bubble.eo nodist_includesunstable_HEADERS = \ elm_widget.eo.h \ @@ -599,5 +602,6 @@ nodist_includesunstable_HEADERS = \ elm_interface_atspi_window.eo.h \ elm_atspi_object.eo.h \ elm_box.eo.h \ - elm_bg.eo.h + elm_bg.eo.h \ + elm_bubble.eo.h diff --git a/src/lib/elm_bubble.c b/src/lib/elm_bubble.c index 2bd7bdc..86ab63c 100644 --- a/src/lib/elm_bubble.c +++ b/src/lib/elm_bubble.c @@ -7,8 +7,6 @@ #include "elm_widget_bubble.h" #include "elm_widget_layout.h" -EAPI Eo_Op ELM_OBJ_BUBBLE_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_BUBBLE_CLASS #define MY_CLASS_NAME "Elm_Bubble" @@ -46,8 +44,8 @@ static const char *corner_string[] = "bottom_right" }; -static void -_elm_bubble_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_bubble_elm_layout_sizing_eval(Eo *obj, Elm_Bubble_Data *_pd EINA_UNUSED) { Evas_Coord minw = -1, minh = -1; ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); @@ -75,71 +73,49 @@ _on_mouse_up(void *data, /* overriding layout's focus_next() in order to just cycle through the * content's tree */ -static void -_elm_bubble_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_bubble_elm_widget_focus_next(Eo *obj, Elm_Bubble_Data *_pd EINA_UNUSED, Elm_Focus_Direction dir, Evas_Object **next) { Evas_Object *content; - ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); - - Elm_Focus_Direction dir = va_arg(*list, Elm_Focus_Direction); - Evas_Object **next = va_arg(*list, Evas_Object **); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; - Eina_Bool int_ret = EINA_FALSE; - + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); if ((elm_widget_can_focus_get(obj)) && (!wd->focused)) { // ACCESS *next = (Evas_Object *)obj; -if (ret) *ret = EINA_TRUE; -return; +return EINA_TRUE; } else { content = elm_layout_content_get(obj, NULL); -if (!content) return; +if (!content) return EINA_FALSE; /* attempt to follow focus cycle into sub-object */ -int_ret = elm_widget_focus_next_get(content, dir, next); -if (ret) *ret = int_ret; +return elm_widget_focus_next_get(content, dir, next); } } -static void -_elm_bubble_smart_focus_direction(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_bubble_elm_widget_focus_direction(Eo *obj, Elm_Bubble_Data *_pd EINA_UNUSED, const Evas_Object *base, double degree, Evas_Object **direction, double *weight) { Evas_Object *content; - Evas_Object *base = va_arg(*list, Evas_Object *); - double degree = va_arg(*list, double); - Evas_Object **direction = va_arg(*list, Evas_Object **); - double *weight = va_arg(*list, double *); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; - Eina_Bool int_ret; - content = elm_layout_content_get(obj, NULL); - if (!content) return; + if (!content) return EINA_FALSE; /* Try Focus cycle in subitem */ - int_ret = elm_widget_focus_direction_get + return elm_widget_focus_direction_get (content, base, degree, direction, weight); - if (ret) *ret = int_ret; } -static void -_elm_bubble_smart_text_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_bubble_elm_layout_text_set(Eo *obj, Elm_Bubble_Data *_pd EINA_UNUSED, const char *part, const char *label) { - const char *part
[EGIT] [core/elementary] master 05/10: Eolian: Integration of Check
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=729ca440bb2eb540d83ed786c6d3944e9cdd7a49 commit 729ca440bb2eb540d83ed786c6d3944e9cdd7a49 Author: Daniel Zaoui Date: Thu Mar 20 10:27:21 2014 +0200 Eolian: Integration of Check --- src/lib/Makefile.am| 10 ++- src/lib/elm_check.c| 211 - src/lib/elm_check.eo | 70 +++ src/lib/elm_check_eo.h | 3 + src/lib/elm_widget_check.h | 6 +- 5 files changed, 140 insertions(+), 160 deletions(-) diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index c6414ba..60f77fb 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -565,7 +565,9 @@ BUILT_SOURCES = \ elm_button.eo.c \ elm_button.eo.h \ elm_calendar.eo.c \ - elm_calendar.eo.h + elm_calendar.eo.h \ + elm_check.eo.c \ + elm_check.eo.h EXTRA_DIST += \ elm_widget.eo \ @@ -588,7 +590,8 @@ EXTRA_DIST += \ elm_box.eo \ elm_bubble.eo \ elm_button.eo \ -elm_calendar.eo +elm_calendar.eo \ +elm_check.eo nodist_includesunstable_HEADERS = \ elm_widget.eo.h \ @@ -611,5 +614,6 @@ nodist_includesunstable_HEADERS = \ elm_bg.eo.h \ elm_bubble.eo.h \ elm_button.eo.h \ - elm_calendar.eo.h + elm_calendar.eo.h \ + elm_check.eo.h diff --git a/src/lib/elm_check.c b/src/lib/elm_check.c index 95b1ffb..782164a 100644 --- a/src/lib/elm_check.c +++ b/src/lib/elm_check.c @@ -7,8 +7,6 @@ #include "elm_widget_check.h" #include "elm_widget_layout.h" -EAPI Eo_Op ELM_OBJ_CHECK_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_CHECK_CLASS #define MY_CLASS_NAME "Elm_Check" @@ -82,61 +80,52 @@ _icon_signal_emit(Evas_Object *obj) /* FIXME: replicated from elm_layout just because check's icon spot * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we * can changed the theme API */ -static void -_elm_check_smart_sub_object_del(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_check_elm_widget_sub_object_del(Eo *obj, Elm_Check_Data *_pd EINA_UNUSED, Evas_Object *sobj) { - Evas_Object *sobj = va_arg(*list, Evas_Object *); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret = EINA_FALSE; eo_do_super(obj, MY_CLASS, elm_obj_widget_sub_object_del(sobj, &int_ret)); - if (!int_ret) return; + if (!int_ret) return EINA_FALSE; _icon_signal_emit(obj); - if (ret) *ret = EINA_TRUE; eo_do(obj, elm_obj_layout_sizing_eval()); + + return EINA_TRUE; } -static void -_elm_check_smart_activate(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_check_elm_widget_activate(Eo *obj EINA_UNUSED, Elm_Check_Data *_pd EINA_UNUSED, Elm_Activate act) { - Elm_Activate act = va_arg(*list, Elm_Activate); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; - - if (elm_widget_disabled_get(obj)) return; - if (act != ELM_ACTIVATE_DEFAULT) return; + if (elm_widget_disabled_get(obj)) return EINA_FALSE; + if (act != ELM_ACTIVATE_DEFAULT) return EINA_FALSE; _activate(obj); - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } /* FIXME: replicated from elm_layout just because check's icon spot * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we * can changed the theme API */ -static void -_elm_check_smart_content_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_check_elm_container_content_set(Eo *obj, Elm_Check_Data *_pd EINA_UNUSED, const char *part, Evas_Object *content) { - const char *part = va_arg(*list, const char *); - Evas_Object *content = va_arg(*list, Evas_Object *); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret = EINA_FALSE; eo_do_super(obj, MY_CLASS, elm_obj_container_content_set(part, content, &int_ret)); - if (!int_ret) return; + if (!int_ret) return EINA_FALSE; _icon_signal_emit(obj); - if (ret) *ret = EINA_TRUE; eo_do(obj, elm_obj_layout_sizing_eval()); + + return EINA_TRUE; } -static void -_elm_check_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_check_elm_layout_sizing_eval(Eo *obj, Elm_Check_Data *_pd EINA_UNUSED) { Evas_Coord minw = -1, minh = -1; ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); @@ -149,44 +138,37 @@ _elm_check_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_ evas_object_size_hint_max_set(obj, -1, -1); } -static void -_e
[EGIT] [core/elementary] master 06/10: Eolian: Integration of Clock
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=232a538ec9a7f7315676ad3db36145cf4c90262f commit 232a538ec9a7f7315676ad3db36145cf4c90262f Author: Daniel Zaoui Date: Thu Mar 20 11:11:48 2014 +0200 Eolian: Integration of Clock --- src/lib/Makefile.am| 10 +- src/lib/elm_clock.c| 362 - src/lib/elm_clock.eo | 262 src/lib/elm_clock_eo.h | 5 + src/lib/elm_widget_clock.h | 6 +- 5 files changed, 339 insertions(+), 306 deletions(-) diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 60f77fb..b18fc9f 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -567,7 +567,9 @@ BUILT_SOURCES = \ elm_calendar.eo.c \ elm_calendar.eo.h \ elm_check.eo.c \ - elm_check.eo.h + elm_check.eo.h \ + elm_clock.eo.c \ + elm_clock.eo.h EXTRA_DIST += \ elm_widget.eo \ @@ -591,7 +593,8 @@ EXTRA_DIST += \ elm_bubble.eo \ elm_button.eo \ elm_calendar.eo \ -elm_check.eo +elm_check.eo \ +elm_clock.eo nodist_includesunstable_HEADERS = \ elm_widget.eo.h \ @@ -615,5 +618,6 @@ nodist_includesunstable_HEADERS = \ elm_bubble.eo.h \ elm_button.eo.h \ elm_calendar.eo.h \ - elm_check.eo.h + elm_check.eo.h \ + elm_clock.eo.h diff --git a/src/lib/elm_clock.c b/src/lib/elm_clock.c index ad9766d..6c9e55b 100644 --- a/src/lib/elm_clock.c +++ b/src/lib/elm_clock.c @@ -6,8 +6,6 @@ #include "elm_priv.h" #include "elm_widget_clock.h" -EAPI Eo_Op ELM_OBJ_CLOCK_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_CLOCK_CLASS #define MY_CLASS_NAME "Elm_Clock" @@ -562,19 +560,17 @@ _time_update(Evas_Object *obj) sd->cur.ampm = -1; } -static void -_elm_clock_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_clock_elm_widget_theme_apply(Eo *obj, Elm_Clock_Data *sd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret = EINA_FALSE; eo_do_super(obj, MY_CLASS, elm_obj_widget_theme_apply(&int_ret)); - if (!int_ret) return; + if (!int_ret) return EINA_FALSE; _time_update(obj); - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } static Eina_Bool @@ -653,10 +649,9 @@ _access_state_cb(void *data EINA_UNUSED, Evas_Object *obj) return NULL; } -static void -_elm_clock_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_clock_evas_smart_add(Eo *obj, Elm_Clock_Data *priv) { - Elm_Clock_Smart_Data *priv = _pd; ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); eo_do_super(obj, MY_CLASS, evas_obj_smart_add()); @@ -692,10 +687,9 @@ _elm_clock_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) (_elm_access_info_get(obj), ELM_ACCESS_STATE, _access_state_cb, NULL); } -static void -_elm_clock_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_clock_evas_smart_del(Eo *obj, Elm_Clock_Data *sd) { - Elm_Clock_Smart_Data *sd = _pd; ecore_timer_del(sd->ticker); ecore_timer_del(sd->spin); @@ -707,37 +701,28 @@ _elm_clock_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED) static Eina_Bool _elm_clock_smart_focus_next_enable = EINA_FALSE; -static void -_elm_clock_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_clock_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, Elm_Clock_Data *_pd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - *ret = _elm_clock_smart_focus_next_enable; + return _elm_clock_smart_focus_next_enable; } -static void -_elm_clock_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_clock_elm_widget_focus_next(Eo *obj, Elm_Clock_Data *sd, Elm_Focus_Direction dir, Evas_Object **next) { - Elm_Focus_Direction dir = va_arg(*list, Elm_Focus_Direction); - Evas_Object **next = va_arg(*list, Evas_Object **); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; - Evas_Object *ao, *po; Eina_List *items = NULL; - Elm_Clock_Smart_Data *sd = _pd; if (!sd->edit) { *next = (Evas_Object *)obj; -if (ret) *ret = !elm_widget_highlight_get(obj); -return; +return !elm_widget_highlight_get(obj); } else if (!elm_widget_highlight_get(obj)) { *next = (Evas_Object *)obj; -if (ret) *ret = EINA_TRUE; -return; +return EINA_TRUE; } int i; @@ -771,7 +756,7
[EGIT] [core/elementary] master 03/10: Eolian: Integration of Button
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=dbd37a210f37826f4fb098122968411ffd46a185 commit dbd37a210f37826f4fb098122968411ffd46a185 Author: Daniel Zaoui Date: Thu Mar 20 08:40:43 2014 +0200 Eolian: Integration of Button --- src/lib/Makefile.am | 10 +- src/lib/elm_button.c| 278 +++- src/lib/elm_button.eo | 112 ++ src/lib/elm_button_eo.h | 4 + src/lib/elm_widget_button.h | 6 +- 5 files changed, 193 insertions(+), 217 deletions(-) diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 0cfbee1..1bb3282 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -561,7 +561,9 @@ BUILT_SOURCES = \ elm_box.eo.c \ elm_box.eo.h \ elm_bubble.eo.c \ - elm_bubble.eo.h + elm_bubble.eo.h \ + elm_button.eo.c \ + elm_button.eo.h EXTRA_DIST += \ elm_widget.eo \ @@ -582,7 +584,8 @@ EXTRA_DIST += \ elm_atspi_object.eo \ elm_bg.eo \ elm_box.eo \ -elm_bubble.eo +elm_bubble.eo \ +elm_button.eo nodist_includesunstable_HEADERS = \ elm_widget.eo.h \ @@ -603,5 +606,6 @@ nodist_includesunstable_HEADERS = \ elm_atspi_object.eo.h \ elm_box.eo.h \ elm_bg.eo.h \ - elm_bubble.eo.h + elm_bubble.eo.h \ + elm_button.eo.h diff --git a/src/lib/elm_button.c b/src/lib/elm_button.c index e688be1..b08626c 100644 --- a/src/lib/elm_button.c +++ b/src/lib/elm_button.c @@ -7,8 +7,6 @@ #include "elm_widget_button.h" #include "elm_widget_layout.h" -EAPI Eo_Op ELM_OBJ_BUTTON_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_BUTTON_CLASS #define MY_CLASS_NAME "Elm_Button" @@ -62,8 +60,8 @@ _activate(Evas_Object *obj) } } -static void -_elm_button_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_button_elm_layout_sizing_eval(Eo *obj, Elm_Button_Data *_pd EINA_UNUSED) { ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); Evas_Coord minw = -1, minh = -1; @@ -75,21 +73,17 @@ _elm_button_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA evas_object_size_hint_min_set(obj, minw, minh); } -static void -_elm_button_smart_activate(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_button_elm_widget_activate(Eo *obj, Elm_Button_Data *_pd EINA_UNUSED, Elm_Activate act) { - Elm_Activate act = va_arg(*list, Elm_Activate); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; - - if (elm_widget_disabled_get(obj)) return; - if (act != ELM_ACTIVATE_DEFAULT) return; - if (evas_object_freeze_events_get(obj)) return; + if (elm_widget_disabled_get(obj)) return EINA_FALSE; + if (act != ELM_ACTIVATE_DEFAULT) return EINA_FALSE; + if (evas_object_freeze_events_get(obj)) return EINA_FALSE; evas_object_smart_callback_call(obj, SIG_CLICKED, NULL); elm_layout_signal_emit(obj, "elm,anim,activate", "elm"); - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } /* FIXME: replicated from elm_layout just because button's icon spot @@ -111,84 +105,70 @@ _icon_signal_emit(Evas_Object *obj) /* FIXME: replicated from elm_layout just because button's icon spot * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we * can changed the theme API */ -static void -_elm_button_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_button_elm_widget_theme_apply(Eo *obj, Elm_Button_Data *_pd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret = EINA_FALSE; eo_do_super(obj, MY_CLASS, elm_obj_widget_theme_apply(&int_ret)); - if (!int_ret) return; + if (!int_ret) return EINA_FALSE; _icon_signal_emit(obj); - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } /* FIXME: replicated from elm_layout just because button's icon spot * is elm.swallow.content, not elm.swallow.icon. Fix that whenever we * can changed the theme API */ -static void -_elm_button_smart_sub_object_del(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_button_elm_widget_sub_object_del(Eo *obj, Elm_Button_Data *_pd EINA_UNUSED, Evas_Object *sobj) { - Evas_Object *sobj = va_arg(*list, Evas_Object *); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret = EINA_FALSE; eo_do_super(obj, MY_CLASS, elm_obj_widget_sub_object_del(sobj, &int_ret)); - if (!int_ret) return; + if (!int_ret) return EINA_FALSE; _icon_signal_emit(obj); - if
Re: [E-devel] ABI/API checking for the EFL
Hello. On Wed, 2014-03-12 at 14:39, Tom Hacohen wrote: > On 12/03/14 13:54, Tom Hacohen wrote: > > Hey, > > > > So following the previous discussion, I've decided to do it myself. It's > > quite easy, and will be integrated into Jenkins once the Jenkins admins > > will have more free time. > > > > For the time being, I've generated reports for the efl (will do > > elemenatry soon) manually. Here are the results: > > http://www.enlightenment.org/~tasn/eflabi/1.8.0_to_1.9.0/compat_report.html > > http://www.enlightenment.org/~tasn/eflabi/1.9.0_to_1.10.0/compat_report.html > > > > > > By skimming the results, I found that we broke ABI in 1.9, deleting some > > ecore_x atoms. This is really bad, but at least those were parts of our > > api that people don't usually use. > > > > The to 1.10 is actually to bdf00c28b74cc163fed5a29561de43be66efed41, i.e > > current HEAD. We've made a lot of mess there. From what I've seen, we've > > only broken ABI because of Eo, which is internal ABI anyway, and we knew > > it was going to happen anyway because of the Eo2 change, so that's > > mostly fine. Shouldn't affect users too much. > > > > -- > > Tom. > > > OK, got elm too: > http://www.enlightenment.org/~tasn/elmabi/1.9.0_to_1.10.0/compat_report.html > > I found and fixed some issues with wrong shipping of headers. I think > most of the mess is because we ship the elm_widget internal files. It's > time to get rid of those now that we have Eo api which is as > experimental. :) Thanks for taking the initiative here. The reports are useful. So useful that they already uncovered the two missing illume symbols which you fixed. Thanks. As we discussed on IRC we will work together on this a bit later to get it run in our nightly builds so we have feedback on these things early on. For 1.10 we might still run it manually once or twice before the release but afterwards it should really go into our automated tools suite. regards Stefan Schmidt -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/elementary] master 01/01: list: better structure packing for list smart data.
On Thu, Mar 20, 2014 at 10:07 AM, Carsten Haitzler wrote: > On Thu, 20 Mar 2014 09:41:57 -0300 Gustavo Sverzut Barbieri > said: > >> On Thu, Mar 20, 2014 at 1:51 AM, Daniel Juyung Seo >> wrote: >> > seoz pushed a commit to branch master. >> > >> > http://git.enlightenment.org/core/elementary.git/commit/?id=7fa935efccaa245226d9c7f57ea35e0b378a1666 >> > >> > commit 7fa935efccaa245226d9c7f57ea35e0b378a1666 >> > Author: Daniel Juyung Seo >> > Date: Thu Mar 20 13:48:49 2014 +0900 >> > >> > list: better structure packing for list smart data. >> > --- >> > src/lib/elm_widget_list.h | 3 ++- >> > 1 file changed, 2 insertions(+), 1 deletion(-) >> > >> > diff --git a/src/lib/elm_widget_list.h b/src/lib/elm_widget_list.h >> > index fcca175..565ccb8 100644 >> > --- a/src/lib/elm_widget_list.h >> > +++ b/src/lib/elm_widget_list.h >> > @@ -43,6 +43,8 @@ struct _Elm_List_Smart_Data >> >Evas_Coord x, y; >> > } history[ELM_LIST_SWIPE_MOVES]; >> > >> > + Elm_Object_Item *highlighted_item; >> > + >> > Eina_Bool focus_on_selection_enabled : 1; >> > Eina_Bool was_selected : 1; >> > Eina_Bool fix_pending : 1; >> > @@ -53,7 +55,6 @@ struct _Elm_List_Smart_Data >> > Eina_Bool multi : 1; >> > Eina_Bool swipe : 1; >> > Eina_Bool delete_me : 1; >> > - Elm_Object_Item *highlighted_item; >> >> being picky here, you can't do this because it breaks possible >> applications that inherit from elm_list widget. >> >> of course it is likely there is no such thing out in the world yet and >> we'll replace that with proper Eo inheritance, but just be aware of >> the possible problem. > > elm widget api is explicitly marked as unstable. lots of comments in > elm_widget.h and you even have to #define a special define just to get access. I said I was being picky -- Gustavo Sverzut Barbieri -- Mobile: +55 (19) 99225-2202 Contact: http://www.gustavobarbieri.com.br/contact -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/elementary] master 01/01: list: better structure packing for list smart data.
On Thu, 20 Mar 2014 09:41:57 -0300 Gustavo Sverzut Barbieri said: > On Thu, Mar 20, 2014 at 1:51 AM, Daniel Juyung Seo > wrote: > > seoz pushed a commit to branch master. > > > > http://git.enlightenment.org/core/elementary.git/commit/?id=7fa935efccaa245226d9c7f57ea35e0b378a1666 > > > > commit 7fa935efccaa245226d9c7f57ea35e0b378a1666 > > Author: Daniel Juyung Seo > > Date: Thu Mar 20 13:48:49 2014 +0900 > > > > list: better structure packing for list smart data. > > --- > > src/lib/elm_widget_list.h | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/src/lib/elm_widget_list.h b/src/lib/elm_widget_list.h > > index fcca175..565ccb8 100644 > > --- a/src/lib/elm_widget_list.h > > +++ b/src/lib/elm_widget_list.h > > @@ -43,6 +43,8 @@ struct _Elm_List_Smart_Data > >Evas_Coord x, y; > > } history[ELM_LIST_SWIPE_MOVES]; > > > > + Elm_Object_Item *highlighted_item; > > + > > Eina_Bool focus_on_selection_enabled : 1; > > Eina_Bool was_selected : 1; > > Eina_Bool fix_pending : 1; > > @@ -53,7 +55,6 @@ struct _Elm_List_Smart_Data > > Eina_Bool multi : 1; > > Eina_Bool swipe : 1; > > Eina_Bool delete_me : 1; > > - Elm_Object_Item *highlighted_item; > > being picky here, you can't do this because it breaks possible > applications that inherit from elm_list widget. > > of course it is likely there is no such thing out in the world yet and > we'll replace that with proper Eo inheritance, but just be aware of > the possible problem. elm widget api is explicitly marked as unstable. lots of comments in elm_widget.h and you even have to #define a special define just to get access. -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/elementary] master 01/01: list: better structure packing for list smart data.
On Thu, Mar 20, 2014 at 9:41 PM, Gustavo Sverzut Barbieri < barbi...@gmail.com> wrote: > On Thu, Mar 20, 2014 at 1:51 AM, Daniel Juyung Seo > wrote: > > seoz pushed a commit to branch master. > > > > > http://git.enlightenment.org/core/elementary.git/commit/?id=7fa935efccaa245226d9c7f57ea35e0b378a1666 > > > > commit 7fa935efccaa245226d9c7f57ea35e0b378a1666 > > Author: Daniel Juyung Seo > > Date: Thu Mar 20 13:48:49 2014 +0900 > > > > list: better structure packing for list smart data. > > --- > > src/lib/elm_widget_list.h | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/src/lib/elm_widget_list.h b/src/lib/elm_widget_list.h > > index fcca175..565ccb8 100644 > > --- a/src/lib/elm_widget_list.h > > +++ b/src/lib/elm_widget_list.h > > @@ -43,6 +43,8 @@ struct _Elm_List_Smart_Data > >Evas_Coord x, y; > > } history[ELM_LIST_SWIPE_MOVES]; > > > > + Elm_Object_Item *highlighted_item; > > + > > Eina_Bool focus_on_selection_enabled : 1; > > Eina_Bool was_selected : 1; > > Eina_Bool fix_pending : 1; > > @@ -53,7 +55,6 @@ struct _Elm_List_Smart_Data > > Eina_Bool multi : 1; > > Eina_Bool swipe : 1; > > Eina_Bool delete_me : 1; > > - Elm_Object_Item *highlighted_item; > > Hi > being picky here, you can't do this because it breaks possible > applications that inherit from elm_list widget. > > of course it is likely there is no such thing out in the world yet and > we'll replace that with proper Eo inheritance, but just be aware of > the possible problem. > > Of course I considered the ABI break. But this is widget's internal data. As far as I know EFL officially does not allow the customizing widget(including inherit?) in application. By the way, is there any application that does inherit elementary widget? Thanks. Daniel Juyung Seo (SeoZ) > > -- > Gustavo Sverzut Barbieri > -- > Mobile: +55 (19) 99225-2202 > Contact: http://www.gustavobarbieri.com.br/contact > > > -- > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Upcoming efl and elm 1.9.2
Hello. I plan a new stable update for beginning of next week. Please bring in all fixes at the weekend so I can cut the tarballs on Monday and hopefully release after some testing on Tuesday. regards Stefan Schmidt -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/elementary] master 01/01: list: better structure packing for list smart data.
On Thu, Mar 20, 2014 at 1:51 AM, Daniel Juyung Seo wrote: > seoz pushed a commit to branch master. > > http://git.enlightenment.org/core/elementary.git/commit/?id=7fa935efccaa245226d9c7f57ea35e0b378a1666 > > commit 7fa935efccaa245226d9c7f57ea35e0b378a1666 > Author: Daniel Juyung Seo > Date: Thu Mar 20 13:48:49 2014 +0900 > > list: better structure packing for list smart data. > --- > src/lib/elm_widget_list.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/src/lib/elm_widget_list.h b/src/lib/elm_widget_list.h > index fcca175..565ccb8 100644 > --- a/src/lib/elm_widget_list.h > +++ b/src/lib/elm_widget_list.h > @@ -43,6 +43,8 @@ struct _Elm_List_Smart_Data >Evas_Coord x, y; > } history[ELM_LIST_SWIPE_MOVES]; > > + Elm_Object_Item *highlighted_item; > + > Eina_Bool focus_on_selection_enabled : 1; > Eina_Bool was_selected : 1; > Eina_Bool fix_pending : 1; > @@ -53,7 +55,6 @@ struct _Elm_List_Smart_Data > Eina_Bool multi : 1; > Eina_Bool swipe : 1; > Eina_Bool delete_me : 1; > - Elm_Object_Item *highlighted_item; being picky here, you can't do this because it breaks possible applications that inherit from elm_list widget. of course it is likely there is no such thing out in the world yet and we'll replace that with proper Eo inheritance, but just be aware of the possible problem. -- Gustavo Sverzut Barbieri -- Mobile: +55 (19) 99225-2202 Contact: http://www.gustavobarbieri.com.br/contact -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/enlightenment] master 01/01: e: let's just completely blacklist NVidia driver for Wayland.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=ffe4bf794e0eb530cc6102cac620134c24ef9059 commit ffe4bf794e0eb530cc6102cac620134c24ef9059 Author: Cedric BAIL Date: Thu Mar 20 20:46:54 2014 +0900 e: let's just completely blacklist NVidia driver for Wayland. --- src/bin/e_comp_wl.c | 23 ++- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 9df65b9..63344fa 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -225,7 +225,7 @@ static const struct wl_pointer_grab_interface _e_drag_grab_interface = /* local variables */ static Ecore_Idler *_module_idler = NULL; #ifdef HAVE_WAYLAND_EGL -static Eina_Bool can_terminate = EINA_TRUE; +static Eina_Bool black_listed = EINA_FALSE; #endif /* external variables */ @@ -289,17 +289,19 @@ e_comp_wl_init(void) * calling eglTerminate. Let's hack around that */ vendor = (const char *)eglQueryString(_e_wl_comp->egl.display, EGL_VENDOR); -if (vendor) +if (!vendor || !strcmp(vendor, "NVIDIA Corporation")) + black_listed = EINA_TRUE; +if (black_listed) { - if (!strcmp(vendor, "NVIDIA Corporation")) - can_terminate = EINA_FALSE; + ERR("Black listed driver [%s]. Not a supported configuration.", vendor); + goto err; } /* try to initialize egl */ if (!eglInitialize(_e_wl_comp->egl.display, &major, &minor)) { ERR("Could not initialize EGL: %m"); - if (can_terminate) eglTerminate(_e_wl_comp->egl.display); + eglTerminate(_e_wl_comp->egl.display); } else { @@ -316,7 +318,7 @@ e_comp_wl_init(void) &_e_wl_comp->egl.config, 1, &n) || (n == 0))) { ERR("Could not choose EGL config: %m"); - if (can_terminate) eglTerminate(_e_wl_comp->egl.display); + eglTerminate(_e_wl_comp->egl.display); } } } @@ -381,10 +383,13 @@ err: _e_wl_comp->egl.unbind_display(_e_wl_comp->egl.display, _e_wl_comp->wl.display); /* terminate the egl display */ - if ((_e_wl_comp->egl.display) && (can_terminate)) - eglTerminate(_e_wl_comp->egl.display); + if (!black_listed) + { +if ((_e_wl_comp->egl.display)) + eglTerminate(_e_wl_comp->egl.display); - eglReleaseThread(); +eglReleaseThread(); + } #endif /* if we have a display, destroy it */ --
Re: [E-devel] the great commit access purge of march 2014... LOOK FOR YOUR NAME!
On Thu, 20 Mar 2014 11:53:59 +0100 (CET) Chidambar Zinnoury said: > Hey guys! > > I do have ongoing stuff that will be soon committed: may you remove me from > the list? > > Thank you! ok. off. :) > Cheers, > > - Mail original - > > De: "Carsten Haitzler" > > À: "e" > > Envoyé: Mercredi 19 Mars 2014 15:09:17 > > Objet: [E-devel] the great commit access purge of march 2014... LOOK > > FOR YOUR NAME! > > > > this is pretty simple. i made a list of everyone who has not > > committed to any > > git repository we have for the past 6 months. slight problem is that > > people > > don't keep their email addresses up to date in info.txt vs their git > > author > > email, so i've had to manually check almost everyone. (i made a > > script to help > > automate this but it was getting stuff wrong)... > > > > SO here is the list. if your user id/login is on it and you think it > > should be > > taken off... SAY SO. if you don't say something soon... you'll get > > moved to our > > inactive dev pool and commit access will be removed. > > > > so RESPOND ASAP if you want yourself off this list! > > > > acidx > > andreas > > aron > > bdilly > > ceolin > > dorileo > > dresb > > etrunko > > fidencio > > gastal > > gouache > > hyoyoung > > illogict > > inc > > jeffdameth > > jypark > > kakaroto > > kiwi > > mej > > mello > > mickeyl > > mike_m > > monkeyiq > > nash > > onefang > > pespin > > playya > > princeamd > > rakuco > > raoul > > rfonseca > > rui > > shorne > > thanatermesis > > tiago > > urandom > > watchwolf > > xhell > > > > -- > > - Codito, ergo sum - "I code, therefore I am" > > -- > > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > > > > -- > > Learn Graph Databases - Download FREE O'Reilly Book > > "Graph Databases" is the definitive new guide to graph databases and > > their > > applications. Written by three acclaimed leaders in the field, > > this first edition is now available. Download your free book today! > > http://p.sf.net/sfu/13534_NeoTech > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > -- > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: clear up the documentation of tooltip
raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=35277789216c73115f53f26fb611ab903d6c9837 commit 35277789216c73115f53f26fb611ab903d6c9837 Author: Bora Hwang Date: Thu Mar 20 20:12:02 2014 +0900 clear up the documentation of tooltip Summary: Since explanations of tooltip's APIs are scattered in header or source code, these needs to be cleared up. Reviewers: seoz, Hermet, woohyun, raster Reviewed By: raster Differential Revision: https://phab.enlightenment.org/D644 --- src/lib/elm_tooltip.h | 65 +-- src/lib/els_tooltip.c | 103 -- 2 files changed, 62 insertions(+), 106 deletions(-) diff --git a/src/lib/elm_tooltip.h b/src/lib/elm_tooltip.h index ea9da6a..7e1edbd 100644 --- a/src/lib/elm_tooltip.h +++ b/src/lib/elm_tooltip.h @@ -117,11 +117,33 @@ typedef Evas_Object *(*Elm_Tooltip_Content_Cb)(void *data, Evas_Object *obj, Eva */ typedef Evas_Object *(*Elm_Tooltip_Item_Content_Cb)(void *data, Evas_Object *obj, Evas_Object *tooltip, void *item); +/** + * @brief Force show tooltip of object + * + * @param obj Target object + * + * Force show the tooltip and disable hide on mouse_out. + * If another content is set as tooltip, the visible tooltip will hididen and + * showed again with new content. + * This can force show more than one tooltip at a time. + * + * @ingroup Tooltips + */ EAPI voidelm_object_tooltip_show(Evas_Object *obj); + +/** + * @brief Force hide tooltip of object + * + * @param obj Target object + * + * Force hide the tooltip and (re)enable future mouse interations. + * + * @ingroup Tooltips + */ EAPI voidelm_object_tooltip_hide(Evas_Object *obj); /** - * Set the text to be displayed inside the tooltip. + * @brief Set the text to be displayed inside the tooltip. * * @param obj The tooltip object. * @param text The text to be displayed. @@ -131,11 +153,46 @@ EAPI voidelm_object_tooltip_hide(Evas_Object *obj); EAPI voidelm_object_tooltip_text_set(Evas_Object *obj, const char *text); EAPI voidelm_object_tooltip_domain_translatable_text_set(Evas_Object *obj, const char *domain, const char *text); #define elm_object_tooltip_translatable_text_set(obj, text) elm_object_tooltip_domain_translatable_text_set((obj), NULL, (text)) + +/** + * @brief Set the content to be shown in the tooltip object + * + * @param obj The object being attached a tooltip. + * @param func The function used to create the tooltip contents. + * @param data What to provide to @a func as callback data/context. + * @param del_cb Function called when data is not needed anymore, either when + *another callback replaces @p func, the tooltip is unset with + *elm_object_tooltip_unset() or the owner object @a obj + *dies. This callback receives as the first parameter the + *given @a data, and @c event_info is NULL. + * + * Setup the tooltip to object. The object can have only one tooltip, + * so any previous tooltip data is removed. @p func(with @p data) will + * be called every time that need show the tooltip and it should + * return a valid Evas_Object. This object is then managed fully by + * tooltip system and is deleted when the tooltip is gone. + * + * @ingroup Tooltips + */ EAPI voidelm_object_tooltip_content_cb_set(Evas_Object *obj, Elm_Tooltip_Content_Cb func, const void *data, Evas_Smart_Cb del_cb); + +/** + * @brief Unset tooltip from object + * + * @param obj Target object + * + * Remove tooltip from object. The callback provided as del_cb to + * elm_object_tooltip_content_cb_set() will be called to notify it is + * not used anymore. + * + * @see elm_object_tooltip_content_cb_set() + * + * @ingroup Tooltips + */ EAPI voidelm_object_tooltip_unset(Evas_Object *obj); /** - * Sets a different style for this object tooltip. + * @brief Set a different style for this object tooltip. * * @note before you set a style you should define a tooltip with * elm_object_tooltip_content_cb_set() or @@ -149,7 +206,7 @@ EAPI voidelm_object_tooltip_unset(Evas_Object *obj); EAPI voidelm_object_tooltip_style_set(Evas_Object *obj, const char *style); /** - * Get the style for this object tooltip. + * @brief Get the style for this object tooltip. * * @param obj an object with tooltip already set. * @return style the theme style in use, defaults to "default". If the @@ -161,6 +218,7 @@ EAPI const char *elm_object_tooltip_style_get(const Evas_Object *obj); /** * @brief Disable size restrictions on an object's tooltip + * * @param obj The tooltip's anchor object * @param disable If EINA_TRUE, size restrictions are disabled * @return EINA_FALSE on failure, EINA_TRUE on success @@ -174,6 +232,7 @@ EAPI Eina_Bool elm_object_tooltip_window_mode_set(Evas_Object *obj, Eina_Bool /** * @brief Retrieve size restric
Re: [E-devel] the great commit access purge of march 2014... LOOK FOR YOUR NAME!
Hey guys! I do have ongoing stuff that will be soon committed: may you remove me from the list? Thank you! Cheers, - Mail original - > De: "Carsten Haitzler" > À: "e" > Envoyé: Mercredi 19 Mars 2014 15:09:17 > Objet: [E-devel] the great commit access purge of march 2014... LOOK FOR > YOUR NAME! > > this is pretty simple. i made a list of everyone who has not > committed to any > git repository we have for the past 6 months. slight problem is that > people > don't keep their email addresses up to date in info.txt vs their git > author > email, so i've had to manually check almost everyone. (i made a > script to help > automate this but it was getting stuff wrong)... > > SO here is the list. if your user id/login is on it and you think it > should be > taken off... SAY SO. if you don't say something soon... you'll get > moved to our > inactive dev pool and commit access will be removed. > > so RESPOND ASAP if you want yourself off this list! > > acidx > andreas > aron > bdilly > ceolin > dorileo > dresb > etrunko > fidencio > gastal > gouache > hyoyoung > illogict > inc > jeffdameth > jypark > kakaroto > kiwi > mej > mello > mickeyl > mike_m > monkeyiq > nash > onefang > pespin > playya > princeamd > rakuco > raoul > rfonseca > rui > shorne > thanatermesis > tiago > urandom > watchwolf > xhell > > -- > - Codito, ergo sum - "I code, therefore I am" > -- > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > -- > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: [Elm_Entry] Update selection handlers position and its visibility when scrolling
raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=25664da87d6988020e31f01cfb48fd6641d2b01f commit 25664da87d6988020e31f01cfb48fd6641d2b01f Author: Thiep Ha Date: Thu Mar 20 19:33:42 2014 +0900 [Elm_Entry] Update selection handlers position and its visibility when scrolling Summary: Selection handlers' position are not updated when entry is scrolled. You can check on elementary_test -> Entry 3 (or Entry 4 which is scrollable) -> Select some text -> Scroll entry and see. This patch is submitted to fix this bug. It update selection handlers' position when entry is scrolled and hide them if needed. @fix Reviewers: raster Differential Revision: https://phab.enlightenment.org/D640 --- src/lib/elm_entry.c | 108 +++- 1 file changed, 98 insertions(+), 10 deletions(-) diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c index ef567c9..ac88619 100644 --- a/src/lib/elm_entry.c +++ b/src/lib/elm_entry.c @@ -388,6 +388,39 @@ _hide_selection_handler(Evas_Object *obj) sd->end_handler_shown = EINA_FALSE; } +static Eina_Rectangle * +_viewport_region_get(Evas_Object *obj) +{ + ELM_ENTRY_DATA_GET(obj, sd); + Eina_Rectangle *rect = eina_rectangle_new(0, 0, 0, 0); + Evas_Object *parent; + + if (sd->scroll) + evas_object_geometry_get(sd->scr_edje, &rect->x, &rect->y, &rect->w, &rect->h); + else + evas_object_geometry_get(sd->entry_edje, &rect->x, &rect->y, &rect->w, &rect->h); + + parent = elm_widget_parent_get(obj); + while (parent) + { +if (eo_isa(parent, ELM_INTERFACE_SCROLLABLE_CLASS)) + { + Eina_Rectangle *pr = eina_rectangle_new(0, 0, 0, 0); + evas_object_geometry_get(parent, &pr->x, &pr->y, &pr->w, &pr->h); + if (!eina_rectangle_intersection(rect, pr)) + { + rect->x = rect->y = rect->w = rect->h = 0; + eina_rectangle_free(pr); + break; + } + eina_rectangle_free(pr); + } +parent = elm_widget_parent_get(parent); + } + + return rect; +} + static void _update_selection_handler(Evas_Object *obj) { @@ -400,6 +433,11 @@ _update_selection_handler(Evas_Object *obj) if (!sd->sel_handler_disabled) { +Eina_Rectangle *rect; +Evas_Coord hx, hy; +Eina_Bool hidden = EINA_FALSE; + +rect = _viewport_region_get(obj); start_pos = edje_object_part_text_cursor_pos_get (sd->entry_edje, "elm.text", EDJE_CURSOR_SELECTION_BEGIN); end_pos = edje_object_part_text_cursor_pos_get @@ -407,7 +445,7 @@ _update_selection_handler(Evas_Object *obj) evas_object_geometry_get(sd->entry_edje, &ent_x, &ent_y, NULL, NULL); last_pos = edje_object_part_text_cursor_pos_get(sd->entry_edje, "elm.text", -EDJE_CURSOR_MAIN); +EDJE_CURSOR_MAIN); edje_object_part_text_cursor_pos_set(sd->entry_edje, "elm.text", EDJE_CURSOR_MAIN, start_pos); edje_object_part_text_cursor_geometry_get(sd->entry_edje, "elm.text", @@ -418,27 +456,67 @@ _update_selection_handler(Evas_Object *obj) &ex, &ey, NULL, &eh); edje_object_part_text_cursor_pos_set(sd->entry_edje, "elm.text", EDJE_CURSOR_MAIN, last_pos); -if (!sd->start_handler_shown) +if (start_pos < end_pos) + { + hx = ent_x + sx; + hy = ent_y + sy + sh; + evas_object_move(sd->start_handler, hx, hy); + } +else + { + hx = ent_x + ex; + hy = ent_y + ey + eh; + evas_object_move(sd->start_handler, hx, hy); + } +if (!eina_rectangle_xcoord_inside(rect, hx) || +!eina_rectangle_ycoord_inside(rect, hy)) + { + hidden = EINA_TRUE; + } +if (!sd->start_handler_shown && !hidden) { edje_object_signal_emit(sd->start_handler, "elm,handler,show", "elm"); sd->start_handler_shown = EINA_TRUE; } +else if (sd->start_handler_shown && hidden) + { + edje_object_signal_emit(sd->start_handler, + "elm,handler,hide", "elm"); + sd->start_handler_shown = EINA_FALSE; + } + +hidden = EINA_FALSE; if (start_pos < end_pos) - evas_object_move(sd->start_handler, ent_x + sx, ent_y + sy + sh); + { + hx = ent_x + ex; + hy = ent_y + ey + eh; + evas_object_move(sd->end_handler, hx, hy); + } else -
[EGIT] [core/enlightenment] master 03/03: bugfix: Fix crash on eglTerminate with buggy Nvidia blob driver
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=db40e4b67eec3182831f51ce1f084656bf662f51 commit db40e4b67eec3182831f51ce1f084656bf662f51 Author: Chris Michael Date: Thu Mar 20 10:17:46 2014 + bugfix: Fix crash on eglTerminate with buggy Nvidia blob driver NB: Thanks for the report cedric ;) Signed-off-by: Chris Michael --- src/bin/e_comp_wl.c | 24 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index aefb315..9df65b9 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -224,6 +224,9 @@ static const struct wl_pointer_grab_interface _e_drag_grab_interface = /* local variables */ static Ecore_Idler *_module_idler = NULL; +#ifdef HAVE_WAYLAND_EGL +static Eina_Bool can_terminate = EINA_TRUE; +#endif /* external variables */ EAPI E_Wayland_Compositor *_e_wl_comp; @@ -278,12 +281,25 @@ e_comp_wl_init(void) else { EGLint major, minor; +const char *vendor; + +/* FIXME: HACK: + * + * Frenchie reports major icky crash with Binary Nvidia Driver and + * calling eglTerminate. Let's hack around that */ +vendor = + (const char *)eglQueryString(_e_wl_comp->egl.display, EGL_VENDOR); +if (vendor) + { + if (!strcmp(vendor, "NVIDIA Corporation")) + can_terminate = EINA_FALSE; + } /* try to initialize egl */ if (!eglInitialize(_e_wl_comp->egl.display, &major, &minor)) { ERR("Could not initialize EGL: %m"); - eglTerminate(_e_wl_comp->egl.display); + if (can_terminate) eglTerminate(_e_wl_comp->egl.display); } else { @@ -295,13 +311,12 @@ e_comp_wl_init(void) EGL_ALPHA_SIZE, 1, EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, EGL_NONE }; - /* const char *exts; */ if ((!eglChooseConfig(_e_wl_comp->egl.display, attribs, &_e_wl_comp->egl.config, 1, &n) || (n == 0))) { ERR("Could not choose EGL config: %m"); - eglTerminate(_e_wl_comp->egl.display); + if (can_terminate) eglTerminate(_e_wl_comp->egl.display); } } } @@ -366,7 +381,8 @@ err: _e_wl_comp->egl.unbind_display(_e_wl_comp->egl.display, _e_wl_comp->wl.display); /* terminate the egl display */ - if (_e_wl_comp->egl.display) eglTerminate(_e_wl_comp->egl.display); + if ((_e_wl_comp->egl.display) && (can_terminate)) + eglTerminate(_e_wl_comp->egl.display); eglReleaseThread(); #endif --
[EGIT] [core/enlightenment] master 02/03: Don't leak the allocated client object if we are returning null from e_client_new
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=52532f9a324b34a90869fd541e090a0193019c0c commit 52532f9a324b34a90869fd541e090a0193019c0c Author: Chris Michael Date: Wed Mar 19 08:36:34 2014 + Don't leak the allocated client object if we are returning null from e_client_new Signed-off-by: Chris Michael --- src/bin/e_client.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 579a4eb..663aa03 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -2263,7 +2263,13 @@ e_client_new(E_Comp *c, E_Pixmap *cp, int first_map, int internal) ec->new_client = 1; ec->comp->new_clients++; - if (!_e_client_hook_call(E_CLIENT_HOOK_NEW_CLIENT, ec)) return NULL; + if (!_e_client_hook_call(E_CLIENT_HOOK_NEW_CLIENT, ec)) + { +/* delete the above allocated object */ +e_object_del(E_OBJECT(ec)); +return NULL; + } + if (ec->override) _e_client_zone_update(ec); else --
[EGIT] [core/enlightenment] master 01/03: Use ecore_wl functions to return the pointer location if we are running as wayland-only
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=5b77c566e614410d9c5e34ebff65a02b4b54 commit 5b77c566e614410d9c5e34ebff65a02b4b54 Author: Chris Michael Date: Wed Mar 19 08:16:54 2014 + Use ecore_wl functions to return the pointer location if we are running as wayland-only Signed-off-by: Chris Michael --- src/bin/e_pointer.c | 9 + 1 file changed, 9 insertions(+) diff --git a/src/bin/e_pointer.c b/src/bin/e_pointer.c index fd12f15..829e56d 100644 --- a/src/bin/e_pointer.c +++ b/src/bin/e_pointer.c @@ -451,7 +451,10 @@ _e_pointer_cb_idle_timer_pre(void *data) if (!(p = data)) return ECORE_CALLBACK_RENEW; #ifndef HAVE_WAYLAND_ONLY ecore_x_pointer_xy_get(p->win, &x, &y); +#else + ecore_wl_pointer_xy_get(&x, &y); #endif + p->x = x; p->y = y; if (p->canvas) @@ -502,7 +505,10 @@ _e_pointer_cb_idle_poller(void *data) /* check if pointer actually moved since the 1 second post-mouse move idle * pre-timer that fetches the position */ ecore_x_pointer_xy_get(p->win, &x, &y); +#else + ecore_wl_pointer_xy_get(&x, &y); #endif + if ((x != p->x) || (y != p->y)) { /* it moved - so we are not idle yet - record position and wait @@ -592,6 +598,9 @@ e_pointer_canvas_new(Evas *e, int filled) evas_object_image_alpha_set(p->pointer_image, 1); evas_object_show(p->pointer_image); + /* FIXME: If we are running wayland only, we should have a function call +* here to tell evas to place this object a hardware plane */ + if (filled) e_pointer_type_push(p, p, "default"); if (!p->evas) _e_pointer_canvas_add(p); _e_pointers = eina_list_append(_e_pointers, p); --
Re: [E-devel] the great commit access purge of march 2014... LOOK FOR YOUR NAME!
On Thu, 20 Mar 2014 10:05:17 +1000 David Seikel said: > On Wed, 19 Mar 2014 23:09:17 +0900 Carsten Haitzler (The Rasterman) > wrote: > > > this is pretty simple. i made a list of everyone who has not > > committed to any git repository we have for the past 6 months. slight > > problem is that people don't keep their email addresses up to date in > > info.txt vs their git author email, so i've had to manually check > > almost everyone. (i made a script to help automate this but it was > > getting stuff wrong)... > > > > SO here is the list. if your user id/login is on it and you think it > > should be taken off... SAY SO. if you don't say something soon... > > you'll get moved to our inactive dev pool and commit access will be > > removed. > > > > so RESPOND ASAP if you want yourself off this list! > > > > acidx > > andreas > > aron > > bdilly > > ceolin > > dorileo > > dresb > > etrunko > > fidencio > > gastal > > gouache > > hyoyoung > > illogict > > inc > > jeffdameth > > jypark > > kakaroto > > kiwi > > mej > > mello > > mickeyl > > mike_m > > monkeyiq > > nash > > onefang > > Well, I was gonna contribute some Edje Lua stuff this week, but ... > > Thought I pushed some stuff to my build script in the last six months > though? > > Take me off this list any way please? off. :) -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: config: add a field in key binding data structure
raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=12bc779c4e401792738f6a7cbe48f11fb3f08c39 commit 12bc779c4e401792738f6a7cbe48f11fb3f08c39 Author: Jaeun Choi Date: Thu Mar 20 18:42:20 2014 +0900 config: add a field in key binding data structure Summary: This patch adds a field "no_string" in key binding data structure. It is necessary for checking "string" field in evas key down event. Test Plan: None Reviewers: Hermet, raster Reviewed By: raster Differential Revision: https://phab.enlightenment.org/D641 --- config/default/base.src | 3 +++ config/standard/base.src | 3 +++ src/lib/elm_config.c | 4 +++- src/lib/elm_priv.h | 1 + 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/config/default/base.src b/config/default/base.src index 1ec7bfa..cbf5258 100644 --- a/config/default/base.src +++ b/config/default/base.src @@ -256,6 +256,7 @@ group "Elm_Config" struct { value "action" string: "toggle"; value "params" string: ""; value "any_mod" uchar: 1; + value "no_string" uchar: 0; } group "Elm_Config_Binding_Key" struct { value "context" int: 0; @@ -264,6 +265,7 @@ group "Elm_Config" struct { value "action" string: "toggle"; value "params" string: ""; value "any_mod" uchar: 1; + value "no_string" uchar: 0; } group "Elm_Config_Binding_Key" struct { value "context" int: 0; @@ -272,6 +274,7 @@ group "Elm_Config" struct { value "action" string: "toggle"; value "params" string: ""; value "any_mod" uchar: 1; + value "no_string" uchar: 0; } } } diff --git a/config/standard/base.src b/config/standard/base.src index a636416..13073c6 100644 --- a/config/standard/base.src +++ b/config/standard/base.src @@ -257,6 +257,7 @@ group "Elm_Config" struct { value "action" string: "toggle"; value "params" string: ""; value "any_mod" uchar: 1; + value "no_string" uchar: 0; } group "Elm_Config_Binding_Key" struct { value "context" int: 0; @@ -265,6 +266,7 @@ group "Elm_Config" struct { value "action" string: "toggle"; value "params" string: ""; value "any_mod" uchar: 1; + value "no_string" uchar: 0; } group "Elm_Config_Binding_Key" struct { value "context" int: 0; @@ -273,6 +275,7 @@ group "Elm_Config" struct { value "action" string: "toggle"; value "params" string: ""; value "any_mod" uchar: 1; + value "no_string" uchar: 0; } } } diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c index 33d21db..dea64ce 100644 --- a/src/lib/elm_config.c +++ b/src/lib/elm_config.c @@ -451,6 +451,7 @@ _desc_init(void) ELM_CONFIG_VAL(D, T, action, EET_T_STRING); ELM_CONFIG_VAL(D, T, params, EET_T_STRING); ELM_CONFIG_VAL(D, T, any_mod, EET_T_UCHAR); + ELM_CONFIG_VAL(D, T, no_string, EET_T_UCHAR); #undef T #undef D @@ -2128,7 +2129,8 @@ _elm_config_key_binding_call(Evas_Object *obj, if (binding->key && (!strcmp(binding->key, ev->keyname)) && ((evas_key_modifier_is_set (ev->modifiers, binding->modifiers) - || (binding->any_mod + || (binding->any_mod))) + && !(ev->string && binding->no_string)) { while (actions[i].name) { diff --git a/src/lib/elm_priv.h b/src/lib/elm_priv.h index aa1f66a..85e421c 100644 --- a/src/lib/elm_priv.h +++ b/src/lib/elm_priv.h @@ -300,6 +300,7 @@ struct _Elm_Config_Binding_Key const char *action; const char *params; unsigned char any_mod; + unsigned char no_string; }; struct _Elm_Module --
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm_widget: Restore removed codes while eolian work.
On 20/03/14 09:17, Daniel Zaoui wrote: > On 03/20/2014 11:01 AM, Tom Hacohen wrote: >> On 20/03/14 03:55, WooHyun Jung wrote: >>> woohyun pushed a commit to branch master. >>> >>> http://git.enlightenment.org/core/elementary.git/commit/?id=6c05e867896eb998730cb92af94a4d56d4d8fe9c >>> >>> commit 6c05e867896eb998730cb92af94a4d56d4d8fe9c >>> Author: WooHyun Jung >>> Date: Thu Mar 20 12:55:28 2014 +0900 >>> >>>elm_widget: Restore removed codes while eolian work. >>> --- >>> src/lib/elm_widget.c | 8 +++- >>> 1 file changed, 7 insertions(+), 1 deletion(-) >>> >>> diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c >>> index 25f1786..a212099 100644 >>> --- a/src/lib/elm_widget.c >>> +++ b/src/lib/elm_widget.c >>> @@ -2841,7 +2841,13 @@ _elm_widget_focus_region_get(Eo *obj, >>> Elm_Widget_Smart_Data *_pd EINA_UNUSED, Ev >>> { >>>Eina_Bool int_ret = EINA_FALSE; >>>eo_do((Eo *)obj, elm_obj_widget_on_focus_region(x, y, w, h, >>> &int_ret)); >>> - return int_ret; >>> + if (!int_ret) >>> + { >>> +evas_object_geometry_get(obj, NULL, NULL, w, h); >>> +if (x) *x = 0; >>> +if (y) *y = 0; >>> + } >>> + return EINA_TRUE; >>> } >>> >>> EOLIAN static void >>> >> If this behaviour is wanted, why not add it to the actual function >> implementation? > > He added it right, i.e in the function invoked by Eolian. > > I will take a look again at my patch in elm_widget.c, to be sure there > is no missed code part. > So all of what this eo function does is call another eo function? That's odd. -- Tom. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm_widget: Restore removed codes while eolian work.
On 03/20/2014 11:01 AM, Tom Hacohen wrote: > On 20/03/14 03:55, WooHyun Jung wrote: >> woohyun pushed a commit to branch master. >> >> http://git.enlightenment.org/core/elementary.git/commit/?id=6c05e867896eb998730cb92af94a4d56d4d8fe9c >> >> commit 6c05e867896eb998730cb92af94a4d56d4d8fe9c >> Author: WooHyun Jung >> Date: Thu Mar 20 12:55:28 2014 +0900 >> >> elm_widget: Restore removed codes while eolian work. >> --- >>src/lib/elm_widget.c | 8 +++- >>1 file changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c >> index 25f1786..a212099 100644 >> --- a/src/lib/elm_widget.c >> +++ b/src/lib/elm_widget.c >> @@ -2841,7 +2841,13 @@ _elm_widget_focus_region_get(Eo *obj, >> Elm_Widget_Smart_Data *_pd EINA_UNUSED, Ev >>{ >> Eina_Bool int_ret = EINA_FALSE; >> eo_do((Eo *)obj, elm_obj_widget_on_focus_region(x, y, w, h, &int_ret)); >> - return int_ret; >> + if (!int_ret) >> + { >> +evas_object_geometry_get(obj, NULL, NULL, w, h); >> +if (x) *x = 0; >> +if (y) *y = 0; >> + } >> + return EINA_TRUE; >>} >> >>EOLIAN static void >> > If this behaviour is wanted, why not add it to the actual function > implementation? He added it right, i.e in the function invoked by Eolian. I will take a look again at my patch in elm_widget.c, to be sure there is no missed code part. > > -- > Tom. > > > -- > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm_widget: Restore removed codes while eolian work.
On 20/03/14 03:55, WooHyun Jung wrote: > woohyun pushed a commit to branch master. > > http://git.enlightenment.org/core/elementary.git/commit/?id=6c05e867896eb998730cb92af94a4d56d4d8fe9c > > commit 6c05e867896eb998730cb92af94a4d56d4d8fe9c > Author: WooHyun Jung > Date: Thu Mar 20 12:55:28 2014 +0900 > > elm_widget: Restore removed codes while eolian work. > --- > src/lib/elm_widget.c | 8 +++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c > index 25f1786..a212099 100644 > --- a/src/lib/elm_widget.c > +++ b/src/lib/elm_widget.c > @@ -2841,7 +2841,13 @@ _elm_widget_focus_region_get(Eo *obj, > Elm_Widget_Smart_Data *_pd EINA_UNUSED, Ev > { > Eina_Bool int_ret = EINA_FALSE; > eo_do((Eo *)obj, elm_obj_widget_on_focus_region(x, y, w, h, &int_ret)); > - return int_ret; > + if (!int_ret) > + { > +evas_object_geometry_get(obj, NULL, NULL, w, h); > +if (x) *x = 0; > +if (y) *y = 0; > + } > + return EINA_TRUE; > } > > EOLIAN static void > If this behaviour is wanted, why not add it to the actual function implementation? -- Tom. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: Eolian/Lexer: fix parsing of parameters direction.
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bfbcc47d44348d51510bcfa92163f31e375bc61b commit bfbcc47d44348d51510bcfa92163f31e375bc61b Author: Daniel Zaoui Date: Thu Mar 20 10:20:10 2014 +0200 Eolian/Lexer: fix parsing of parameters direction. strncmp bytes number was not correct. A problem in the generation was occurring when the parameter is @inout, as it is considered as @in and the type was "out ...". --- src/lib/eolian/eo_lexer.c | 6 +++--- src/lib/eolian/eo_lexer.rl | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c index 6c92ea2..aee2ae4 100644 --- a/src/lib/eolian/eo_lexer.c +++ b/src/lib/eolian/eo_lexer.c @@ -220,17 +220,17 @@ _eo_tokenizer_param_get(Eo_Tokenizer *toknz, char *p) s++; param->way = PARAM_IN; - if (strncmp(toknz->saved.tok, "@in ", 3) == 0) + if (strncmp(toknz->saved.tok, "@in ", 4) == 0) { toknz->saved.tok += 3; param->way = PARAM_IN; } - else if (strncmp(toknz->saved.tok, "@out ", 4) == 0) + else if (strncmp(toknz->saved.tok, "@out ", 5) == 0) { toknz->saved.tok += 4; param->way = PARAM_OUT; } - else if (strncmp(toknz->saved.tok, "@inout ", 6) == 0) + else if (strncmp(toknz->saved.tok, "@inout ", 7) == 0) { toknz->saved.tok += 6; param->way = PARAM_INOUT; diff --git a/src/lib/eolian/eo_lexer.rl b/src/lib/eolian/eo_lexer.rl index 86deafa..7720302 100644 --- a/src/lib/eolian/eo_lexer.rl +++ b/src/lib/eolian/eo_lexer.rl @@ -218,17 +218,17 @@ _eo_tokenizer_param_get(Eo_Tokenizer *toknz, char *p) s++; param->way = PARAM_IN; - if (strncmp(toknz->saved.tok, "@in ", 3) == 0) + if (strncmp(toknz->saved.tok, "@in ", 4) == 0) { toknz->saved.tok += 3; param->way = PARAM_IN; } - else if (strncmp(toknz->saved.tok, "@out ", 4) == 0) + else if (strncmp(toknz->saved.tok, "@out ", 5) == 0) { toknz->saved.tok += 4; param->way = PARAM_OUT; } - else if (strncmp(toknz->saved.tok, "@inout ", 6) == 0) + else if (strncmp(toknz->saved.tok, "@inout ", 7) == 0) { toknz->saved.tok += 6; param->way = PARAM_INOUT; --
[EGIT] [core/efl] master 01/01: fix dbus service file complaint to work again.
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f48741d93dea2890448daaff733441db78417c96 commit f48741d93dea2890448daaff733441db78417c96 Author: Carsten Haitzler (Rasterman) Date: Thu Mar 20 17:20:53 2014 +0900 fix dbus service file complaint to work again. --- configure.ac | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 3795031..731b7c9 100644 --- a/configure.ac +++ b/configure.ac @@ -4520,6 +4520,9 @@ if test "x$prefix" != "x/usr"; then done resolved_dbusservicedir=$path +echo "GGG" +echo "$resolved_dbusservicedir" +echo "GGG" old= path=$USER_SESSION_DIR while test "x$old" != "x$path"; do @@ -4542,7 +4545,7 @@ if test "x$prefix" != "x/usr"; then AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER]) elif echo "$XDG_DATA_DIRS" | grep -e "$resolved_datadir" >/dev/null 2>/dev/null; then AC_MSG_NOTICE([installing DBus services in "$resolved_datadir" set in \$XDG_DATA_DIRS. Every user must have \$XDG_DATA_DIRS containing "$resolved_datadir".]) - elif echo "$resolved_dbusservicedir" | grep -e '^/usr' >/dev/null 2>/dev/null; then + elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir]) else needs_alert_dbus=1 @@ -4556,7 +4559,7 @@ if test "x$prefix" != "x/usr"; then AC_MSG_NOTICE([installing systemd services in "$base_USER_SESSION_DIR" set in \$XDG_DATA_DIRS. Every user must have \$XDG_DATA_DIRS containing "$base_USER_SESSION_DIR".]) elif echo "$XDG_CONFIG_DIRS" | grep -e "$base_USER_SESSION_DIR" >/dev/null 2>/dev/null; then AC_MSG_NOTICE([installing systemd services in "$base_USER_SESSION_DIR" set in \$XDG_CONFIG_DIRS. Every user must have \$XDG_CONFIG_DIRS containing "$base_USER_SESSION_DIR".]) -elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr' >/dev/null 2>/dev/null; then +elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR]) else needs_alert_systemd=1 --
[EGIT] [core/efl] master 01/06: efl/eina: General cleanup of Eina documentation
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cf5192025f3aa21115580aa6577eb0f12c2f6ec2 commit cf5192025f3aa21115580aa6577eb0f12c2f6ec2 Author: Jeff Grimshaw Date: Thu Mar 20 16:35:41 2014 +0900 efl/eina: General cleanup of Eina documentation Summary: I've combed through the Eina source files and made enhancements to the documentation, including: - Document the undocumented - Fixed some errors in Doxygen markup - Moved some function documentation from implementation (.c or .x) to definition (.h) - Edited some of the entries to improve clarity Test Plan: Reviewers Reviewers: cedric Reviewed By: cedric CC: cedric Differential Revision: https://phab.enlightenment.org/D639 --- src/lib/eina/eina_accessor.h | 1 + src/lib/eina/eina_alloca.h | 4 + src/lib/eina/eina_array.h| 128 +- src/lib/eina/eina_binbuf.h | 2 +- src/lib/eina/eina_clist.h| 7 +- src/lib/eina/eina_convert.h | 6 +- src/lib/eina/eina_cow.h | 2 + src/lib/eina/eina_file.h | 74 ++- src/lib/eina/eina_file_common.h | 272 +-- src/lib/eina/eina_hash.h | 86 - src/lib/eina/eina_inarray.h | 1 + src/lib/eina/eina_inline_array.x | 61 + src/lib/eina/eina_inlist.h | 6 +- src/lib/eina/eina_lalloc.h | 53 src/lib/eina/eina_list.h | 14 +- src/lib/eina/eina_log.h | 58 ++--- src/lib/eina/eina_types.h| 5 + 17 files changed, 581 insertions(+), 199 deletions(-) diff --git a/src/lib/eina/eina_accessor.h b/src/lib/eina/eina_accessor.h index 3de6e42..7e24779 100644 --- a/src/lib/eina/eina_accessor.h +++ b/src/lib/eina/eina_accessor.h @@ -157,6 +157,7 @@ typedef Eina_Accessor* (*Eina_Accessor_Clone_Callback)(Eina_Accessor *it); * Type to provide random access to data structures. * * If creating an accessor remember to set the type using @ref EINA_MAGIC_SET. + * */ struct _Eina_Accessor { diff --git a/src/lib/eina/eina_alloca.h b/src/lib/eina/eina_alloca.h index bb52955..53e706f 100644 --- a/src/lib/eina/eina_alloca.h +++ b/src/lib/eina/eina_alloca.h @@ -39,6 +39,10 @@ # ifdef __cplusplus extern "C" # endif +/** + * Allocates memory in the stack frame of the caller, so it's automatically + * freed when the caller returns. See alloca(3) for detials. + */ void *alloca (long); # endif #endif diff --git a/src/lib/eina/eina_array.h b/src/lib/eina/eina_array.h index 5a5199e..07234cd 100644 --- a/src/lib/eina/eina_array.h +++ b/src/lib/eina/eina_array.h @@ -49,13 +49,13 @@ * Before we can start using any array function we need to initialize eina: * @until eina_init * - * So now to actually creating our array. The only interesting thing here is the - * argument given to the eina_array_new() function, this argument sets how fast + * So now to actually create our array. The only interesting thing here is the + * argument given to the eina_array_new() function. This argument sets how fast * the array grows. * @until array_new * * If you know before hand how big the array will need to be you should set the - * step to that. In our case we can set it to the number of string we have and + * step to that. In our case we can set it to the number of strings we have and * since we didn't do that in the eina_array_new() we can do it now: * @until array_step_set * @@ -82,8 +82,8 @@ * And finally shutdown eina and exit: * @until } * - * The full source code can be found on the examples folder - * on the @ref eina_array_01_c "eina_array_01.c" file. + * The full source code can be found in the examples folder + * in the @ref eina_array_01_c "eina_array_01.c" file. */ /** @@ -102,7 +102,7 @@ * @until Eina.h * * This the callback we are going to use to decide which strings stay on the - * array and which will be removed, we use something simple, but this can be as + * array and which will be removed. We use something simple, but this can be as * complex as you like: * @until } * @@ -127,8 +127,8 @@ * Since this time we didn't use strdup we don't need to free each string: * @until } * - * The full source code can be found on the examples folder - * on the @ref eina_array_02_c "eina_array_02.c" file. + * The full source code can be found in the examples folder + * in the @ref eina_array_02_c "eina_array_02.c" file. */ /** @@ -146,7 +146,7 @@ * The Array data type in Eina is designed to have very fast access to * its data (compared to the Eina @ref Eina_List_Group). On the other hand, * data can be added or removed only at the end of the array. To insert - * data at any place, the Eina @ref Eina_List_Group is the correct container + * data at any position, the Eina @ref Eina_List_Group is the correct container * to use. * * To use the array
[EGIT] [core/efl] master 06/06: evas: let's be more resistant even with things that should never happen.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=837391c5da5a8eb5050bdf4001b79c0ead61de12 commit 837391c5da5a8eb5050bdf4001b79c0ead61de12 Author: Cedric BAIL Date: Thu Mar 20 16:53:13 2014 +0900 evas: let's be more resistant even with things that should never happen. Fix CID 1193212. --- src/modules/evas/engines/gl_common/evas_gl_context.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/evas/engines/gl_common/evas_gl_context.c b/src/modules/evas/engines/gl_common/evas_gl_context.c index f044a2f..79e33fe 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_context.c +++ b/src/modules/evas/engines/gl_common/evas_gl_context.c @@ -372,6 +372,7 @@ _evas_gl_common_version_check() return 0; tmp = strchr(version, '.'); + if (!tmp) return 0; /* the first '.' always exists */ *tmp = '\0'; major = atoi(version); --
[EGIT] [core/efl] master 02/06: eio: let's not divide by 0.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=41a9e2149e7b118e73578afa7f499021f7bfb06a commit 41a9e2149e7b118e73578afa7f499021f7bfb06a Author: Cedric BAIL Date: Thu Mar 20 16:47:25 2014 +0900 eio: let's not divide by 0. fix CID 1193208. --- src/lib/eio/eio_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/eio/eio_main.c b/src/lib/eio/eio_main.c index 632d022..812437d 100644 --- a/src/lib/eio/eio_main.c +++ b/src/lib/eio/eio_main.c @@ -149,7 +149,7 @@ eio_progress_send(Ecore_Thread *thread, Eio_File_Progress *op, long long current progress->op = op->op; progress->current = current; progress->max = max; - progress->percent = (float) current * 100.0 / (float) max; + progress->percent = max ? (float) current * 100.0 / (float) max : 100; progress->source = eina_stringshare_ref(op->source); progress->dest = eina_stringshare_ref(op->dest); --
[EGIT] [core/efl] master 04/06: evas: let's be to safe than sorry.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fe2948be084075b529cc009a0b41850807f50fd0 commit fe2948be084075b529cc009a0b41850807f50fd0 Author: Cedric BAIL Date: Thu Mar 20 16:50:48 2014 +0900 evas: let's be to safe than sorry. Fix CID 1193214. --- src/lib/evas/canvas/evas_object_textblock.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index 16367df..3b22bf0 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -2262,6 +2262,7 @@ _format_param_parse(const char *item, const char **key, Eina_Tmpstr **val) size_t len; start = strchr(item, '='); + if (!start) return ; *key = eina_stringshare_add_length(item, start - item); start++; /* Advance after the '=' */ /* If we can find a quote as the first non-space char, --
[EGIT] [core/efl] master 03/06: edje: let's be careful on the string content.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=15654012a69db7380c050d3cbf65b79ddb8fb92f commit 15654012a69db7380c050d3cbf65b79ddb8fb92f Author: Cedric BAIL Date: Thu Mar 20 16:48:38 2014 +0900 edje: let's be careful on the string content. Fix CID 1193215. --- src/bin/edje/edje_inspector.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/edje/edje_inspector.c b/src/bin/edje/edje_inspector.c index 8dc8525..d0d5360 100644 --- a/src/bin/edje/edje_inspector.c +++ b/src/bin/edje/edje_inspector.c @@ -873,6 +873,7 @@ part_details(Evas_Object *ed, const char *ppart) double value; eina_strlcpy(state, str, sizeof(state)); /* bad states_list! :-( */ delim = strchr(state, ' '); +if (!delim) continue ; *delim = '\0'; delim++; value = strtod(delim, NULL); --
[EGIT] [core/efl] master 05/06: edje: let's be more careful with string.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f26b370584c6c080e3418ce5c8f5a74bb8b7d384 commit f26b370584c6c080e3418ce5c8f5a74bb8b7d384 Author: Cedric BAIL Date: Thu Mar 20 16:51:48 2014 +0900 edje: let's be more careful with string. Fix CID 1193213. --- src/lib/edje/edje_edit.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index ef7ade0..7f3d9da 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -7654,7 +7654,8 @@ _edje_generate_source_of_part(Evas_Object *obj, Edje_Part *ep, Eina_Strbuf *buf) char state[512], *delim; double value; strncpy(state, data, sizeof(state) - 1); /* if we go over it, too bad.. the list of states may need to change to provide name and value separated */ - delim = strchr(state, ' '); +delim = strchr(state, ' '); +if (!delim) continue; *delim = '\0'; delim++; value = strtod(delim, NULL); --
Re: [E-devel] [EGIT] [core/efl] master 01/01: Add new PLUGIN_RUN action type and new plugins.plugin handlers 1. If external library is commerical source and not opensource, we cannot include/build the
Thanks for the update. Daniel Juyung Seo (SeoZ) On Thu, Mar 20, 2014 at 3:12 PM, Bluezery wrote: > I should use "arc diff --edit --update D588" to update git commit message > instead of "git commit --amend && arc diff --update D643" :-( > I updated documentation: > https://phab.enlightenment.org/w/arcanist/ > 2014-03-20 13:42 GMT+09:00 Daniel Juyung Seo : > > > Wow this is the longest commit summary line among all the commits I have > > seen these days. > > > > Daniel Juyung Seo (SeoZ) > > > > > > On Thu, Mar 20, 2014 at 1:01 PM, Tae-Hwan Kim > > wrote: > > > > > raster pushed a commit to branch master. > > > > > > > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=3061a706c4ca02eb876799da07dae72c24cf4507 > > > > > > commit 3061a706c4ca02eb876799da07dae72c24cf4507 > > > Author: Tae-Hwan Kim > > > Date: Thu Mar 20 13:00:20 2014 +0900 > > > > > > Add new PLUGIN_RUN action type and new plugins.plugin handlers 1. > If > > > external library is commerical source and not opensource, we cannot > > > include/build the library within edje. 2. If external library does not > > use > > > general encodable sources, we... > > > > > > Summary: > > > ...cannot encode those things into edje. > > > > > > In our case, we need vibration when longpressed. But those files > are > > > not > > > audio or image and cannot be encoded into edje. Also, this library > is > > > not > > > opensource so should not be linked directly with edje. > > > So we should call vibration API by using this plug-in. > > > > > > Reviewers: raster, cedric, seoz, Hermet > > > > > > CC: cedric > > > > > > Differential Revision: https://phab.enlightenment.org/D588 > > > --- > -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: ecore-drm: Fix absolute motion coordinate calculation
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b87cbf8fe42865a5b9d0b62efd3517ef599fb526 commit b87cbf8fe42865a5b9d0b62efd3517ef599fb526 Author: Chris Michael Date: Thu Mar 20 07:13:52 2014 + ecore-drm: Fix absolute motion coordinate calculation @bugfix: When calculating center point for absolute motion, use the proper min_y value for calculating Y axis Signed-off-by: Chris Michael --- src/lib/ecore_drm/ecore_drm_evdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c b/src/lib/ecore_drm/ecore_drm_evdev.c index bf54c37..ed18d2c 100644 --- a/src/lib/ecore_drm/ecore_drm_evdev.c +++ b/src/lib/ecore_drm/ecore_drm_evdev.c @@ -525,7 +525,7 @@ _device_process_flush(Ecore_Drm_Evdev *dev, unsigned int timestamp) { /* start first motion as centered I guess? */ dev->mouse.x = (dev->abs.min_x + dev->abs.max_x) / 2; - dev->mouse.y = (dev->abs.max_x + dev->abs.max_y) / 2; + dev->mouse.y = (dev->abs.min_y + dev->abs.max_y) / 2; } dev->mouse.x += (dev->abs.x[0] - dev->abs.x[1]); --