Re: [E-devel] Pre-release tarballs for efl and elm 1.14.2

2015-06-25 Thread Stefan Schmidt
Hello.

On 25/06/15 03:19, Daniel Juyung Seo wrote:
 Hi Stefan

 Oops I missed the release this time. If there is anything I can help,
 please let me know.

Don't worry. I will handle the rest today. Just make sure you noted the 
dates for 1.15 alpha (06.07), beta1 (13.07) and beta2 (20.07) in your 
calendar. :)

regards
Stefan Schmidt

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 02/38: Ecore_Audio: Avoid abort() in PulseAudio

2015-06-25 Thread Stefan Schmidt
Hello.

On 25/06/15 08:15, Jean-Philippe ANDRÉ wrote:
 jpeg pushed a commit to branch master.

 http://git.enlightenment.org/core/efl.git/commit/?id=6db0ff42291ff4c44815df3a5f77c31ae1bad1ac

 commit 6db0ff42291ff4c44815df3a5f77c31ae1bad1ac
 Author: Jean-Philippe Andre jp.an...@samsung.com
 Date:   Wed Jun 24 14:43:07 2015 +0900

  Ecore_Audio: Avoid abort() in PulseAudio
  
  In some cases (stress test), pulseaudio fails to play a sound
  and pa_stream_drain() returns NULL, making pa_operation_unref()
  crash right after.

If this is what I think it is then it will be the hero commit of the 
month if not quarter :)

Let's see if we see any more ecore_audio test segfaults after this one. 
Good job!

regards
Stefan Schmidt

 ---
   src/lib/ecore_audio/ecore_audio_obj_out_pulse.c | 9 -
   1 file changed, 8 insertions(+), 1 deletion(-)

 diff --git a/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c 
 b/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
 index 901d9f6..eab7464 100644
 --- a/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
 +++ b/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
 @@ -184,6 +184,7 @@ _ecore_audio_out_pulse_ecore_audio_out_input_detach(Eo 
 *eo_obj, Ecore_Audio_Out_
   {
 pa_stream *stream = NULL;
 Eina_Bool ret2 = EINA_FALSE;
 +  pa_operation *op;
   
 eo_do_super(eo_obj, MY_CLASS, ret2 = 
 ecore_audio_obj_out_input_detach(in));
 if (!ret2)
 @@ -192,8 +193,14 @@ _ecore_audio_out_pulse_ecore_audio_out_input_detach(Eo 
 *eo_obj, Ecore_Audio_Out_
 eo_do(in, stream = eo_key_data_get(pulse_data));
   
 pa_stream_set_write_callback(stream, NULL, NULL);
 -  pa_operation_unref(pa_stream_drain(stream, _drain_cb, NULL));
 +  op = pa_stream_drain(stream, _drain_cb, NULL);
 +  if (!op)
 +{
 +   ERR(Failed to drain PulseAudio stream.);
 +   return EINA_FALSE;
 +}
   
 +  pa_operation_unref(op);
 return EINA_TRUE;
   }
   



--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: eolian: try replacing '.' with locale specific decimal point

2015-06-25 Thread Tom Hacohen
On 25/06/15 12:41, Daniel Kolesa wrote:
 On Thu, Jun 25, 2015 at 11:08 AM, Tom Hacohen t...@osg.samsung.com wrote:
 Dude, this is a very bad solution. The solution is not replace the text
 and hope it parses correctly, it's to set locale to C when you parse...

 That solution is even much worse. At least mine doesn't mess with
 global data (so for example when running eolian in a threaded
 environment, there will be no unpredictable locale related behavior,
 it will leave that completely to the app, which is not true for your
 locale-setting solution).

 The correct solution would be to have locale-independent versions of
 strtod/strtof, which we do not have, and a solution similar to mine is
 already what some language parsers are doing.

Yes. I forgot that Eolian is a library and not an executable. We already 
covered this on IRC, thanks for putting it here for reference. I hate it 
when you have to choose between a horrible solution to an even more 
horrible solution. :(

--
Tom.


--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] ami - probie to dev?

2015-06-25 Thread Daniel Kolesa
On Thu, Jun 25, 2015 at 9:58 AM, Carsten Haitzler ras...@rasterman.com wrote:
 disagreements? :)

go ahead :)


 --
 - Codito, ergo sum - I code, therefore I am --
 The Rasterman (Carsten Haitzler)ras...@rasterman.com


 --
 Monitor 25 network devices or servers for free with OpManager!
 OpManager is web-based network management software that monitors
 network devices and physical  virtual servers, alerts via email  sms
 for fault. Monitor 25 devices for free with no restriction. Download now
 http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: eolian: try replacing '.' with locale specific decimal point

2015-06-25 Thread Daniel Kolesa
On Thu, Jun 25, 2015 at 11:08 AM, Tom Hacohen t...@osg.samsung.com wrote:
 Dude, this is a very bad solution. The solution is not replace the text
 and hope it parses correctly, it's to set locale to C when you parse...

That solution is even much worse. At least mine doesn't mess with
global data (so for example when running eolian in a threaded
environment, there will be no unpredictable locale related behavior,
it will leave that completely to the app, which is not true for your
locale-setting solution).

The correct solution would be to have locale-independent versions of
strtod/strtof, which we do not have, and a solution similar to mine is
already what some language parsers are doing.


 --
 Tom


 On 25/06/15 10:43, Daniel Kolesa wrote:
 q66 pushed a commit to branch master.

 http://git.enlightenment.org/core/efl.git/commit/?id=9a01ab5dd77830c425440bf497c04e7e88426034

 commit 9a01ab5dd77830c425440bf497c04e7e88426034
 Author: Daniel Kolesa d.kol...@osg.samsung.com
 Date:   Thu Jun 25 10:43:54 2015 +0100

  eolian: try replacing '.' with locale specific decimal point

  This fixes parsing of floating point number with locales that use
  a comma as decimal separator, as strtof/strtod follows locale
  specific conventions.

  @fix
 ---
   src/lib/eolian/eo_lexer.c | 44 +++-
   src/lib/eolian/eo_lexer.h |  9 ++---
   2 files changed, 49 insertions(+), 4 deletions(-)

 diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c
 index 5ecdd87..d97c9c6 100644
 --- a/src/lib/eolian/eo_lexer.c
 +++ b/src/lib/eolian/eo_lexer.c
 @@ -4,6 +4,7 @@

   #include stdio.h
   #include ctype.h
 +#include locale.h

   #include setjmp.h
   #include assert.h
 @@ -575,6 +576,38 @@ get_type(Eo_Lexer *ls, Eina_Bool is_float)
   }

   static void
 +replace_decpoint(Eo_Lexer *ls, char prevdecp)
 +{
 +   if (ls-decpoint == prevdecp) return;
 +   char *bufs = eina_strbuf_string_steal(ls-buff);
 +   char *p = bufs;
 +   while ((p = strchr(p, prevdecp))) *p = ls-decpoint;
 +   eina_strbuf_append(ls-buff, bufs);
 +   free(bufs);
 +}
 +
 +static void
 +write_val_with_decpoint(Eo_Lexer *ls, Eo_Token *tok, int type)
 +{
 +   struct lconv *lc = localeconv();
 +   char prev = ls-decpoint;
 +   ls-decpoint = lc ? lc-decimal_point[0] : '.';
 +   if (ls-decpoint == prev)
 + {
 +eo_lexer_lex_error(ls, malformed number, TOK_NUMBER);
 +return;
 + }
 +   replace_decpoint(ls, prev);
 +   char *end = NULL;
 +   if (type == NUM_FLOAT)
 + tok-value.f = strtof(eina_strbuf_string_get(ls-buff), end);
 +   else if (type == NUM_DOUBLE)
 + tok-value.d = strtod(eina_strbuf_string_get(ls-buff), end);
 +   if (end  end[0])
 + eo_lexer_lex_error(ls, malformed number, TOK_NUMBER);
 +}
 +
 +static void
   write_val(Eo_Lexer *ls, Eo_Token *tok, Eina_Bool is_float)
   {
  const char *str = eina_strbuf_string_get(ls-buff);
 @@ -582,6 +615,7 @@ write_val(Eo_Lexer *ls, Eo_Token *tok, Eina_Bool 
 is_float)
  char *end = NULL;
  if (is_float)
{
 +replace_decpoint(ls, '.');
   if (type == NUM_FLOAT)
 tok-value.f = strtof(str, end);
   else if (type == NUM_DOUBLE)
 @@ -598,7 +632,14 @@ write_val(Eo_Lexer *ls, Eo_Token *tok, Eina_Bool 
 is_float)
 tok-value.ull = strtoull(str, end, 0);
}
  if (end  end[0])
 - eo_lexer_lex_error(ls, malformed number, TOK_NUMBER);
 + {
 +if (is_float)
 +  {
 + write_val_with_decpoint(ls, tok, type);
 + return;
 +  }
 +eo_lexer_lex_error(ls, malformed number, TOK_NUMBER);
 + }
  tok-kw = type;
   }

 @@ -875,6 +916,7 @@ eo_lexer_set_input(Eo_Lexer *ls, const char *source)
  ls-filename= get_filename(ls);
  ls-line_number = 1;
  ls-icolumn = ls-column = -1;
 +   ls-decpoint= '.';
  next_char(ls);
  if (ls-current != 0xEF)
return;
 diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
 index 713599d..c15b8e2 100644
 --- a/src/lib/eolian/eo_lexer.h
 +++ b/src/lib/eolian/eo_lexer.h
 @@ -161,9 +161,6 @@ typedef struct _Eo_Lexer
  /* this is jumped to when an error happens */
  jmp_buf  err_jmp;

 -   /* whether we allow lexing expression related tokens */
 -   Eina_Bool expr_mode;
 -
  /* saved context info */
  Eina_List *saved_ctxs;

 @@ -172,6 +169,12 @@ typedef struct _Eo_Lexer
   * case of error - and it's nulled when it's written into a more 
 permanent
   * position (e.g. as part of another struct, or into nodes */
  Eo_Lexer_Temps tmp;
 +
 +   /* whether we allow lexing expression related tokens */
 +   Eina_Bool expr_mode;
 +
 +   /* decimal point, by default '.' */
 +   char decpoint;
   } Eo_Lexer;

   int eo_lexer_init   (void);



 --
 Monitor 25 network devices or servers for free 

