[E-devel] Weekly news from the automated build and QA front

2013-11-11 Thread Stefan Schmidt
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

2013-11-11 Thread Cedric BAIL
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

2013-11-11 Thread Jihoon Kim
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

2013-11-11 Thread Jihoon Kim
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

2013-11-11 Thread Yakov Goldberg
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

2013-11-11 Thread Jérôme Pinot
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

2013-11-11 Thread Ryuan Choi
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

2013-11-11 Thread Boris Faure
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

2013-11-11 Thread Boris Faure
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

2013-11-11 Thread davemds
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?

2013-11-11 Thread Robert Heller
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

2013-11-11 Thread davemds
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.

2013-11-11 Thread davemds
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?

2013-11-11 Thread Andrew F
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?

2013-11-11 Thread The Rasterman
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?

2013-11-11 Thread Robert Heller
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.

2013-11-11 Thread Vorobiov Vitalii
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?

2013-11-11 Thread The Rasterman
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 !

2013-11-11 Thread Cedric BAIL
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.

2013-11-11 Thread Cedric Bail
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.])])])

--