[E-devel] Weekly news from the automated build and QA front
Hello. Summary: o Added new bug count on phab section (If anyone with scripting and web API skills would be motivated to help me getting all this stats in a automated way I would be very happy) The stabilization phase should give us all some time to look at issues in phab, defects in coverity or add some more regression or unit tests. No more rush on features for a while. Pick some easy things to keep you busy and have the good feeling on helping to get our code in a releasable state. This should give everyone an overview over what has happened in the last week on the QA front. The numbers in parentheses reflect the values from last week to give you a trend. CI: o Overall build statistic: 6.11% (10.65%) failed and 93.89% (89.35%) succeeded. https://build.enlightenment.org/ clang scan-build: o EFL scan-build reports 506 (507) issues. https://build.enlightenment.org/job/nightly_efl_clang_x86_64/lastSuccessfulBuild/artifact/scan-build/build/ Exactness: o The edje exactness builds are working now. Elm exactness still failing. o Problems with icons and paths (file selector widget) o Still waiting for the first successful run on jenkins Unit tests: o 276 (276) unit tests for efl and none failing Coverage: o EFL total coverage is at 25.5% (25.5%) lines and 28.2% (28.2%) functions https://build.enlightenment.org/view/Test%20Coverage/ Coverity: o EFL: Outstanding defects 419 (425) with a density of 0.78 (0.79). 4 defects fixed since last build and 0 added. o Elm: Outstanding defects 25 (35) with a density of 0.11 (0.16). 4 defects fixed since last build and 2 added. o E: Outstanding defects 197 (197) with a density of 0.70 (0.70). 0 defects fixed since last build and 0 added. o Terminology: Outstanding defects 11 (21) with a density of 0.17 (0.33). 9 defects fixed since last build and 0 added. Phab: o Total bug count: 219 (3 incoming queue, 36 high, 89 normal, 16 pending on user input, 75 wishlist) o Pending patch reviews: 12 If anybody wants to see something added here let me know and be my guest. regards Stefan Schmidt -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Enlightenment Korean Dinner
Hello everyone, As this Saturday we will see our beloved president of the Enlightenment foundation in Korea, Philippe Caseiro (Not bad for an introduction, I think I should be doing marketing !). I think it will be a good idea to plan a little diner in Seoul. So who is in on Saturday night ? And also maybe it would be nice to find a good Korean restaurant, so if anyone as a recommendation, do not be shy ! As it will be Saturday, we might need to book in advance, so please raise your hand if you are planning to come. Enjoy the party, -- Cedric BAIL -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: ecore_imf: fix indentation
jihoon pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8f15ccdce841f7be14c9d2e2c3683301d0169d21 commit 8f15ccdce841f7be14c9d2e2c3683301d0169d21 Author: Jihoon Kim jihoon48@samsung.com Date: Mon Nov 11 20:01:51 2013 +0900 ecore_imf: fix indentation --- src/lib/ecore_imf/ecore_imf_context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/ecore_imf/ecore_imf_context.c b/src/lib/ecore_imf/ecore_imf_context.c index 6b243d6..41f6bc5 100644 --- a/src/lib/ecore_imf/ecore_imf_context.c +++ b/src/lib/ecore_imf/ecore_imf_context.c @@ -184,7 +184,7 @@ ecore_imf_context_del(Ecore_IMF_Context *ctx) } if (show_req_ctx == ctx) - show_req_ctx = NULL; + show_req_ctx = NULL; if (ctx-klass-del) ctx-klass-del(ctx); --
[EGIT] [core/efl] master 01/01: Add @since in the doc of ecore_imf_input_panel_hide () API
jihoon pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d47bc408964937771e15671be752d74fcb17b424 commit d47bc408964937771e15671be752d74fcb17b424 Author: Jihoon Kim jihoon48@samsung.com Date: Mon Nov 11 20:02:51 2013 +0900 Add @since in the doc of ecore_imf_input_panel_hide () API --- src/lib/ecore_imf/Ecore_IMF.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/ecore_imf/Ecore_IMF.h b/src/lib/ecore_imf/Ecore_IMF.h index df37a4d..3d16c72 100644 --- a/src/lib/ecore_imf/Ecore_IMF.h +++ b/src/lib/ecore_imf/Ecore_IMF.h @@ -541,6 +541,7 @@ EAPI void ecore_imf_module_register(const Ecore_IMF_Con * @return EINA_TRUE if the input panel will be hidden EINA_FALSE if the input panel is already in hidden state * @ingroup Ecore_IMF_Lib_Group + * @since 1.8.0 */ EAPI Eina_Bool ecore_imf_input_panel_hide(void); --
[EGIT] [core/efl] master 01/01: evas/textblock: add const for param in evas_object_textblock_style_set for consistency
yakov pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c101d855419b26196121ac40b8d7cc421613310c commit c101d855419b26196121ac40b8d7cc421613310c Author: Yakov Goldberg yako...@samsung.com Date: Mon Nov 11 13:01:52 2013 +0200 evas/textblock: add const for param in evas_object_textblock_style_set for consistency --- src/lib/evas/Evas_Eo.h | 2 +- src/lib/evas/Evas_Legacy.h | 2 +- src/lib/evas/canvas/evas_object_textblock.c | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h index 717d434..ada41e7 100644 --- a/src/lib/evas/Evas_Eo.h +++ b/src/lib/evas/Evas_Eo.h @@ -2330,7 +2330,7 @@ enum * * @see evas_object_textblock_style_set */ -#define evas_obj_textblock_style_set(ts) EVAS_OBJ_TEXTBLOCK_ID(EVAS_OBJ_TEXTBLOCK_SUB_ID_STYLE_SET), EO_TYPECHECK(Evas_Textblock_Style *, ts) +#define evas_obj_textblock_style_set(ts) EVAS_OBJ_TEXTBLOCK_ID(EVAS_OBJ_TEXTBLOCK_SUB_ID_STYLE_SET), EO_TYPECHECK(const Evas_Textblock_Style *, ts) /** * @def evas_obj_textblock_style_get diff --git a/src/lib/evas/Evas_Legacy.h b/src/lib/evas/Evas_Legacy.h index e2dbf0e..2e6f449 100644 --- a/src/lib/evas/Evas_Legacy.h +++ b/src/lib/evas/Evas_Legacy.h @@ -5621,7 +5621,7 @@ EAPI char *evas_textblock_text_utf8_to_markup * @param ts the style to set. * @return Returns no value. */ -EAPI void evas_object_textblock_style_set(Evas_Object *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1); +EAPI void evas_object_textblock_style_set(Evas_Object *obj, const Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1); /** * Return the style of an object. diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index 63cb70d..4194aac 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -5699,7 +5699,7 @@ _textblock_style_generic_set(Evas_Object *eo_obj, Evas_Textblock_Style *ts, } EAPI void -evas_object_textblock_style_set(Evas_Object *eo_obj, Evas_Textblock_Style *ts) +evas_object_textblock_style_set(Evas_Object *eo_obj, const Evas_Textblock_Style *ts) { eo_do(eo_obj, evas_obj_textblock_style_set(ts)); } @@ -5708,8 +5708,8 @@ static void _textblock_style_set(Eo *eo_obj, void *_pd, va_list *list) { Evas_Object_Textblock *o = _pd; - Evas_Textblock_Style *ts = va_arg(*list, Evas_Textblock_Style *); - _textblock_style_generic_set(eo_obj, ts, (o-style)); + const Evas_Textblock_Style *ts = va_arg(*list, const Evas_Textblock_Style *); + _textblock_style_generic_set(eo_obj, (Evas_Textblock_Style *) ts, (o-style)); } EAPI const Evas_Textblock_Style * --
Re: [E-devel] Enlightenment Korean Dinner
On 11/11/13 10:25, Cedric BAIL wrote: Hello everyone, As this Saturday we will see our beloved president of the Enlightenment foundation in Korea, Philippe Caseiro (Not bad for an introduction, I think I should be doing marketing !). I think it will be a good idea to plan a little diner in Seoul. So who is in on Saturday night ? And also maybe it would be nice to find a good Korean restaurant, so if anyone as a recommendation, do not be shy ! As it will be Saturday, we might need to book in advance, so please raise your hand if you are planning to come. Enjoy the party, -- Cedric BAIL I should be there. -- Jérôme Pinot http://ngc891.blogdns.net/ signature.asc Description: Digital signature -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: elm_web: Fixed compilation warning
ryuan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=4d5c3baaf16b6cad87a72de33828aa054cd447fe commit 4d5c3baaf16b6cad87a72de33828aa054cd447fe Author: Ryuan Choi ryuan.c...@gmail.com Date: Tue Nov 12 00:26:26 2013 +0900 elm_web: Fixed compilation warning --- src/lib/elm_web.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elm_web.c b/src/lib/elm_web.c index ba52581..369660e 100644 --- a/src/lib/elm_web.c +++ b/src/lib/elm_web.c @@ -897,7 +897,7 @@ static Eina_Bool _reset_zoom_timer_cb(void *data) { ELM_WEB_DATA_GET(data, sd); - ELM_WIDGET_DATA_GET_OR_RETURN(data, wd); + ELM_WIDGET_DATA_GET_OR_RETURN(data, wd, EINA_FALSE); sd-zoom.timer = ecore_timer_add(0.0, _restore_zoom_mode_timer_cb, data); ewk_view_zoom_set(wd-resize_obj, 1.0, 0, 0); --
[EGIT] [apps/terminology] master 02/02: remove selection when content selected changes
billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=8c7dab9fdfa821199098080ff3467407213dfbfa commit 8c7dab9fdfa821199098080ff3467407213dfbfa Author: Boris Faure bill...@gmail.com Date: Mon Nov 11 18:08:02 2013 +0100 remove selection when content selected changes --- src/bin/termio.c | 69 src/bin/termio.h | 1 + src/bin/termptyops.c | 17 ++--- 3 files changed, 78 insertions(+), 9 deletions(-) diff --git a/src/bin/termio.c b/src/bin/termio.c index 86a37c9..a574b27 100644 --- a/src/bin/termio.c +++ b/src/bin/termio.c @@ -108,6 +108,7 @@ static void _sel_set(Evas_Object *obj, Eina_Bool enable) { Termio *sd = evas_object_smart_data_get(obj); + if (sd-pty-selection.is_active == enable) return; sd-pty-selection.is_active = enable; if (enable) @@ -3276,7 +3277,6 @@ _smart_cb_mouse_move(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUS sd = evas_object_smart_data_get(data); if (!sd) return; - DBG((%d; %d), ev-cur.canvas.y, ev-cur.canvas.x); evas_object_geometry_get(data, ox, oy, NULL, NULL); cx = (ev-cur.canvas.x - ox) / sd-font.chw; cy = (ev-cur.canvas.y - oy) / sd-font.chh; @@ -3946,7 +3946,6 @@ termio_scroll(Evas_Object *obj, int direction) { Termio *sd; Termpty *ty; - int changed = 0; sd = evas_object_smart_data_get(obj); if (!sd) return; @@ -3958,16 +3957,76 @@ termio_scroll(Evas_Object *obj, int direction) sd-scroll++; if (sd-scroll sd-pty-backscroll_num) sd-scroll = sd-pty-backscroll_num; -changed = 1; } ty = sd-pty; if (ty-selection.is_active) { ty-selection.start.y += direction; ty-selection.end.y += direction; -changed = 1; } - if (changed) _smart_update_queue(obj, sd); +} + +void +termio_content_change(Evas_Object *obj, Evas_Coord x, Evas_Coord y, + int n) +{ + Termio *sd; + Termpty *ty; + int start_x, start_y, end_x, end_y; + + sd = evas_object_smart_data_get(obj); + if (!sd) return; + ty = sd-pty; + if (!ty-selection.is_active) return; + + start_x = sd-pty-selection.start.x; + start_y = sd-pty-selection.start.y; + end_x = sd-pty-selection.end.x; + end_y = sd-pty-selection.end.y; + if (ty-selection.is_box) + { +int _y = y + (x + n) / ty-w; + +if (start_y end_y) + INT_SWAP(start_y, end_y); +if (start_x end_x) + INT_SWAP(start_x, end_x); + +y = MAX(y, start_y); +for (; y = MIN(_y, end_y); y++) + { + int d = MIN(n, ty-w - x); + if (!((x end_x) || (x + d start_x))) + { + _sel_set(obj, EINA_FALSE); + break; + } + n -= d; + x = 0; + } + } + else + { +int sel_len; +Termcell *cells_changed, *cells_selection; + +/* probably doing that way too much… */ +if ((start_y end_y) || +((start_y == end_y) (end_x start_x))) + { + INT_SWAP(start_y, end_y); + INT_SWAP(start_x, end_x); + } + +sel_len = end_x - start_y + ty-w * (end_y - start_y); +cells_changed = (TERMPTY_SCREEN(ty, x, y)); +cells_selection = (TERMPTY_SCREEN(ty, start_x, start_y)); + +if (!((cells_changed (cells_selection + sel_len)) || + (cells_selection (cells_changed + n + _sel_set(obj, EINA_FALSE); + + } } static void diff --git a/src/bin/termio.h b/src/bin/termio.h index 51969c4..fd3867f 100644 --- a/src/bin/termio.h +++ b/src/bin/termio.h @@ -13,6 +13,7 @@ char*termio_selection_get(Evas_Object *obj, size_t *len); Eina_Booltermio_selection_exists(const Evas_Object *obj); void termio_scroll(Evas_Object *obj, int direction); +void termio_content_change(Evas_Object *obj, Evas_Coord x, Evas_Coord y, int n); void termio_config_update(Evas_Object *obj); Config *termio_config_get(const Evas_Object *obj); diff --git a/src/bin/termptyops.c b/src/bin/termptyops.c index aa1a631..1e6e8c6 100644 --- a/src/bin/termptyops.c +++ b/src/bin/termptyops.c @@ -174,6 +174,8 @@ _termpty_text_append(Termpty *ty, const Eina_Unicode *codepoints, int len) Termcell *cells; int i, j; + termio_content_change(ty-obj, ty-state.cx, ty-state.cy, len); + cells = (TERMPTY_SCREEN(ty, 0, ty-state.cy)); for (i = 0; i len; i++) { @@ -244,13 +246,13 @@ _termpty_clear_line(Termpty *ty, Termpty_Clear mode, int limit) { Termcell *cells; int n = 0; + Evas_Coord x = 0, y = ty-state.cy; - cells = (TERMPTY_SCREEN(ty, 0, ty-state.cy)); switch (mode) { case TERMPTY_CLR_END: n = ty-w - ty-state.cx; -cells = (cells[ty-state.cx]); +x = ty-state.cx;
[EGIT] [apps/terminology] master 01/02: keep selection when scrolling
billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=bc15fc6ff62b2eb2c55870b3af42b964861a7e75 commit bc15fc6ff62b2eb2c55870b3af42b964861a7e75 Author: Boris Faure bill...@gmail.com Date: Sun Nov 10 22:13:19 2013 +0100 keep selection when scrolling --- src/bin/termio.c | 18 +++--- src/bin/termio.h | 1 + src/bin/termpty.h| 2 +- src/bin/termptyops.c | 70 +--- 4 files changed, 44 insertions(+), 47 deletions(-) diff --git a/src/bin/termio.c b/src/bin/termio.c index 1360f44..86a37c9 100644 --- a/src/bin/termio.c +++ b/src/bin/termio.c @@ -3941,12 +3941,13 @@ _smart_pty_change(void *data) _smart_update_queue(data, sd); } -static void -_smart_pty_scroll(void *data) +void +termio_scroll(Evas_Object *obj, int direction) { - Evas_Object *obj = data; Termio *sd; + Termpty *ty; int changed = 0; + sd = evas_object_smart_data_get(obj); if (!sd) return; @@ -3959,13 +3960,14 @@ _smart_pty_scroll(void *data) sd-scroll = sd-pty-backscroll_num; changed = 1; } - if (sd-pty-selection.is_active) + ty = sd-pty; + if (ty-selection.is_active) { -sd-pty-selection.start.y--; -sd-pty-selection.end.y--; +ty-selection.start.y += direction; +ty-selection.end.y += direction; changed = 1; } - if (changed) _smart_update_queue(data, sd); + if (changed) _smart_update_queue(obj, sd); } static void @@ -4402,8 +4404,6 @@ termio_add(Evas_Object *parent, Config *config, const char *cmd, Eina_Bool login sd-pty-obj = obj; sd-pty-cb.change.func = _smart_pty_change; sd-pty-cb.change.data = obj; - sd-pty-cb.scroll.func = _smart_pty_scroll; - sd-pty-cb.scroll.data = obj; sd-pty-cb.set_title.func = _smart_pty_title; sd-pty-cb.set_title.data = obj; sd-pty-cb.set_icon.func = _smart_pty_icon; diff --git a/src/bin/termio.h b/src/bin/termio.h index 817bc87..51969c4 100644 --- a/src/bin/termio.h +++ b/src/bin/termio.h @@ -12,6 +12,7 @@ char*termio_selection_get(Evas_Object *obj, int c1x, int c1y, int c2x, int c2y, size_t *len); Eina_Booltermio_selection_exists(const Evas_Object *obj); +void termio_scroll(Evas_Object *obj, int direction); void termio_config_update(Evas_Object *obj); Config *termio_config_get(const Evas_Object *obj); diff --git a/src/bin/termpty.h b/src/bin/termpty.h index 517e517..6f3b1d2 100644 --- a/src/bin/termpty.h +++ b/src/bin/termpty.h @@ -109,7 +109,7 @@ struct _Termpty struct { void (*func) (void *data); void *data; - } change, scroll, set_title, set_icon, cancel_sel, exited, bell, command; + } change, set_title, set_icon, cancel_sel, exited, bell, command; } cb; struct { const char *title, *icon; diff --git a/src/bin/termptyops.c b/src/bin/termptyops.c index 91bb781..aa1a631 100644 --- a/src/bin/termptyops.c +++ b/src/bin/termptyops.c @@ -1,5 +1,6 @@ #include private.h #include Elementary.h +#include termio.h #include termpty.h #include termptydbl.h #include termptyops.h @@ -70,24 +71,18 @@ _termpty_text_scroll(Termpty *ty, Eina_Bool clear) end_y = ty-state.scroll_y2 - 1; } else - { -if (!ty-altbuf) - { - termpty_text_save_top(ty, (TERMPTY_SCREEN(ty, 0, 0)), ty-w); - if (ty-cb.scroll.func) ty-cb.scroll.func(ty-cb.scroll.data); - } -else - if (ty-cb.cancel_sel.func) -ty-cb.cancel_sel.func(ty-cb.cancel_sel.data); - } + if (!ty-altbuf) + termpty_text_save_top(ty, (TERMPTY_SCREEN(ty, 0, 0)), ty-w); + + termio_scroll(ty-obj, -1); DBG(... scroll! [%i-%i], start_y, end_y); if (start_y == 0 end_y == ty-h - 1) { // screen is a circular buffer now - cells2 = (ty-screen[ty-circular_offset * ty-w]); + cells = (ty-screen[ty-circular_offset * ty-w]); if (clear) - _text_clear(ty, cells2, ty-w, 0, EINA_TRUE); + _text_clear(ty, cells, ty-w, 0, EINA_TRUE); ty-circular_offset++; if (ty-circular_offset = ty-h) @@ -95,15 +90,15 @@ _termpty_text_scroll(Termpty *ty, Eina_Bool clear) } else { - cells2 = (ty-screen[end_y * ty-w]); + cells = (ty-screen[end_y * ty-w]); for (y = start_y; y end_y; y++) { -cells = (ty-screen[y * ty-w]); -cells2 = (ty-screen[(y + 1) * ty-w]); -termpty_cell_copy(ty, cells2, cells, ty-w); +cells = (ty-screen[(y + 1) * ty-w]); +cells2 = (ty-screen[y * ty-w]); +termpty_cell_copy(ty, cells, cells2, ty-w); } if (clear) - _text_clear(ty, cells2, ty-w, 0, EINA_TRUE); + _text_clear(ty, cells, ty-w, 0, EINA_TRUE); } } @@ -119,6 +114,7 @@
[EGIT] [core/enlightenment] master 01/01: music-control: add Quod Libet in players list
davemds pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=2ef11b928e70f812664c0c62e0b84465ed7e6a13 commit 2ef11b928e70f812664c0c62e0b84465ed7e6a13 Author: davemds d...@gurumeditation.it Date: Mon Nov 11 20:44:34 2013 +0100 music-control: add Quod Libet in players list --- src/modules/music-control/e_mod_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/music-control/e_mod_main.c b/src/modules/music-control/e_mod_main.c index 2c921e2..f96c211 100644 --- a/src/modules/music-control/e_mod_main.c +++ b/src/modules/music-control/e_mod_main.c @@ -19,6 +19,7 @@ const Player music_player_players[] = {XMMS2, org.mpris.MediaPlayer2.xmms2}, {DeaDBeeF, org.mpris.MediaPlayer2.deadbeef}, {Rhythmbox, org.gnome.Rhythmbox3}, + {Quod Libet, org.mpris.MediaPlayer2.quodlibet}, {NULL, NULL} }; --
[E-devel] Different 'flavors(?)' of Evas_Object?
If I create an object of type Evas_Object using edje_object_add: o = edje_object_add(mi-menu-evas); mi-separator_object = o; e_theme_edje_object_set(o, base/theme/start_menus, e/widgets/startmenu/default/separator); evas_object_show(o); edje_object_size_min_calc(mi-separator_object, ww, hh); mi-separator_w = ww; mi-separator_h = hh; does it make sense to later add this to some sort of e_widget container: (o = mi-separator_object or something similar and m-favorites_box was created with e_widget_list_add()) e_widget_list_object_append(m-favorites_box,o, 1, /* fill */ 1, /* expand */ 0.0 /* align */ ); Next question: there isn't an e_mumble_pack_options_set() type fucntion for e_widget_list's, so how does one properly propagate geometry? Calling e_box_pack_options_set() seems to be the wrong thing to do (well I get segfaults). e_widget_list's seem to be a higher-level box-like thing (there isn't an e_widget_box thing). -- 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 -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/enlightenment] master 01/01: music-control: use efreet to decode uri
davemds pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=5920551f153f43b9317b7ee23009d3f05ace0c7d commit 5920551f153f43b9317b7ee23009d3f05ace0c7d Author: davemds d...@gurumeditation.it Date: Mon Nov 11 21:53:16 2013 +0100 music-control: use efreet to decode uri This fix the cover image display when spaces (and probably other special chars) are in the file name. --- src/modules/music-control/e_mod_main.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/modules/music-control/e_mod_main.c b/src/modules/music-control/e_mod_main.c index f96c211..c13fc52 100644 --- a/src/modules/music-control/e_mod_main.c +++ b/src/modules/music-control/e_mod_main.c @@ -226,6 +226,7 @@ parse_metadata(E_Music_Control_Module_Context *ctxt, Eina_Value *array) { const char *key, *str_val; Eina_Value st, subst; +Efreet_Uri *uri; eina_value_array_value_get(array, i, st); eina_value_struct_get(st, arg0, key); @@ -257,8 +258,10 @@ parse_metadata(E_Music_Control_Module_Context *ctxt, Eina_Value *array) { eina_value_struct_value_get(st, arg1, subst); eina_value_struct_get(subst, arg0, str_val); - if (!strncmp(str_val, file://, 7)) - ctxt-meta_cover = eina_stringshare_add(str_val + 7); + uri = efreet_uri_decode(str_val); + if (uri !strncmp(uri-protocol, file, 4)) + ctxt-meta_cover = eina_stringshare_add(uri-path); + E_FREE_FUNC(uri, efreet_uri_free); eina_value_flush(subst); } eina_value_flush(st); --
[EGIT] [core/enlightenment] master 01/01: music-control: do not request props if the service is not up.
davemds pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=771c352281d61f2603ba26c41047af2325c16803 commit 771c352281d61f2603ba26c41047af2325c16803 Author: davemds d...@gurumeditation.it Date: Mon Nov 11 23:40:27 2013 +0100 music-control: do not request props if the service is not up. This prevent music player that support the dbus activation system to be launched at module startup. Instead of blindly request properties first check if the name has an owner. As a side effect now the module fully support the dbus activation system: if your player is not running it will be launched when you click his name or any of the controls in the popup. Note: If your player does not provide the autorun feature you can just create a .service file in dbus share folder with the following content: [D-BUS Service] Name=org.mpris.MediaPlayer2.quodlibet Exec=/usr/bin/quodlibet ...of course you must change the name of your player ;) --- src/modules/music-control/e_mod_main.c | 22 -- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/modules/music-control/e_mod_main.c b/src/modules/music-control/e_mod_main.c index c13fc52..335b77c 100644 --- a/src/modules/music-control/e_mod_main.c +++ b/src/modules/music-control/e_mod_main.c @@ -319,6 +319,25 @@ prop_changed(void *data, Eldbus_Proxy *proxy, void *event_info) } } +static void +cb_name_owner_has(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending) +{ + E_Music_Control_Module_Context *ctxt = data; + Eina_Bool owner_exists; + + if (eldbus_message_error_get(msg, NULL, NULL)) + return; + if (!eldbus_message_arguments_get(msg, b, owner_exists)) + return; + if (owner_exists) + { +media_player2_player_playback_status_propget(ctxt-mpris2_player, + cb_playback_status_get, ctxt); +media_player2_player_metadata_propget(ctxt-mpris2_player, + cb_metadata_get, ctxt); + } +} + Eina_Bool music_control_dbus_init(E_Music_Control_Module_Context *ctxt, const char *bus) { @@ -328,10 +347,9 @@ music_control_dbus_init(E_Music_Control_Module_Context *ctxt, const char *bus) ctxt-mrpis2 = mpris_media_player2_proxy_get(ctxt-conn, bus, NULL); ctxt-mpris2_player = media_player2_player_proxy_get(ctxt-conn, bus, NULL); - media_player2_player_playback_status_propget(ctxt-mpris2_player, cb_playback_status_get, ctxt); - media_player2_player_metadata_propget(ctxt-mpris2_player, cb_metadata_get, ctxt); eldbus_proxy_event_callback_add(ctxt-mpris2_player, ELDBUS_PROXY_EVENT_PROPERTY_CHANGED, prop_changed, ctxt); + eldbus_name_owner_has(ctxt-conn, bus, cb_name_owner_has, ctxt); return EINA_TRUE; } --
Re: [E-devel] Different 'flavors(?)' of Evas_Object?
Thats Real code. Anyone got any ideas? On Mon, Nov 11, 2013 at 7:54 PM, Robert Heller hel...@deepsoft.com wrote: If I create an object of type Evas_Object using edje_object_add: o = edje_object_add(mi-menu-evas); mi-separator_object = o; e_theme_edje_object_set(o, base/theme/start_menus, e/widgets/startmenu/default/separator); evas_object_show(o); edje_object_size_min_calc(mi-separator_object, ww, hh); mi-separator_w = ww; mi-separator_h = hh; does it make sense to later add this to some sort of e_widget container: (o = mi-separator_object or something similar and m-favorites_box was created with e_widget_list_add()) e_widget_list_object_append(m-favorites_box,o, 1, /* fill */ 1, /* expand */ 0.0 /* align */ ); Next question: there isn't an e_mumble_pack_options_set() type fucntion for e_widget_list's, so how does one properly propagate geometry? Calling e_box_pack_options_set() seems to be the wrong thing to do (well I get segfaults). e_widget_list's seem to be a higher-level box-like thing (there isn't an e_widget_box thing). -- 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 -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Different 'flavors(?)' of Evas_Object?
On Mon, 11 Nov 2013 14:54:06 -0500 Robert Heller hel...@deepsoft.com said: If I create an object of type Evas_Object using edje_object_add: o = edje_object_add(mi-menu-evas); mi-separator_object = o; e_theme_edje_object_set(o, base/theme/start_menus, e/widgets/startmenu/default/separator); evas_object_show(o); edje_object_size_min_calc(mi-separator_object, ww, hh); mi-separator_w = ww; mi-separator_h = hh; does it make sense to later add this to some sort of e_widget container: (o = mi-separator_object or something similar and m-favorites_box was created with e_widget_list_add()) e_widget_list_object_append(m-favorites_box,o, 1, /* fill */ 1, /* expand */ 0.0 /* align */ ); Next question: there isn't an e_mumble_pack_options_set() type fucntion for e_widget_list's, so how does one properly propagate geometry? Calling e_box_pack_options_set() seems to be the wrong thing to do (well I get segfaults). e_widget_list's seem to be a higher-level box-like thing (there isn't an e_widget_box thing). just in the list of feed a man a fish vs teach a man to fish... did u try reading e_widget_list.c ? the anser is screaming at you from e_widget_list_object_append() you were asking about... :) (how does indeed the widget get the minimum size... or then set it again on itself... :)) -- 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 -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ 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 -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Different 'flavors(?)' of Evas_Object?
At Tue, 12 Nov 2013 08:43:20 +0900 Carsten Haitzler (The Rasterman) ras...@rasterman.com wrote: On Mon, 11 Nov 2013 14:54:06 -0500 Robert Heller hel...@deepsoft.com said: If I create an object of type Evas_Object using edje_object_add: o = edje_object_add(mi-menu-evas); mi-separator_object = o; e_theme_edje_object_set(o, base/theme/start_menus, e/widgets/startmenu/default/separator); evas_object_show(o); edje_object_size_min_calc(mi-separator_object, ww, hh); mi-separator_w = ww; mi-separator_h = hh; does it make sense to later add this to some sort of e_widget container: (o = mi-separator_object or something similar and m-favorites_box was created with e_widget_list_add()) e_widget_list_object_append(m-favorites_box,o, 1, /* fill */ 1, /* expand */ 0.0 /* align */ ); Next question: there isn't an e_mumble_pack_options_set() type fucntion for e_widget_list's, so how does one properly propagate geometry? Calling e_box_pack_options_set() seems to be the wrong thing to do (well I get segfaults). e_widget_list's seem to be a higher-level box-like thing (there isn't an e_widget_box thing). just in the list of feed a man a fish vs teach a man to fish... did u try reading e_widget_list.c ? the anser is screaming at you from e_widget_list_object_append() you were asking about... :) (how does indeed the widget get the minimum size... or then set it again on itself... :)) Yes. And it does not work. -- 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 -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- 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 -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: edje: fixing the check whether the part is swallow.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d2ff8d70a5d88307a1567f92c910abc0d9c4c272 commit d2ff8d70a5d88307a1567f92c910abc0d9c4c272 Author: Vorobiov Vitalii vi.vorob...@samsung.com Date: Tue Nov 12 11:18:22 2013 +0900 edje: fixing the check whether the part is swallow. Summary: Some functions doesn't checking the part right. For example: edje_edit_part_clip_to_set edje_edit_part_restack_below edje_edit_part_restack_above edje_edit_part_source_set Reviewers: cedric, seoz Reviewed By: cedric CC: reutskiy.v.v, cedric Differential Revision: https://phab.enlightenment.org/D325 --- src/lib/edje/edje_edit.c | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index c7997cd..c0584f2 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -2212,7 +2212,7 @@ edje_edit_part_restack_below(Evas_Object *obj, const char* part) _edje_parts_id_switch(ed, rp, prev); evas_object_stack_below(rp-object, prev-object); - if (rp-typedata.swallow-swallowed_object) + if ((rp-typedata.swallow) (rp-typedata.swallow-swallowed_object)) evas_object_stack_above(rp-typedata.swallow-swallowed_object, rp-object); _edje_edit_flag_script_dirty(eed, EINA_TRUE); @@ -2247,7 +2247,7 @@ edje_edit_part_restack_above(Evas_Object *obj, const char* part) _edje_parts_id_switch(ed, rp, next); evas_object_stack_above(rp-object, next-object); - if (rp-typedata.swallow-swallowed_object) + if ((rp-typedata.swallow) (rp-typedata.swallow-swallowed_object)) evas_object_stack_above(rp-typedata.swallow-swallowed_object, rp-object); _edje_edit_flag_script_dirty(eed, EINA_TRUE); @@ -2322,8 +2322,6 @@ edje_edit_part_clip_to_set(Evas_Object *obj, const char *part, const char *clip_ /* unset clipping */ if (!clip_to) { - //printf(UnSet clip_to for part: %s\n, part); - if (rp-part-clip_to_id = 0) { clip = ed-table_parts[rp-part-clip_to_id % ed-table_parts_size]; @@ -2334,8 +2332,8 @@ edje_edit_part_clip_to_set(Evas_Object *obj, const char *part, const char *clip_ } evas_object_clip_set(rp-object, ed-base-clipper); - if (rp-typedata.swallow-swallowed_object) - evas_object_clip_set(rp-typedata.swallow-swallowed_object, ed-base-clipper); +if ((rp-typedata.swallow) (rp-typedata.swallow-swallowed_object)) + evas_object_clip_set(rp-typedata.swallow-swallowed_object, ed-base-clipper); rp-part-clip_to_id = -1; @@ -2361,7 +2359,7 @@ edje_edit_part_clip_to_set(Evas_Object *obj, const char *part, const char *clip_ evas_object_pass_events_set(clip-object, 1); evas_object_pointer_mode_set(clip-object, EVAS_OBJECT_POINTER_MODE_NOGRAB); evas_object_clip_set(rp-object, clip-object); - if (rp-typedata.swallow-swallowed_object) + if ((rp-typedata.swallow) (rp-typedata.swallow-swallowed_object)) evas_object_clip_set(rp-typedata.swallow-swallowed_object, clip-object); edje_object_calc_force(obj); @@ -2483,7 +2481,7 @@ edje_edit_part_source_set(Evas_Object *obj, const char *part, const char *source _edje_if_string_free(ed, rp-part-source); - if (rp-typedata.swallow-swallowed_object) + if ((rp-typedata.swallow) (rp-typedata.swallow-swallowed_object)) { _edje_real_part_swallow_clear(ed, rp); evas_object_del(rp-typedata.swallow-swallowed_object); --
Re: [E-devel] Different 'flavors(?)' of Evas_Object?
On Mon, 11 Nov 2013 19:05:35 -0500 Robert Heller hel...@deepsoft.com said: At Tue, 12 Nov 2013 08:43:20 +0900 Carsten Haitzler (The Rasterman) ras...@rasterman.com wrote: On Mon, 11 Nov 2013 14:54:06 -0500 Robert Heller hel...@deepsoft.com said: If I create an object of type Evas_Object using edje_object_add: o = edje_object_add(mi-menu-evas); mi-separator_object = o; e_theme_edje_object_set(o, base/theme/start_menus, e/widgets/startmenu/default/separator); evas_object_show(o); edje_object_size_min_calc(mi-separator_object, ww, hh); mi-separator_w = ww; mi-separator_h = hh; does it make sense to later add this to some sort of e_widget container: (o = mi-separator_object or something similar and m-favorites_box was created with e_widget_list_add()) e_widget_list_object_append(m-favorites_box,o, 1, /* fill */ 1, /* expand */ 0.0 /* align */ ); Next question: there isn't an e_mumble_pack_options_set() type fucntion for e_widget_list's, so how does one properly propagate geometry? Calling e_box_pack_options_set() seems to be the wrong thing to do (well I get segfaults). e_widget_list's seem to be a higher-level box-like thing (there isn't an e_widget_box thing). just in the list of feed a man a fish vs teach a man to fish... did u try reading e_widget_list.c ? the anser is screaming at you from e_widget_list_object_append() you were asking about... :) (how does indeed the widget get the minimum size... or then set it again on itself... :)) Yes. And it does not work. it requires you wrap your edje obj in an e_widget so it can store the min size. :) just like the e_widget_table wraps e_table. as i mentioned - you're dealing with ancient infra. these days all of this is now in core evas or in elementary and is integrated. we will kill off e_widget* stuff in the coming months/years. -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] First probies !
Hello everyone, I would like to request a probie access for : - Vyacheslav Reutskiy v.reuts...@samsung.com - Vitalii Vorobiov vi.vorob...@samsung.com - Mykyta Biliavskyi m.biliavs...@samsung.com - Andrii Kroitor an.kroi...@samsung.com You may have seen their recent contribution, mostly around Edje_Edit and edje_cc. They want to help more on EFL, Enlightenment and Terminology. Also they should be able to upload soon a new tool, Edje Theme Editor (a graphical UI to edit theme) that they have been working on. Does anyone have a problem in giving them a probie acces ? If nobody mind, I will do that on Friday. Regards, -- Cedric BAIL -- November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: efl: let's try to detect in a portable way phtread around the world.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2a29732e0734af82294d7b1fccc52595f3020f15 commit 2a29732e0734af82294d7b1fccc52595f3020f15 Author: Cedric Bail cedric.b...@samsung.com Date: Tue Nov 12 16:06:22 2013 +0900 efl: let's try to detect in a portable way phtread around the world. Linking to Pthread seems to be highly not portable. Look at lock.m4 macro if you want to understand the hell it is ! By following it closely we should now have better portability than the 1.7.x release. And of course than our alpha... --- m4/efl_threads.m4 | 56 --- 1 file changed, 24 insertions(+), 32 deletions(-) diff --git a/m4/efl_threads.m4 b/m4/efl_threads.m4 index e7a84b3..acea5a9 100644 --- a/m4/efl_threads.m4 +++ b/m4/efl_threads.m4 @@ -17,49 +17,40 @@ dnl Generic thread detection EFL_PTHREAD_CFLAGS= EFL_PTHREAD_LIBS= -_efl_enable_posix_threads=no _efl_have_posix_threads=no _efl_have_win32_threads=no +dnl Use generic infrastructure for pthread detection (What a hell of a mess !) +gl_LOCK + +AC_DEFINE([EFL_HAVE_THREADS], [1], [Define to mention that POSIX or Win32 threads are supported]) + case $host_os in mingw*) _efl_have_win32_threads=yes efl_have_setaffinity=yes AC_DEFINE([EFL_HAVE_WIN32_THREADS], [1], [Define to mention that Win32 threads are supported]) - AC_DEFINE([EFL_HAVE_THREADS], [1], [Define to mention that POSIX or Win32 threads are supported]) ;; *) - _efl_enable_posix_threads=yes - _efl_threads_cflags=-D_REENTRANT - _efl_threads_libs=-lpthread + _efl_have_posix_threads=${gl_use_threads} + AC_DEFINE([EFL_HAVE_POSIX_THREADS], [1], [Define to mention that POSIX threads are supported]) ;; esac -dnl check if the compiler supports POSIX threads - +dnl System specific CFLAGS +if test x${_efl_have_posix_threads} = xyes; then + case $host_os in + osf*) EFL_PTHREAD_CFLAGS=-D_REENTRANT ;; + aix* | freebsd*) EFL_PTHREAD_CFLAGS=-D_THREAD_SAFE ;; + solaris*) EFL_PTHREAD_CFLAGS=-D_REENTRANT ;; + esac +fi -if test x${_efl_enable_posix_threads} = xyes ; then +dnl check if the compiler supports POSIX threads +if test x${_efl_have_posix_threads} = xyes ; then - SAVE_CFLAGS=${CFLAGS} - CFLAGS=${CFLAGS} ${_efl_threads_cflags} SAVE_LIBS=${LIBS} - LIBS=${LIBS} ${_efl_threads_libs} - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[ -#include pthread.h - ]], - [[ -pthread_t id; -id = pthread_self(); - ]])], - [ - _efl_have_posix_threads=yes - AC_DEFINE([EFL_HAVE_POSIX_THREADS], [1], [Define to mention that POSIX threads are supported]) - AC_DEFINE([EFL_HAVE_THREADS], [1], [Define to mention that POSIX or Win32 threads are supported]) - EFL_PTHREAD_CFLAGS=${_efl_threads_cflags} - EFL_PTHREAD_LIBS=${_efl_threads_libs} - ], - [_efl_have_posix_threads=no]) + LIBS=${LIBS} ${LIBMULTITHREAD} AC_LINK_IFELSE( [AC_LANG_PROGRAM([[ #include pthread.h @@ -83,7 +74,6 @@ pthread_attr_setaffinity_np(NULL, 0, NULL); [efl_have_setaffinity=no]) CFLAGS=${SAVE_CFLAGS} LIBS=${SAVE_LIBS} - fi AC_MSG_CHECKING([which threads API is used]) @@ -100,6 +90,8 @@ else fi AC_MSG_RESULT([${efl_have_threads}]) +EFL_PTHREAD_LIBS=${LTLIBMULTITHREAD} + AC_SUBST(EFL_PTHREAD_CFLAGS) AC_SUBST(EFL_PTHREAD_LIBS) @@ -108,11 +100,8 @@ dnl check if the compiler supports pthreads spinlock efl_have_posix_threads_spinlock=no if test x${_efl_have_posix_threads} = xyes ; then - - SAVE_CFLAGS=${CFLAGS} - CFLAGS=${CFLAGS} ${EFL_PTHREAD_CFLAGS} SAVE_LIBS=${LIBS} - LIBS=${LIBS} ${EFL_PTHREAD_LIBS} + LIBS=${LIBS} ${LIBMULTITHREAD} AC_LINK_IFELSE( [AC_LANG_PROGRAM([[ #include pthread.h @@ -138,6 +127,9 @@ if test x${efl_have_posix_threads_spinlock} = xyes ; then AC_DEFINE([EFL_HAVE_POSIX_THREADS_SPINLOCK], [1], [Define to mention that POSIX threads spinlocks are supported]) fi +echo _efl_have_posix_threads: ${_efl_have_posix_threads} +echo _efl_have_win32_threads: ${_efl_have_win32_threads} + AS_IF([test x$_efl_have_posix_threads = xyes || test x$_efl_have_win32_threads = xyes], [$1], [m4_if([$2], [$2], [AC_MSG_ERROR([Threads are required.])])]) --