Re: [E-devel] [EGIT] [core/efl] master 30/38: Edje tests: Add test case for embedded text filters

2015-06-25 Thread Stefan Schmidt
Hello.

On 25/06/15 08:15, Jean-Philippe ANDRÉ wrote:
 jpeg pushed a commit to branch master.

 http://git.enlightenment.org/core/efl.git/commit/?id=6ca1ce305bc9043561f040d52c85dd2781aaec4d

 commit 6ca1ce305bc9043561f040d52c85dd2781aaec4d
 Author: Jean-Philippe Andre jp.an...@samsung.com
 Date:   Tue Jun 23 12:38:32 2015 +0900

  Edje tests: Add test case for embedded text filters

This one introduced two implicit declarations. Linking is still right so 
it goes through.

   CC   tests/edje/tests_edje_edje_suite-edje_test_edje.o
tests/edje/edje_test_edje.c: In function ‘edje_test_filters’:
tests/edje/edje_test_edje.c:229:72: warning: implicit declaration of 
function ‘efl_gfx_filter_program_get’ [-Wimplicit-function-declaration]
tests/edje/edje_test_edje.c:233:72: warning: implicit declaration of 
function ‘efl_gfx_filter_source_get’ [-Wimplicit-function-declaration]

I tried to include either Efl.h or efl_gfx_filter.eo.hto get 
thedeclarations but it seems that is not enough. Maybe something with 
the beta flag.

regards
Stefan Schmidt

 ---
   src/Makefile_Edje.am | 15 ++---
   src/tests/edje/data/filter.lua   | 14 
   src/tests/edje/data/test_filters.edc | 62 
 
   src/tests/edje/edje_test_edje.c  | 35 
   4 files changed, 122 insertions(+), 4 deletions(-)

 diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am
 index 596a02b..17e1cbc 100644
 --- a/src/Makefile_Edje.am
 +++ b/src/Makefile_Edje.am
 @@ -284,22 +284,29 @@ tests/edje/data/%.edj: tests/edje/data/%.edc 
 bin/edje/edje_cc${EXEEXT}
   $(AM_V_EDJ) \
   $(MKDIR_P) tests/edje/data; \
   $(EDJE_CC) $(EDJE_CC_FLAGS) -id $(srcdir)/tests/edje/data \
 - -id $(srcdir)/tests/emotion/data $ $@
 + -id $(srcdir)/tests/emotion/data \
 + -dd $(srcdir)/tests/edje/data \
 + $ $@
   
   EDJE_DATA_FILES = tests/edje/data/test_layout.edc \
 tests/edje/data/complex_layout.edc \
 tests/edje/data/test_parens.edc \
 -  tests/edje/data/test_masking.edc
 +  tests/edje/data/test_masking.edc \
 +  tests/edje/data/test_filters.edc \
 +  tests/edje/data/filter.lua
   
   edjedatafilesdir = $(datadir)/edje/data
   edjedatafiles_DATA = tests/edje/data/test_layout.edj \
tests/edje/data/complex_layout.edj \
tests/edje/data/test_parens.edj \
 - tests/edje/data/test_masking.edj
 + tests/edje/data/test_masking.edj \
 + tests/edje/data/test_filters.edj
 +
   CLEANFILES += tests/edje/data/test_layout.edj \
 tests/edje/data/complex_layout.edj \
 tests/edje/data/test_parens.edj \
 -  tests/edje/data/test_masking.edj
 +  tests/edje/data/test_masking.edj \
 +  tests/edje/data/test_filters.edj
   
   endif
   
 diff --git a/src/tests/edje/data/filter.lua b/src/tests/edje/data/filter.lua
 new file mode 100644
 index 000..2ada51b
 --- /dev/null
 +++ b/src/tests/edje/data/filter.lua
 @@ -0,0 +1,14 @@
 +-- Evas filter program
 +
 +a = buffer { 'alpha' }
 +b = buffer { src = 'mask' }
 +
 +padding_set(10)
 +
 +grow { 5, dst = a }
 +blur { 6, src = a, color = state.color, ox = 1, oy = 1 }
 +blur { 2, color = color({cc.r, cc.g, cc.b, cc.a }) }
 +blend { color = mycolor, ox = 1, oy = 1 }
 +
 +mask { src = input, mask = b, color = 'cyan', fillmode = 
 'stretch_y_repeat_x' }
 +
 diff --git a/src/tests/edje/data/test_filters.edc 
 b/src/tests/edje/data/test_filters.edc
 new file mode 100644
 index 000..df84c48
 --- /dev/null
 +++ b/src/tests/edje/data/test_filters.edc
 @@ -0,0 +1,62 @@
 +data {
 +   file: filterfile filter.lua;
 +}
 +color_classes {
 +   color_class {
 +  name: cc1;
 +  color: 0 0 255 255;
 +  color2: 0 255 255 255;
 +  color3: 0 0 255 255;
 +   }
 +}
 +collections {
 +   images {
 +  // found in tests/emotion/data
 +  image: pnl.png COMP;
 +   }
 +   group { name: test_group;
 +  parts {
 + part { name: background;
 +type: RECT;
 +description { state: default 0.0;
 +   color: 33 32 32 255;
 +   rel1.relative: 0 0;
 +   rel2.relative: 1 1;
 +   max: 200 200;
 +}
 + }
 + part { name: mask;
 +type: IMAGE;
 +no_render: 1;
 +description { state: default 0.0;
 +   rel1.relative: 0 0;
 +   rel2.relative: 1 1;
 +   rel.to: text;
 +   max: 999 50;
 +   image.normal: pnl.png;
 +}
 + }
 + part { name: text;
 +type: TEXT;
 +description { state: default 0.0;
 +   rel1.relative: 0 0;
 +   rel2.relative: 1 1;
 +   rel1.to: background;
 +   rel2.to: 

Re: [E-devel] ami - probie to dev?

2015-06-25 Thread Daniel Juyung Seo
+65535

He has been doing very good job for a couple of years. I guarantee he will
bring a great impact to our community once he get an access.
Thumbs up!

Daniel Juyung Seo (SeoZ)

On Thu, Jun 25, 2015 at 9:34 PM, Daniel Kolesa dan...@octaforge.org wrote:

 On Thu, Jun 25, 2015 at 9:58 AM, Carsten Haitzler ras...@rasterman.com
 wrote:
  disagreements? :)

 go ahead :)

 
  --
  - Codito, ergo sum - I code, therefore I am --
  The Rasterman (Carsten Haitzler)ras...@rasterman.com
 
 
 
 --
  Monitor 25 network devices or servers for free with OpManager!
  OpManager is web-based network management software that monitors
  network devices and physical  virtual servers, alerts via email  sms
  for fault. Monitor 25 devices for free with no restriction. Download now
  http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


 --
 Monitor 25 network devices or servers for free with OpManager!
 OpManager is web-based network management software that monitors
 network devices and physical  virtual servers, alerts via email  sms
 for fault. Monitor 25 devices for free with no restriction. Download now
 http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 03/03: ecore con - fix object data referencing for deleted objects

2015-06-25 Thread Tom Hacohen
On 25/06/15 10:03, Cedric BAIL wrote:
 On Thu, Jun 25, 2015 at 10:41 AM, Carsten Haitzler ras...@rasterman.com 
 wrote:
 On Thu, 25 Jun 2015 09:27:34 +0200 Cedric BAIL cedric.b...@free.fr said:
 Le 25 juin 2015 06:19, Carsten Haitzler ras...@rasterman.com a écrit :

 raster pushed a commit to branch master.


 http://git.enlightenment.org/core/efl.git/commit/?id=6483dc3ce91f94dd147bda1080b0e923d16f4653

 commit 6483dc3ce91f94dd147bda1080b0e923d16f4653
 Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
 Date:   Thu Jun 25 13:18:22 2015 +0900

  ecore con - fix object data referencing for deleted objects

  if the object has been deleted already, scope data is null. handle it
  correctly. this fixes a segv in the new efreetd when it starts and
  there is an existing efreet running thus owning the socket fails.

  @fix

 You have been tricked by it to. Data scope get doesn't check anything and
 can return a valid pointer when asking the wrong class on an object. You
 usually should not check the return with null as it is hiding a bigger
 problem.

 the bigger problem is the deferred events etc. et.c and that an eo object
 rewrite of ecore-con/ipc will fix. thus this will do for now. :)

 My point is that it can't do :-) eo_data_scope_get will either suceed
 or return gargabe, but != NULL. So testing if it is != NULL is just
 going to make you feel good and anyone looking at the code to which
 will make it harder to fix the real issue later on. Basically just
 remove all test != NULL related to the output of an eo_data_scope_get.
 That pattern is seriously misleading and far from obvious for C dev.

It's misleading (maybe) but faster. We could change that, but it'll be 
significantly slower, and it's a common enough operation and mostly done 
in a way that doesn't need the check. Sorry, it's low-level c, we make 
optimisations.

Checking if the object is deleted this way is a horrible hack anyway. It 
will print errors to console, and it only works and doesn't crash 
because of our fail-safe mechanisms. It's not normal code path.
You could maybe use eo_isa() which is a bit more resilient, but still 
has the same hackiness to it.


 ---
   src/lib/ecore_con/ecore_con.c | 210
 +-
   1 file changed, 124 insertions(+), 86 deletions(-)

 diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
 index 941dc11..1582c26 100644
 --- a/src/lib/ecore_con/ecore_con.c
 +++ b/src/lib/ecore_con/ecore_con.c
 @@ -271,6 +271,7 @@ ecore_con_shutdown(void)
   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj,
 ECORE_CON_SERVER_CLASS);
   Ecore_Con_Event_Server_Add *ev;

 +if (!svr) continue;
   svr-delete_me = EINA_TRUE;
   INF(svr %p is dead, svr);
   /* some pointer hacks here to prevent double frees if people are
 being stupid */
 @@ -1373,8 +1374,10 @@ _ecore_con_server_eo_base_destructor(Eo *obj,
 Ecore_Con_Server_Data *svr)

  ecore_con_ssl_server_shutdown(obj);
  free(svr-name);
 +   svr-name = NULL;

  free(svr-path);
 +   svr-path = NULL;

  eina_stringshare_del(svr-ip);
  eina_stringshare_del(svr-verify_name);
 @@ -1394,8 +1397,9 @@ _ecore_con_server_eo_base_destructor(Eo *obj,
 Ecore_Con_Server_Data *svr)
  servers = eina_list_remove(servers, obj);
  svr-data = NULL;

 -end:
  eo_do_super(obj, ECORE_CON_SERVER_CLASS, eo_destructor());
 +end:
 +   return;
   }

   static void
 @@ -2675,21 +2679,25 @@ _ecore_con_event_client_add_free(Ecore_Con_Server
 *obj,
   Ecore_Con_Client_Data *cl = eo_data_scope_get(e-client,
 ECORE_CON_CLIENT_CLASS);
   Eina_Bool svrfreed = EINA_FALSE;

 -cl-event_count = eina_list_remove(cl-event_count, e);
 -if (cl-host_server)
 +if ((svr)  (cl))
 {
 - Ecore_Con_Server_Data *host_server =
 eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
 - host_server-event_count =
 eina_list_remove(host_server-event_count, ev);
 - if ((!svr-event_count)  (svr-delete_me))
 + cl-event_count = eina_list_remove(cl-event_count, e);
 + if (cl-host_server)
  {
 -  _ecore_con_server_free(obj);
 -  svrfreed = EINA_TRUE;
 +  Ecore_Con_Server_Data *host_server =
 eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
 +  if (host_server)
 +host_server-event_count =
 eina_list_remove(host_server-event_count, ev);
 +  if ((!svr-event_count)  (svr-delete_me))
 +{
 +   _ecore_con_server_free(obj);
 +   svrfreed = EINA_TRUE;
 +}
 +   }
 + if (!svrfreed)
 +   {
 +  if ((!cl-event_count)  (cl-delete_me))
 +ecore_con_client_del(e-client);
  }
 -  }
 -

Re: [E-devel] [EGIT] [core/efl] master 01/01: eolian: try replacing '.' with locale specific decimal point

2015-06-25 Thread Tom Hacohen
Dude, this is a very bad solution. The solution is not replace the text 
and hope it parses correctly, it's to set locale to C when you parse...

--
Tom


On 25/06/15 10:43, Daniel Kolesa wrote:
 q66 pushed a commit to branch master.

 http://git.enlightenment.org/core/efl.git/commit/?id=9a01ab5dd77830c425440bf497c04e7e88426034

 commit 9a01ab5dd77830c425440bf497c04e7e88426034
 Author: Daniel Kolesa d.kol...@osg.samsung.com
 Date:   Thu Jun 25 10:43:54 2015 +0100

  eolian: try replacing '.' with locale specific decimal point

  This fixes parsing of floating point number with locales that use
  a comma as decimal separator, as strtof/strtod follows locale
  specific conventions.

  @fix
 ---
   src/lib/eolian/eo_lexer.c | 44 +++-
   src/lib/eolian/eo_lexer.h |  9 ++---
   2 files changed, 49 insertions(+), 4 deletions(-)

 diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c
 index 5ecdd87..d97c9c6 100644
 --- a/src/lib/eolian/eo_lexer.c
 +++ b/src/lib/eolian/eo_lexer.c
 @@ -4,6 +4,7 @@

   #include stdio.h
   #include ctype.h
 +#include locale.h

   #include setjmp.h
   #include assert.h
 @@ -575,6 +576,38 @@ get_type(Eo_Lexer *ls, Eina_Bool is_float)
   }

   static void
 +replace_decpoint(Eo_Lexer *ls, char prevdecp)
 +{
 +   if (ls-decpoint == prevdecp) return;
 +   char *bufs = eina_strbuf_string_steal(ls-buff);
 +   char *p = bufs;
 +   while ((p = strchr(p, prevdecp))) *p = ls-decpoint;
 +   eina_strbuf_append(ls-buff, bufs);
 +   free(bufs);
 +}
 +
 +static void
 +write_val_with_decpoint(Eo_Lexer *ls, Eo_Token *tok, int type)
 +{
 +   struct lconv *lc = localeconv();
 +   char prev = ls-decpoint;
 +   ls-decpoint = lc ? lc-decimal_point[0] : '.';
 +   if (ls-decpoint == prev)
 + {
 +eo_lexer_lex_error(ls, malformed number, TOK_NUMBER);
 +return;
 + }
 +   replace_decpoint(ls, prev);
 +   char *end = NULL;
 +   if (type == NUM_FLOAT)
 + tok-value.f = strtof(eina_strbuf_string_get(ls-buff), end);
 +   else if (type == NUM_DOUBLE)
 + tok-value.d = strtod(eina_strbuf_string_get(ls-buff), end);
 +   if (end  end[0])
 + eo_lexer_lex_error(ls, malformed number, TOK_NUMBER);
 +}
 +
 +static void
   write_val(Eo_Lexer *ls, Eo_Token *tok, Eina_Bool is_float)
   {
  const char *str = eina_strbuf_string_get(ls-buff);
 @@ -582,6 +615,7 @@ write_val(Eo_Lexer *ls, Eo_Token *tok, Eina_Bool is_float)
  char *end = NULL;
  if (is_float)
{
 +replace_decpoint(ls, '.');
   if (type == NUM_FLOAT)
 tok-value.f = strtof(str, end);
   else if (type == NUM_DOUBLE)
 @@ -598,7 +632,14 @@ write_val(Eo_Lexer *ls, Eo_Token *tok, Eina_Bool 
 is_float)
 tok-value.ull = strtoull(str, end, 0);
}
  if (end  end[0])
 - eo_lexer_lex_error(ls, malformed number, TOK_NUMBER);
 + {
 +if (is_float)
 +  {
 + write_val_with_decpoint(ls, tok, type);
 + return;
 +  }
 +eo_lexer_lex_error(ls, malformed number, TOK_NUMBER);
 + }
  tok-kw = type;
   }

 @@ -875,6 +916,7 @@ eo_lexer_set_input(Eo_Lexer *ls, const char *source)
  ls-filename= get_filename(ls);
  ls-line_number = 1;
  ls-icolumn = ls-column = -1;
 +   ls-decpoint= '.';
  next_char(ls);
  if (ls-current != 0xEF)
return;
 diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
 index 713599d..c15b8e2 100644
 --- a/src/lib/eolian/eo_lexer.h
 +++ b/src/lib/eolian/eo_lexer.h
 @@ -161,9 +161,6 @@ typedef struct _Eo_Lexer
  /* this is jumped to when an error happens */
  jmp_buf  err_jmp;

 -   /* whether we allow lexing expression related tokens */
 -   Eina_Bool expr_mode;
 -
  /* saved context info */
  Eina_List *saved_ctxs;

 @@ -172,6 +169,12 @@ typedef struct _Eo_Lexer
   * case of error - and it's nulled when it's written into a more 
 permanent
   * position (e.g. as part of another struct, or into nodes */
  Eo_Lexer_Temps tmp;
 +
 +   /* whether we allow lexing expression related tokens */
 +   Eina_Bool expr_mode;
 +
 +   /* decimal point, by default '.' */
 +   char decpoint;
   } Eo_Lexer;

   int eo_lexer_init   (void);



--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 03/03: ecore con - fix object data referencing for deleted objects

2015-06-25 Thread The Rasterman
On Thu, 25 Jun 2015 11:03:38 +0200 Cedric BAIL cedric.b...@free.fr said:

 On Thu, Jun 25, 2015 at 10:41 AM, Carsten Haitzler ras...@rasterman.com
 wrote:
  On Thu, 25 Jun 2015 09:27:34 +0200 Cedric BAIL cedric.b...@free.fr said:
  Le 25 juin 2015 06:19, Carsten Haitzler ras...@rasterman.com a écrit :
  
   raster pushed a commit to branch master.
  
  
  http://git.enlightenment.org/core/efl.git/commit/?id=6483dc3ce91f94dd147bda1080b0e923d16f4653
  
   commit 6483dc3ce91f94dd147bda1080b0e923d16f4653
   Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
   Date:   Thu Jun 25 13:18:22 2015 +0900
  
   ecore con - fix object data referencing for deleted objects
  
   if the object has been deleted already, scope data is null. handle it
   correctly. this fixes a segv in the new efreetd when it starts and
   there is an existing efreet running thus owning the socket fails.
  
   @fix
 
  You have been tricked by it to. Data scope get doesn't check anything and
  can return a valid pointer when asking the wrong class on an object. You
  usually should not check the return with null as it is hiding a bigger
  problem.
 
  the bigger problem is the deferred events etc. et.c and that an eo object
  rewrite of ecore-con/ipc will fix. thus this will do for now. :)
 
 My point is that it can't do :-) eo_data_scope_get will either suceed
 or return gargabe, but != NULL. So testing if it is != NULL is just

nope. wrong. it returns NULL if the obj id is invalid. :)

 going to make you feel good and anyone looking at the code to which
 will make it harder to fix the real issue later on. Basically just
 remove all test != NULL related to the output of an eo_data_scope_get.
 That pattern is seriously misleading and far from obvious for C dev.

no. this is ACTUALLY a segfault. it's not a feel-good. :) it fixed it.

   ---
src/lib/ecore_con/ecore_con.c | 210
  +-
1 file changed, 124 insertions(+), 86 deletions(-)
  
   diff --git a/src/lib/ecore_con/ecore_con.c
   b/src/lib/ecore_con/ecore_con.c index 941dc11..1582c26 100644
   --- a/src/lib/ecore_con/ecore_con.c
   +++ b/src/lib/ecore_con/ecore_con.c
   @@ -271,6 +271,7 @@ ecore_con_shutdown(void)
Ecore_Con_Server_Data *svr = eo_data_scope_get(obj,
  ECORE_CON_SERVER_CLASS);
Ecore_Con_Event_Server_Add *ev;
  
   +if (!svr) continue;
svr-delete_me = EINA_TRUE;
INF(svr %p is dead, svr);
/* some pointer hacks here to prevent double frees if people are
  being stupid */
   @@ -1373,8 +1374,10 @@ _ecore_con_server_eo_base_destructor(Eo *obj,
  Ecore_Con_Server_Data *svr)
  
   ecore_con_ssl_server_shutdown(obj);
   free(svr-name);
   +   svr-name = NULL;
  
   free(svr-path);
   +   svr-path = NULL;
  
   eina_stringshare_del(svr-ip);
   eina_stringshare_del(svr-verify_name);
   @@ -1394,8 +1397,9 @@ _ecore_con_server_eo_base_destructor(Eo *obj,
  Ecore_Con_Server_Data *svr)
   servers = eina_list_remove(servers, obj);
   svr-data = NULL;
  
   -end:
   eo_do_super(obj, ECORE_CON_SERVER_CLASS, eo_destructor());
   +end:
   +   return;
}
  
static void
   @@ -2675,21 +2679,25 @@ _ecore_con_event_client_add_free(Ecore_Con_Server
  *obj,
Ecore_Con_Client_Data *cl = eo_data_scope_get(e-client,
  ECORE_CON_CLIENT_CLASS);
Eina_Bool svrfreed = EINA_FALSE;
  
   -cl-event_count = eina_list_remove(cl-event_count, e);
   -if (cl-host_server)
   +if ((svr)  (cl))
  {
   - Ecore_Con_Server_Data *host_server =
  eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
   - host_server-event_count =
  eina_list_remove(host_server-event_count, ev);
   - if ((!svr-event_count)  (svr-delete_me))
   + cl-event_count = eina_list_remove(cl-event_count, e);
   + if (cl-host_server)
   {
   -  _ecore_con_server_free(obj);
   -  svrfreed = EINA_TRUE;
   +  Ecore_Con_Server_Data *host_server =
  eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
   +  if (host_server)
   +host_server-event_count =
  eina_list_remove(host_server-event_count, ev);
   +  if ((!svr-event_count)  (svr-delete_me))
   +{
   +   _ecore_con_server_free(obj);
   +   svrfreed = EINA_TRUE;
   +}
   +   }
   + if (!svrfreed)
   +   {
   +  if ((!cl-event_count)  (cl-delete_me))
   +ecore_con_client_del(e-client);
   }
   -  }
   -if (!svrfreed)
   -  {
   - if ((!cl-event_count)  (cl-delete_me))
   -   ecore_con_client_del(e-client);
  }
 }
  
   @@ -2712,21 +2720,25 @@ 

Re: [E-devel] ami - probie to dev?

2015-06-25 Thread Daniel Zaoui
You mean _ami_? :)

On Thu, 25 Jun 2015 17:58:28 +0900
Carsten Haitzler ras...@rasterman.com (The Rasterman) wrote:

 disagreements? :)
 


--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] ami - probie to dev?

2015-06-25 Thread ChunEon Park
thumb up.


-Regards, Hermet-

-Original Message-
From: Carsten Haitzlerras...@rasterman.com 
To: eenlightenment-devel@lists.sourceforge.net; 
Cc: 
Sent: 2015-06-25 (목) 17:58:28
Subject: [E-devel] ami - probie to dev?
 
disagreements? :)

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Commit access

2015-06-25 Thread Daniel Juyung Seo
Oh my god. I was late, Cedric.

I strongly agree with Cedric's suggestion. Sanghyeon has been doing
incredible jobs on elementary, especially genlist/gengrid. He has a deep
knowledge about overall EFL. I guarantee his impact on our community.
Thumbs up!! Go ahead.

Thanks,
Daniel Juyung Seo (SeoZ)

On Fri, Jun 26, 2015 at 1:45 AM, Cedric BAIL cedric.b...@free.fr wrote:

 Hello,

 I would like to propose Sanghyeon Lee to receive commit access. He has
 been doing some great work on reviewing incoming patch on genlist and
 gengrid. You can look at his work on phab. He is the closest we have
 from an elementary genlist maintainer at this stage and we seriously
 need someone to take a good care of his patch. I am relying on him
 already to do the review on genlist/gengrid related patch on phab and
 trust his opinion.
   Does anyone have a different opinion ?

 Have fun,
 --
 Cedric BAIL


 --
 Monitor 25 network devices or servers for free with OpManager!
 OpManager is web-based network management software that monitors
 network devices and physical  virtual servers, alerts via email  sms
 for fault. Monitor 25 devices for free with no restriction. Download now
 http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Efl and Elementary 1.14.2 release

2015-06-25 Thread Stefan Schmidt
Another stable update for the 1.14.x series.

Efl fixes:
* pkg-config: fix portability issue on Windows. (T2458)
* edje: set GROUP/SWALLOW/EXTERNAL pass events based on mouse events
* eina semaphore lock - don't wake up because of signals
* ecore: null cb function is unacceptable.
* Evas filters: Fix blend with color with rgba buffers
* Evas: Remove shader_3d .x generated file from BUILT_SOURCES
* eina/simple_xml_parser: don't parse the ,  in the attribute string.

Elementary fixes:
* interface scrollerable: modify the loop_v condition in 
_elm_scroll_momentum_animator() function
* fix list item mode change on elm list
* win: only trigger del trap if win type is not FAKE
* win: do not use deferred ecore evas deletion for FAKE wins
* genlist: fix resize of items when added after elm_genlist_clear(). 
(T2367)

Download
http://download.enlightenment.org/rel/libs/efl/efl-1.14.2.tar.gz
e5699d8183c1540fe45dddaf692254632f9131335e97a09cc313e866a150b42c

http://download.enlightenment.org/rel/libs/elementary/elementary-1.14.2.tar.gz
899ad55f3866c66df3fc6840bccbce3c7d93d729760ef761ff97fcbf6f56b72b

Building and Dependencies

If you have an existing EFL or Elementary install, you may wish to 
delete its header files and libraries before compiling and installing to 
avoid possible conflicts during compilation. If you are compiling the 
above, please compile them in the following order:

efl
elementary

If you have an existing EFL or Elementary install, you may wish to 
delete its header files and libraries before building the above.



--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 04/11: genlist/list/win: Revert focus highlight animation when looping is enable

2015-06-25 Thread Amitesh Singh
Hello Stefan,


On Thu, Jun 25, 2015 at 9:08 PM, Stefan Schmidt ste...@osg.samsung.com
wrote:

 Hello.

 On 25/06/15 17:24, Amitesh Singh wrote:
  cedric pushed a commit to branch master.
 
 
 http://git.enlightenment.org/core/elementary.git/commit/?id=8889b728774bd479294ee5029730c90cdddf4450
 
  commit 8889b728774bd479294ee5029730c90cdddf4450
  Author: Amitesh Singh amitesh...@samsung.com
  Date:   Thu Jun 25 16:15:06 2015 +0200
 
   genlist/list/win: Revert focus highlight animation when looping is
 enable
 
   Summary:
 -
 Revert focus: Added internal widget APIs of focus highlight
 object of elm window.
 
   This reverts commit 3f98d71830163a154762f2d16301d720c781b7c5.
 
 - Revert List: Focus highlight when loop is enable
   This reverts commit 57ad32a900e71f83441bf7246671b8f16a8ec909.
 
 - Revert genlist: Focus highlight when loop is enable
 
   This reverts commit 91282a22cba66ee5e7799018d3abe8957fb1b1fa.
 

 It would be good to state the reason for a revert. What did break?


It does not break anything. Actually nobody needs this feature now.
Also this code is very much dependent on theme signal.
its just a routine clean up. We did discuss about this with Raster before
on IRC.

regards
 Stefan Schmidt


 --
 Monitor 25 network devices or servers for free with OpManager!
 OpManager is web-based network management software that monitors
 network devices and physical  virtual servers, alerts via email  sms
 for fault. Monitor 25 devices for free with no restriction. Download now
 http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 04/11: genlist/list/win: Revert focus highlight animation when looping is enable

2015-06-25 Thread Stefan Schmidt
Hello.

On 25/06/15 17:24, Amitesh Singh wrote:
 cedric pushed a commit to branch master.

 http://git.enlightenment.org/core/elementary.git/commit/?id=8889b728774bd479294ee5029730c90cdddf4450

 commit 8889b728774bd479294ee5029730c90cdddf4450
 Author: Amitesh Singh amitesh...@samsung.com
 Date:   Thu Jun 25 16:15:06 2015 +0200

  genlist/list/win: Revert focus highlight animation when looping is enable
  
  Summary:
-
Revert focus: Added internal widget APIs of focus highlight object of 
 elm window.
  
  This reverts commit 3f98d71830163a154762f2d16301d720c781b7c5.
  
- Revert List: Focus highlight when loop is enable
  This reverts commit 57ad32a900e71f83441bf7246671b8f16a8ec909.
  
- Revert genlist: Focus highlight when loop is enable
  
  This reverts commit 91282a22cba66ee5e7799018d3abe8957fb1b1fa.
  

It would be good to state the reason for a revert. What did break?

regards
Stefan Schmidt

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
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/01: Logging: Fix broken logging macros.

2015-06-25 Thread Tom Hacohen
On 22/06/15 15:42, Tom Hacohen wrote:
 As I said in the commit message, why is the alternative logging
 mechanism even there? Shouldn't it be removed and we just always rely on
 eina log?

No comments anyone?

--
Tom.


--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Commit access

2015-06-25 Thread Cedric BAIL
Hello,

I would like to propose Sanghyeon Lee to receive commit access. He has
been doing some great work on reviewing incoming patch on genlist and
gengrid. You can look at his work on phab. He is the closest we have
from an elementary genlist maintainer at this stage and we seriously
need someone to take a good care of his patch. I am relying on him
already to do the review on genlist/gengrid related patch on phab and
trust his opinion.
  Does anyone have a different opinion ?

Have fun,
-- 
Cedric BAIL

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Enventor v0.6.0 Release

2015-06-25 Thread ChunEon Park
Hi folks. This is Hermet.

Enventor v0.6.0 is just released after 4 months development. 
We've mainly focused on stabilizing and improving some fancy features such as 
auto completion and live edit. 
We're pretty sure Enventor has been much more useful tool when you writing edc.

Enjoy. :)

==Videos==
https://youtu.be/i1l5YHmW9cs
https://youtu.be/7UEgRUb3b8A


==NEWS==

Additions:
Support editor font setting(font name, style, size).
Add Enventor APis.
enventor_object_font_set()/get() APIs.
enventor_object_auto_complete_list_show() API.

Removes:
Get rid of template insert feature per parts.
Get rid of tooltips from menu buttons.

Improvements:

Support more keywords in auto completion.
Support more syntax color keywords
Update live view with the current part that cursor positioned in.
Improve live edit dragging handling.
Introduce new command line arguments.
Add more new file templates.
Support edj output file path set.
Update previous enventor config file properly by version info.
Support saving edj file from file dialog.
Enhance auto completion feature.
Support part highlighting for SPACER type.
Change short-cut keys for split views.
Apply auto indentation when code is pasted.
Support toggle effect on Tools GUI.
Store/Restore editor split view status.
Change live view scaling to zoom in/out concept.
Adjust live view zoom range. (0.1 ~ 10.0)

Fixes:
Fix the compatibility to eo syntax change.
Fix library initialization count corruption.
Disable part highlight on Live Edit mode.
Fix the live view to update by groups correctly.
Fix wrong candidate popup position.
Fix context corruption of font/view scale up/down.
Fix auto completion popup sizing issue.
Close auto completion popup if the line is deleted.
Fix focus highlight remaining issue when live edit item is selected.
Zoom up/down properly on live edit mode.
Cancel live edit if the about(F1) is activated.
Ctrl + wheel works even with numlock.

Package Download
http://download.enlightenment.org/rel/apps/enventor/enventor-0.6.0.tar.gz
http://download.enlightenment.org/rel/apps/enventor/enventor-0.6.0.tar.bz2
http://download.enlightenment.org/rel/apps/enventor/enventor-0.6.0.tar.xz

Source Repository
http://git.enlightenment.org/tools/enventor.git

See Page
https://phab.enlightenment.org/w/projects/enventor/#



-Regards, Hermet-
--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Commit access

2015-06-25 Thread ChunEon Park
+1


-Regards, Hermet-

-Original Message-
From: Cedric BAILcedric.b...@free.fr 
To: e-develenlightenment-devel@lists.sourceforge.net; 
dltkdgus1...@gmail.com; 
Cc: 
Sent: 2015-06-26 (금) 01:45:49
Subject: [E-devel] Commit access
 
Hello,

I would like to propose Sanghyeon Lee to receive commit access. He has
been doing some great work on reviewing incoming patch on genlist and
gengrid. You can look at his work on phab. He is the closest we have
from an elementary genlist maintainer at this stage and we seriously
need someone to take a good care of his patch. I am relying on him
already to do the review on genlist/gengrid related patch on phab and
trust his opinion.
  Does anyone have a different opinion ?

Have fun,
-- 
Cedric BAIL

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Commit access

2015-06-25 Thread Jaehwan Kim
 
I agree.
He has a great knowledge about genlist, gengrid.
+1


블로그서명greensun00님의 블로그
안녕하세요.
-Original Message-
From: ChunEon Parklt;her...@naver.comgt; 
To: Enlightenment developer 
listlt;enlightenment-devel@lists.sourceforge.netgt;; 
lt;dltkdgus1...@gmail.comgt;; 
Cc: 
Sent: 2015-06-26 (금) 12:02:52
Subject: Re: [E-devel] Commit access
 
+1


-Regards, Hermet-

-Original Message-
From: Cedric BAILlt;cedric.b...@free.frgt; 
To: e-devellt;enlightenment-devel@lists.sourceforge.netgt;; 
lt;dltkdgus1...@gmail.comgt;; 
Cc: 
Sent: 2015-06-26 (금) 01:45:49
Subject: [E-devel] Commit access
 
Hello,

I would like to propose Sanghyeon Lee to receive commit access. He has
been doing some great work on reviewing incoming patch on genlist and
gengrid. You can look at his work on phab. He is the closest we have
from an elementary genlist maintainer at this stage and we seriously
need someone to take a good care of his patch. I am relying on him
already to do the review on genlist/gengrid related patch on phab and
trust his opinion.
  Does anyone have a different opinion ?

Have fun,
-- 
Cedric BAIL

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical amp; virtual servers, alerts via email amp; sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical amp; virtual servers, alerts via email amp; sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Commit access

2015-06-25 Thread woohyun
 
I fully agree with Cedric.
He can do many things not only for genlist - but also for other modules.
 
So ! +1  :) 
 
-Original Message-
From: Daniel Juyung Seolt;seojuyu...@gmail.comgt; 
To: Enlightenment developer 
listlt;enlightenment-devel@lists.sourceforge.netgt;; 
Cc: 
Sent: 2015-06-26 (금) 05:06:12
Subject: Re: [E-devel] Commit access
 
Oh my god. I was late, Cedric.

I strongly agree with Cedric's suggestion. Sanghyeon has been doing
incredible jobs on elementary, especially genlist/gengrid. He has a deep
knowledge about overall EFL. I guarantee his impact on our community.
Thumbs up!! Go ahead.

Thanks,
Daniel Juyung Seo (SeoZ)

On Fri, Jun 26, 2015 at 1:45 AM, Cedric BAIL lt;cedric.b...@free.frgt; wrote:

gt; Hello,
gt;
gt; I would like to propose Sanghyeon Lee to receive commit access. He has
gt; been doing some great work on reviewing incoming patch on genlist and
gt; gengrid. You can look at his work on phab. He is the closest we have
gt; from an elementary genlist maintainer at this stage and we seriously
gt; need someone to take a good care of his patch. I am relying on him
gt; already to do the review on genlist/gengrid related patch on phab and
gt; trust his opinion.
gt;   Does anyone have a different opinion ?
gt;
gt; Have fun,
gt; --
gt; Cedric BAIL
gt;
gt;
gt; 
--
gt; Monitor 25 network devices or servers for free with OpManager!
gt; OpManager is web-based network management software that monitors
gt; network devices and physical amp; virtual servers, alerts via email amp; 
sms
gt; for fault. Monitor 25 devices for free with no restriction. Download now
gt; http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
gt; ___
gt; enlightenment-devel mailing list
gt; enlightenment-devel@lists.sourceforge.net
gt; https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
gt;
--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical amp; virtual servers, alerts via email amp; sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
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/01: Logging: Fix broken logging macros.

2015-06-25 Thread The Rasterman
On Thu, 25 Jun 2015 18:01:36 +0100 Tom Hacohen t...@osg.samsung.com said:

 On 22/06/15 15:42, Tom Hacohen wrote:
  As I said in the commit message, why is the alternative logging
  mechanism even there? Shouldn't it be removed and we just always rely on
  eina log?
 
 No comments anyone?

personally i find eina log output painful. mostly because its long. it goes

from this long

to a a line this long and full of other stuff including escapes and what not so
it eventually wraps around at least 2 lines in a standard 80 wide terminal

the escapes literally come up horribly:

ESC[31mERRESC[0meoESC[31mESC[0mlib/eo/eo.c:780ESC[0m in
lib/edje/edje_object.eo.c:420: unable to resolve regular api func
'edje_obj_thaw' 0x7efc4ff8c7d0 in class 'Evas_Rectangle'.

literally that is what i get when i less my .xsession-errors.

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [tools/expedite] master 02/03: font_effect: fix JP borking.

2015-06-25 Thread Jean-Philippe André
On Fri, Jun 26, 2015 at 1:30 AM, Cedric BAIL ced...@osg.samsung.com wrote:

 cedric pushed a commit to branch master.


 http://git.enlightenment.org/tools/expedite.git/commit/?id=014001fb20499d175f4e5c896ac4d27bf05c69c5

 commit 014001fb20499d175f4e5c896ac4d27bf05c69c5
 Author: Cedric BAIL ced...@osg.samsung.com
 Date:   Thu Jun 25 17:56:26 2015 +0200

 font_effect: fix JP borking.


Thanks :)



 ---
  src/bin/font_effect_blur_alpha.c | 6 --
  src/bin/font_effect_blur_color.c | 6 --
  2 files changed, 8 insertions(+), 4 deletions(-)

 diff --git a/src/bin/font_effect_blur_alpha.c
 b/src/bin/font_effect_blur_alpha.c
 index 8f812c9..14563e1 100644
 --- a/src/bin/font_effect_blur_alpha.c
 +++ b/src/bin/font_effect_blur_alpha.c
 @@ -1,3 +1,5 @@
 +#define EFL_GFX_FILTER_BETA
 +
  #undef FNAME
  #undef NAME
  #undef ICON
 @@ -50,9 +52,9 @@ static void _cleanup(void)
  static void _loop(double t, int f)
  {
 char buf[256];
 -   char *str = padding_set(%d);blur(%d,color=black);;
 +   char *str = padding_set({ %d });blur({%d,color=black });;
 sprintf(buf, str, MAX_BLUR, ((f % MAX_BLUR) + 1));
 -   eo_do(text, evas_obj_text_filter_program_set(buf));
 +   eo_do(text, efl_gfx_filter_program_set(buf, test));

 FPS_STD(NAME);
  }
 diff --git a/src/bin/font_effect_blur_color.c
 b/src/bin/font_effect_blur_color.c
 index 875f440..8f405e0 100644
 --- a/src/bin/font_effect_blur_color.c
 +++ b/src/bin/font_effect_blur_color.c
 @@ -1,3 +1,5 @@
 +#define EFL_GFX_FILTER_BETA
 +
  #undef FNAME
  #undef NAME
  #undef ICON
 @@ -52,9 +54,9 @@ static void _cleanup(void)
  static void _loop(double t, int f)
  {
 char buf[256];
 -   char *str =
 buffer:a(rgba);padding_set(%d);blend(dst=a,color=darkblue);blur(%d,src=a);;
 +   char *str = a = buffer({ 'rgba' }); padding_set({ %d });
 blend({dst=a, color=darkblue});blur({%d,src=a});;
 sprintf(buf, str, MAX_BLUR, ((f % MAX_BLUR) + 1));
 -   eo_do(text, evas_obj_text_filter_program_set(buf));
 +   eo_do(text, efl_gfx_filter_program_set(buf, test));

 FPS_STD(NAME);
  }

 --





-- 
Jean-Philippe André
--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
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 confiug - remove now useless x11 property handling - donr by files

2015-06-25 Thread Daniel Juyung Seo
Hi Raster,

After this commit, there could be a null dereference issue.

1. In _config_flush_get(), _elm_config becomes NULL in line 1515.
2. In _config_flush_load(), _elm_config should have a valid value.
3. But if eet_open(line 1478) fails or eet_data_read(line 1481) fails,
_elm_config remains NULL.
4. This leads NULL dereference in _config_flush_get().

Can you check that?

Thanks,
Daniel Juyung Seo (SeoZ)

On Thu, Jun 18, 2015 at 8:13 PM, Carsten Haitzler ras...@rasterman.com
wrote:

 raster pushed a commit to branch master.


 http://git.enlightenment.org/core/elementary.git/commit/?id=ac874ffe6254d85bd0a5c05d99c8fa573d04d9d5

 commit ac874ffe6254d85bd0a5c05d99c8fa573d04d9d5
 Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
 Date:   Thu Jun 18 20:12:04 2015 +0900

 elm confiug - remove now useless x11 property handling - donr by files

 follow on from b1c5de0b9aa67b9d5cc4722e9462830beb3af37b,
 aa7f859da10ce007a7b945a8703e70161c96146d
 ---
  src/lib/elm_config.c | 117
 +--
  1 file changed, 1 insertion(+), 116 deletions(-)

 diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c
 index b4920ab..b823346 100644
 --- a/src/lib/elm_config.c
 +++ b/src/lib/elm_config.c
 @@ -125,61 +125,6 @@ static void_color_overlays_cancel(void);
  #define ELM_CONFIG_LIST(edd, type, member, eddtype) \
EET_DATA_DESCRIPTOR_ADD_LIST(edd, type, #member, member, eddtype)

 -#ifdef HAVE_ELEMENTARY_X
 -static Ecore_Event_Handler *_prop_change_handler = NULL;
 -static Ecore_Timer *_prop_change_delay_timer = NULL;
 -static Ecore_X_Window _config_win = 0;
 -#define ATOM_COUNT 3
 -static Ecore_X_Atom _atom[ATOM_COUNT];
 -static const char *_atom_names[ATOM_COUNT] =
 -{
 -   ELM_PROFILE,
 -   ELM_CONFIG,
 -   ELM_CONFIG_WIN
 -};
 -#define ATOM_E_PROFILE0
 -#define ATOM_E_CONFIG 1
 -#define ATOM_E_CONFIG_WIN 2
 -
 -static Eina_Bool
 -_prop_change_delay_cb(void *data EINA_UNUSED)
 -{
 -   char *s;
 -
 -   if (!getenv(ELM_PROFILE))
 - {
 -s = ecore_x_window_prop_string_get(_config_win,
 _atom[ATOM_E_PROFILE]);
 -if (s)
 -  {
 - free(_elm_profile);
 - _elm_profile = s;
 -  }
 - }
 -   _config_get();
 -   _prop_change_delay_timer = NULL;
 -
 -   return ECORE_CALLBACK_CANCEL;
 -}
 -
 -static Eina_Bool
 -_prop_change(void *data  EINA_UNUSED,
 - int ev_type EINA_UNUSED,
 - void   *ev)
 -{
 -   Ecore_X_Event_Window_Property *event = ev;
 -
 -   if (event-win == _config_win)
 - {
 -if (event-atom == _atom[ATOM_E_PROFILE])
 -  {
 - ecore_timer_del(_prop_change_delay_timer);
 - _prop_change_delay_timer = ecore_timer_add(0.1,
 _prop_change_delay_cb, NULL);
 -  }
 - }
 -   return ECORE_CALLBACK_PASS_ON;
 -}
 -#endif
 -
  static void
  _elm_font_overlays_del_free(void)
  {
 @@ -3118,12 +3063,6 @@ EAPI void
  elm_config_all_flush(void)
  {
 FILE *f;
 -
 -#ifdef HAVE_ELEMENTARY_X
 -   if (ecore_x_display_get())
 - ecore_x_window_prop_string_set(_config_win, _atom[ATOM_E_PROFILE],
 -_elm_profile);
 -#endif
 char buf[PATH_MAX];

 _elm_config_user_dir_snprintf(buf, sizeof(buf), config/%s/flush,
 @@ -3187,7 +3126,6 @@ void
  _elm_config_sub_shutdown(void)
  {
  #ifdef HAVE_ELEMENTARY_X
 -   ELM_SAFE_FREE(_prop_change_delay_timer, ecore_timer_del);
 if (ecore_x_display_get()) ecore_x_shutdown();
  #endif
 ELM_SAFE_FREE(_eio_monitor, eio_monitor_del);
 @@ -3251,59 +3189,9 @@ _elm_config_sub_init(void)
  else /* No $DISPLAY */
init_x = EINA_FALSE;
   }
 -
 if (init_x)
   {
 -if (ecore_x_init(NULL))
 -  {
 - Ecore_X_Window win = 0, win2 = 0, root;
 -
 - if (!ecore_x_screen_is_composited(0))
 -   _elm_config-compositing = 0;
 - ecore_x_atoms_get(_atom_names, ATOM_COUNT, _atom);
 - root = ecore_x_window_root_first_get();
 - if (ecore_x_window_prop_window_get(root,
 -_atom[ATOM_E_CONFIG_WIN],
 -win, 1) == 1)
 -   {
 -  if (ecore_x_window_prop_window_get(win,
 -
  _atom[ATOM_E_CONFIG_WIN],
 - win2, 1) == 1)
 -{
 -   if (win2 == win) _config_win = win;
 -}
 -   }
 - if (_config_win == 0)
 -   _config_win = ecore_x_window_permanent_new
 -   (root, _atom[ATOM_E_CONFIG_WIN]);
 -
 - ecore_x_event_mask_set(_config_win,
 -ECORE_X_EVENT_MASK_WINDOW_PROPERTY);
 - _prop_change_handler = ecore_event_handler_add
 - (ECORE_X_EVENT_WINDOW_PROPERTY, _prop_change, NULL);
 - if (!getenv(ELM_PROFILE))
 - 

Re: [E-devel] [EGIT] [core/efl] master 03/03: ecore con - fix object data referencing for deleted objects

2015-06-25 Thread Cedric BAIL
Le 25 juin 2015 06:19, Carsten Haitzler ras...@rasterman.com a écrit :

 raster pushed a commit to branch master.


http://git.enlightenment.org/core/efl.git/commit/?id=6483dc3ce91f94dd147bda1080b0e923d16f4653

 commit 6483dc3ce91f94dd147bda1080b0e923d16f4653
 Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
 Date:   Thu Jun 25 13:18:22 2015 +0900

 ecore con - fix object data referencing for deleted objects

 if the object has been deleted already, scope data is null. handle it
 correctly. this fixes a segv in the new efreetd when it starts and
 there is an existing efreet running thus owning the socket fails.

 @fix

You have been tricked by it to. Data scope get doesn't check anything and
can return a valid pointer when asking the wrong class on an object. You
usually should not check the return with null as it is hiding a bigger
problem.

 ---
  src/lib/ecore_con/ecore_con.c | 210
+-
  1 file changed, 124 insertions(+), 86 deletions(-)

 diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
 index 941dc11..1582c26 100644
 --- a/src/lib/ecore_con/ecore_con.c
 +++ b/src/lib/ecore_con/ecore_con.c
 @@ -271,6 +271,7 @@ ecore_con_shutdown(void)
  Ecore_Con_Server_Data *svr = eo_data_scope_get(obj,
ECORE_CON_SERVER_CLASS);
  Ecore_Con_Event_Server_Add *ev;

 +if (!svr) continue;
  svr-delete_me = EINA_TRUE;
  INF(svr %p is dead, svr);
  /* some pointer hacks here to prevent double frees if people are
being stupid */
 @@ -1373,8 +1374,10 @@ _ecore_con_server_eo_base_destructor(Eo *obj,
Ecore_Con_Server_Data *svr)

 ecore_con_ssl_server_shutdown(obj);
 free(svr-name);
 +   svr-name = NULL;

 free(svr-path);
 +   svr-path = NULL;

 eina_stringshare_del(svr-ip);
 eina_stringshare_del(svr-verify_name);
 @@ -1394,8 +1397,9 @@ _ecore_con_server_eo_base_destructor(Eo *obj,
Ecore_Con_Server_Data *svr)
 servers = eina_list_remove(servers, obj);
 svr-data = NULL;

 -end:
 eo_do_super(obj, ECORE_CON_SERVER_CLASS, eo_destructor());
 +end:
 +   return;
  }

  static void
 @@ -2675,21 +2679,25 @@ _ecore_con_event_client_add_free(Ecore_Con_Server
*obj,
  Ecore_Con_Client_Data *cl = eo_data_scope_get(e-client,
ECORE_CON_CLIENT_CLASS);
  Eina_Bool svrfreed = EINA_FALSE;

 -cl-event_count = eina_list_remove(cl-event_count, e);
 -if (cl-host_server)
 +if ((svr)  (cl))
{
 - Ecore_Con_Server_Data *host_server =
eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
 - host_server-event_count =
eina_list_remove(host_server-event_count, ev);
 - if ((!svr-event_count)  (svr-delete_me))
 + cl-event_count = eina_list_remove(cl-event_count, e);
 + if (cl-host_server)
 {
 -  _ecore_con_server_free(obj);
 -  svrfreed = EINA_TRUE;
 +  Ecore_Con_Server_Data *host_server =
eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
 +  if (host_server)
 +host_server-event_count =
eina_list_remove(host_server-event_count, ev);
 +  if ((!svr-event_count)  (svr-delete_me))
 +{
 +   _ecore_con_server_free(obj);
 +   svrfreed = EINA_TRUE;
 +}
 +   }
 + if (!svrfreed)
 +   {
 +  if ((!cl-event_count)  (cl-delete_me))
 +ecore_con_client_del(e-client);
 }
 -  }
 -if (!svrfreed)
 -  {
 - if ((!cl-event_count)  (cl-delete_me))
 -   ecore_con_client_del(e-client);
}
   }

 @@ -2712,21 +2720,25 @@ _ecore_con_event_client_del_free(Ecore_Con_Server
*obj,
  Ecore_Con_Client_Data *cl = eo_data_scope_get(e-client,
ECORE_CON_CLIENT_CLASS);
  Eina_Bool svrfreed = EINA_FALSE;

 -cl-event_count = eina_list_remove(cl-event_count, e);
 -if (cl-host_server)
 +if ((svr)  (cl))
{
 - Ecore_Con_Server_Data *host_server =
eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
 - host_server-event_count =
eina_list_remove(host_server-event_count, ev);
 - if ((!svr-event_count)  (svr-delete_me))
 + cl-event_count = eina_list_remove(cl-event_count, e);
 + if (cl-host_server)
 {
 -  _ecore_con_server_free(obj);
 -  svrfreed = EINA_TRUE;
 +  Ecore_Con_Server_Data *host_server =
eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
 +  if (host_server)
 +host_server-event_count =
eina_list_remove(host_server-event_count, ev);
 +  if ((!svr-event_count)  (svr-delete_me))
 +{
 +   

Re: [E-devel] [EGIT] [core/efl] master 01/01: eolian_cxx: Use C++ wrappers instead of native types as parameters

2015-06-25 Thread Stefan Schmidt
Hello.

On 24/06/15 16:24, Vitor Sousa wrote:
 q66 pushed a commit to branch master.

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

 commit dae35333fd905507ddae01a69add184ea1e3d10f
 Author: Vitor Sousa vitorsousasi...@gmail.com
 Date:   Wed Jun 24 15:23:01 2015 +0100

  eolian_cxx: Use C++ wrappers instead of native types as parameters
  
  Summary:
  Using C++ wrapper types in the signature of methods of the generated
  classes.
  Now, when the type is an Eo type defined in Eolian, eolian_cxx will 
 detect
  it and use the equivalent C++ wrapper.
  
  Types defined in Eolian no longer need to be specified in the lookup 
 table,
  so removed them from there.
  
  Disable wrapping of non-const char*. The current wrapper (unique_ptr) is
  not suited for some required operations like ownership acquisition from
  C code.
  
  Fix constructing properties that only have the set method.
  
  Fix translation of non-const parameters.
  
  Modified Makefiles to allow proper inclusion of evas_cxx headers required
  by some tests and examples.
  
  Move one auxiliary function to another reader to make it more accessible.
  
  @feature


Since this commit the evas 3d tests are now longer compiling on the x86 
slaves on jenkins.
https://build.enlightenment.org/job/changely_efl_clang_x86/3460/console
https://build.enlightenment.org/job/changely_efl_clang_x86_64/3465/console

My local build on x86_64 as well as the 64 bit jenkins jobs went through.

regards
Stefan Schmidt


--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 02/38: Ecore_Audio: Avoid abort() in PulseAudio

2015-06-25 Thread Jean-Philippe André
On Thu, Jun 25, 2015 at 4:39 PM, Stefan Schmidt ste...@osg.samsung.com
wrote:

 Hello.

 On 25/06/15 08:15, Jean-Philippe ANDRÉ wrote:
  jpeg pushed a commit to branch master.
 
 
 http://git.enlightenment.org/core/efl.git/commit/?id=6db0ff42291ff4c44815df3a5f77c31ae1bad1ac
 
  commit 6db0ff42291ff4c44815df3a5f77c31ae1bad1ac
  Author: Jean-Philippe Andre jp.an...@samsung.com
  Date:   Wed Jun 24 14:43:07 2015 +0900
 
   Ecore_Audio: Avoid abort() in PulseAudio
 
   In some cases (stress test), pulseaudio fails to play a sound
   and pa_stream_drain() returns NULL, making pa_operation_unref()
   crash right after.

 If this is what I think it is then it will be the hero commit of the
 month if not quarter :)

 Let's see if we see any more ecore_audio test segfaults after this one.
 Good job!


Not sure this is related to your problem.
Here is what happened:
cat a binary file in terminology, the BEL char happens a lot of times, so
terminology will try to play sounds all the time, but PulseAudio fails to
open more streams.
The crash happened during eo_del() and was an abort(), not SIGSEGV.

The root cause of this abort() is still unfixed: too many plays at once.
Terminology or ecore_audio should just stop trying to play that many
samples, or reuse existing streams maybe (this is just me thinking out
loud).

Best regards,


 regards
 Stefan Schmidt

  ---
src/lib/ecore_audio/ecore_audio_obj_out_pulse.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
 
  diff --git a/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
 b/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
  index 901d9f6..eab7464 100644
  --- a/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
  +++ b/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
  @@ -184,6 +184,7 @@
 _ecore_audio_out_pulse_ecore_audio_out_input_detach(Eo *eo_obj,
 Ecore_Audio_Out_
{
  pa_stream *stream = NULL;
  Eina_Bool ret2 = EINA_FALSE;
  +  pa_operation *op;
 
  eo_do_super(eo_obj, MY_CLASS, ret2 =
 ecore_audio_obj_out_input_detach(in));
  if (!ret2)
  @@ -192,8 +193,14 @@
 _ecore_audio_out_pulse_ecore_audio_out_input_detach(Eo *eo_obj,
 Ecore_Audio_Out_
  eo_do(in, stream = eo_key_data_get(pulse_data));
 
  pa_stream_set_write_callback(stream, NULL, NULL);
  -  pa_operation_unref(pa_stream_drain(stream, _drain_cb, NULL));
  +  op = pa_stream_drain(stream, _drain_cb, NULL);
  +  if (!op)
  +{
  +   ERR(Failed to drain PulseAudio stream.);
  +   return EINA_FALSE;
  +}
 
  +  pa_operation_unref(op);
  return EINA_TRUE;
}
 
 



 --
 Monitor 25 network devices or servers for free with OpManager!
 OpManager is web-based network management software that monitors
 network devices and physical  virtual servers, alerts via email  sms
 for fault. Monitor 25 devices for free with no restriction. Download now
 http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel




-- 
Jean-Philippe André
--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] ami - probie to dev?

2015-06-25 Thread The Rasterman
disagreements? :)

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 03/03: ecore con - fix object data referencing for deleted objects

2015-06-25 Thread Cedric BAIL
On Thu, Jun 25, 2015 at 10:41 AM, Carsten Haitzler ras...@rasterman.com wrote:
 On Thu, 25 Jun 2015 09:27:34 +0200 Cedric BAIL cedric.b...@free.fr said:
 Le 25 juin 2015 06:19, Carsten Haitzler ras...@rasterman.com a écrit :
 
  raster pushed a commit to branch master.
 
 
 http://git.enlightenment.org/core/efl.git/commit/?id=6483dc3ce91f94dd147bda1080b0e923d16f4653
 
  commit 6483dc3ce91f94dd147bda1080b0e923d16f4653
  Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
  Date:   Thu Jun 25 13:18:22 2015 +0900
 
  ecore con - fix object data referencing for deleted objects
 
  if the object has been deleted already, scope data is null. handle it
  correctly. this fixes a segv in the new efreetd when it starts and
  there is an existing efreet running thus owning the socket fails.
 
  @fix

 You have been tricked by it to. Data scope get doesn't check anything and
 can return a valid pointer when asking the wrong class on an object. You
 usually should not check the return with null as it is hiding a bigger
 problem.

 the bigger problem is the deferred events etc. et.c and that an eo object
 rewrite of ecore-con/ipc will fix. thus this will do for now. :)

My point is that it can't do :-) eo_data_scope_get will either suceed
or return gargabe, but != NULL. So testing if it is != NULL is just
going to make you feel good and anyone looking at the code to which
will make it harder to fix the real issue later on. Basically just
remove all test != NULL related to the output of an eo_data_scope_get.
That pattern is seriously misleading and far from obvious for C dev.

  ---
   src/lib/ecore_con/ecore_con.c | 210
 +-
   1 file changed, 124 insertions(+), 86 deletions(-)
 
  diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
  index 941dc11..1582c26 100644
  --- a/src/lib/ecore_con/ecore_con.c
  +++ b/src/lib/ecore_con/ecore_con.c
  @@ -271,6 +271,7 @@ ecore_con_shutdown(void)
   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj,
 ECORE_CON_SERVER_CLASS);
   Ecore_Con_Event_Server_Add *ev;
 
  +if (!svr) continue;
   svr-delete_me = EINA_TRUE;
   INF(svr %p is dead, svr);
   /* some pointer hacks here to prevent double frees if people are
 being stupid */
  @@ -1373,8 +1374,10 @@ _ecore_con_server_eo_base_destructor(Eo *obj,
 Ecore_Con_Server_Data *svr)
 
  ecore_con_ssl_server_shutdown(obj);
  free(svr-name);
  +   svr-name = NULL;
 
  free(svr-path);
  +   svr-path = NULL;
 
  eina_stringshare_del(svr-ip);
  eina_stringshare_del(svr-verify_name);
  @@ -1394,8 +1397,9 @@ _ecore_con_server_eo_base_destructor(Eo *obj,
 Ecore_Con_Server_Data *svr)
  servers = eina_list_remove(servers, obj);
  svr-data = NULL;
 
  -end:
  eo_do_super(obj, ECORE_CON_SERVER_CLASS, eo_destructor());
  +end:
  +   return;
   }
 
   static void
  @@ -2675,21 +2679,25 @@ _ecore_con_event_client_add_free(Ecore_Con_Server
 *obj,
   Ecore_Con_Client_Data *cl = eo_data_scope_get(e-client,
 ECORE_CON_CLIENT_CLASS);
   Eina_Bool svrfreed = EINA_FALSE;
 
  -cl-event_count = eina_list_remove(cl-event_count, e);
  -if (cl-host_server)
  +if ((svr)  (cl))
 {
  - Ecore_Con_Server_Data *host_server =
 eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
  - host_server-event_count =
 eina_list_remove(host_server-event_count, ev);
  - if ((!svr-event_count)  (svr-delete_me))
  + cl-event_count = eina_list_remove(cl-event_count, e);
  + if (cl-host_server)
  {
  -  _ecore_con_server_free(obj);
  -  svrfreed = EINA_TRUE;
  +  Ecore_Con_Server_Data *host_server =
 eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
  +  if (host_server)
  +host_server-event_count =
 eina_list_remove(host_server-event_count, ev);
  +  if ((!svr-event_count)  (svr-delete_me))
  +{
  +   _ecore_con_server_free(obj);
  +   svrfreed = EINA_TRUE;
  +}
  +   }
  + if (!svrfreed)
  +   {
  +  if ((!cl-event_count)  (cl-delete_me))
  +ecore_con_client_del(e-client);
  }
  -  }
  -if (!svrfreed)
  -  {
  - if ((!cl-event_count)  (cl-delete_me))
  -   ecore_con_client_del(e-client);
 }
}
 
  @@ -2712,21 +2720,25 @@ _ecore_con_event_client_del_free(Ecore_Con_Server
 *obj,
   Ecore_Con_Client_Data *cl = eo_data_scope_get(e-client,
 ECORE_CON_CLIENT_CLASS);
   Eina_Bool svrfreed = EINA_FALSE;
 
  -cl-event_count = eina_list_remove(cl-event_count, e);
  -if (cl-host_server)
  +if ((svr)  (cl))
 {
  

Re: [E-devel] [EGIT] [core/efl] master 03/03: ecore con - fix object data referencing for deleted objects

2015-06-25 Thread The Rasterman
On Thu, 25 Jun 2015 09:27:34 +0200 Cedric BAIL cedric.b...@free.fr said:

 Le 25 juin 2015 06:19, Carsten Haitzler ras...@rasterman.com a écrit :
 
  raster pushed a commit to branch master.
 
 
 http://git.enlightenment.org/core/efl.git/commit/?id=6483dc3ce91f94dd147bda1080b0e923d16f4653
 
  commit 6483dc3ce91f94dd147bda1080b0e923d16f4653
  Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
  Date:   Thu Jun 25 13:18:22 2015 +0900
 
  ecore con - fix object data referencing for deleted objects
 
  if the object has been deleted already, scope data is null. handle it
  correctly. this fixes a segv in the new efreetd when it starts and
  there is an existing efreet running thus owning the socket fails.
 
  @fix
 
 You have been tricked by it to. Data scope get doesn't check anything and
 can return a valid pointer when asking the wrong class on an object. You
 usually should not check the return with null as it is hiding a bigger
 problem.

the bigger problem is the deferred events etc. et.c and that an eo object
rewrite of ecore-con/ipc will fix. thus this will do for now. :)

  ---
   src/lib/ecore_con/ecore_con.c | 210
 +-
   1 file changed, 124 insertions(+), 86 deletions(-)
 
  diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
  index 941dc11..1582c26 100644
  --- a/src/lib/ecore_con/ecore_con.c
  +++ b/src/lib/ecore_con/ecore_con.c
  @@ -271,6 +271,7 @@ ecore_con_shutdown(void)
   Ecore_Con_Server_Data *svr = eo_data_scope_get(obj,
 ECORE_CON_SERVER_CLASS);
   Ecore_Con_Event_Server_Add *ev;
 
  +if (!svr) continue;
   svr-delete_me = EINA_TRUE;
   INF(svr %p is dead, svr);
   /* some pointer hacks here to prevent double frees if people are
 being stupid */
  @@ -1373,8 +1374,10 @@ _ecore_con_server_eo_base_destructor(Eo *obj,
 Ecore_Con_Server_Data *svr)
 
  ecore_con_ssl_server_shutdown(obj);
  free(svr-name);
  +   svr-name = NULL;
 
  free(svr-path);
  +   svr-path = NULL;
 
  eina_stringshare_del(svr-ip);
  eina_stringshare_del(svr-verify_name);
  @@ -1394,8 +1397,9 @@ _ecore_con_server_eo_base_destructor(Eo *obj,
 Ecore_Con_Server_Data *svr)
  servers = eina_list_remove(servers, obj);
  svr-data = NULL;
 
  -end:
  eo_do_super(obj, ECORE_CON_SERVER_CLASS, eo_destructor());
  +end:
  +   return;
   }
 
   static void
  @@ -2675,21 +2679,25 @@ _ecore_con_event_client_add_free(Ecore_Con_Server
 *obj,
   Ecore_Con_Client_Data *cl = eo_data_scope_get(e-client,
 ECORE_CON_CLIENT_CLASS);
   Eina_Bool svrfreed = EINA_FALSE;
 
  -cl-event_count = eina_list_remove(cl-event_count, e);
  -if (cl-host_server)
  +if ((svr)  (cl))
 {
  - Ecore_Con_Server_Data *host_server =
 eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
  - host_server-event_count =
 eina_list_remove(host_server-event_count, ev);
  - if ((!svr-event_count)  (svr-delete_me))
  + cl-event_count = eina_list_remove(cl-event_count, e);
  + if (cl-host_server)
  {
  -  _ecore_con_server_free(obj);
  -  svrfreed = EINA_TRUE;
  +  Ecore_Con_Server_Data *host_server =
 eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
  +  if (host_server)
  +host_server-event_count =
 eina_list_remove(host_server-event_count, ev);
  +  if ((!svr-event_count)  (svr-delete_me))
  +{
  +   _ecore_con_server_free(obj);
  +   svrfreed = EINA_TRUE;
  +}
  +   }
  + if (!svrfreed)
  +   {
  +  if ((!cl-event_count)  (cl-delete_me))
  +ecore_con_client_del(e-client);
  }
  -  }
  -if (!svrfreed)
  -  {
  - if ((!cl-event_count)  (cl-delete_me))
  -   ecore_con_client_del(e-client);
 }
}
 
  @@ -2712,21 +2720,25 @@ _ecore_con_event_client_del_free(Ecore_Con_Server
 *obj,
   Ecore_Con_Client_Data *cl = eo_data_scope_get(e-client,
 ECORE_CON_CLIENT_CLASS);
   Eina_Bool svrfreed = EINA_FALSE;
 
  -cl-event_count = eina_list_remove(cl-event_count, e);
  -if (cl-host_server)
  +if ((svr)  (cl))
 {
  - Ecore_Con_Server_Data *host_server =
 eo_data_scope_get(cl-host_server, ECORE_CON_SERVER_CLASS);
  - host_server-event_count =
 eina_list_remove(host_server-event_count, ev);
  - if ((!svr-event_count)  (svr-delete_me))
  + cl-event_count = eina_list_remove(cl-event_count, e);
  + if (cl-host_server)
  {
  -  _ecore_con_server_free(obj);
  -  svrfreed = EINA_TRUE;
  +   

Re: [E-devel] [EGIT] [core/efl] master 02/38: Ecore_Audio: Avoid abort() in PulseAudio

2015-06-25 Thread Stefan Schmidt
Hello.

On 25/06/15 10:54, Jean-Philippe André wrote:
 On Thu, Jun 25, 2015 at 4:39 PM, Stefan Schmidt ste...@osg.samsung.com
 wrote:

 Hello.

 On 25/06/15 08:15, Jean-Philippe ANDRÉ wrote:
 jpeg pushed a commit to branch master.


 http://git.enlightenment.org/core/efl.git/commit/?id=6db0ff42291ff4c44815df3a5f77c31ae1bad1ac
 commit 6db0ff42291ff4c44815df3a5f77c31ae1bad1ac
 Author: Jean-Philippe Andre jp.an...@samsung.com
 Date:   Wed Jun 24 14:43:07 2015 +0900

   Ecore_Audio: Avoid abort() in PulseAudio

   In some cases (stress test), pulseaudio fails to play a sound
   and pa_stream_drain() returns NULL, making pa_operation_unref()
   crash right after.
 If this is what I think it is then it will be the hero commit of the
 month if not quarter :)

 Let's see if we see any more ecore_audio test segfaults after this one.
 Good job!

 Not sure this is related to your problem.

I see, you don't want the hero commit of the month award. :P
 Here is what happened:
 cat a binary file in terminology, the BEL char happens a lot of times, so
 terminology will try to play sounds all the time, but PulseAudio fails to
 open more streams.
 The crash happened during eo_del() and was an abort(), not SIGSEGV.

 The root cause of this abort() is still unfixed: too many plays at once.
 Terminology or ecore_audio should just stop trying to play that many
 samples, or reuse existing streams maybe (this is just me thinking out
 loud).

ok, that really sounds different from the problems in the ecore_audio tests.

regards
Stefan Schmidt

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: eolian_cxx: Use C++ wrappers instead of native types as parameters

2015-06-25 Thread Daniel Kolesa
On Thu, Jun 25, 2015 at 9:00 AM, Stefan Schmidt ste...@osg.samsung.com wrote:
 Hello.

 On 24/06/15 16:24, Vitor Sousa wrote:
 q66 pushed a commit to branch master.

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

 commit dae35333fd905507ddae01a69add184ea1e3d10f
 Author: Vitor Sousa vitorsousasi...@gmail.com
 Date:   Wed Jun 24 15:23:01 2015 +0100

  eolian_cxx: Use C++ wrappers instead of native types as parameters

  Summary:
  Using C++ wrapper types in the signature of methods of the generated
  classes.
  Now, when the type is an Eo type defined in Eolian, eolian_cxx will 
 detect
  it and use the equivalent C++ wrapper.

  Types defined in Eolian no longer need to be specified in the lookup 
 table,
  so removed them from there.

  Disable wrapping of non-const char*. The current wrapper (unique_ptr) is
  not suited for some required operations like ownership acquisition from
  C code.

  Fix constructing properties that only have the set method.

  Fix translation of non-const parameters.

  Modified Makefiles to allow proper inclusion of evas_cxx headers 
 required
  by some tests and examples.

  Move one auxiliary function to another reader to make it more 
 accessible.

  @feature


 Since this commit the evas 3d tests are now longer compiling on the x86
 slaves on jenkins.
 https://build.enlightenment.org/job/changely_efl_clang_x86/3460/console
 https://build.enlightenment.org/job/changely_efl_clang_x86_64/3465/console

 My local build on x86_64 as well as the 64 bit jenkins jobs went through.

This is odd and doesn't really look architecture specific... I'll
investigate it.


 regards
 Stefan Schmidt


 --
 Monitor 25 network devices or servers for free with OpManager!
 OpManager is web-based network management software that monitors
 network devices and physical  virtual servers, alerts via email  sms
 for fault. Monitor 25 devices for free with no restriction. Download now
 http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel