[EGIT] [core/efl] master 01/01: eina debug - clean up protocol handling inside eina

2015-05-08 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit af8c4eabca88f6471e1ef72c2d8f44f641f6d252
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Fri May 8 16:58:18 2015 +0900

eina debug - clean up protocol handling inside eina
---
 src/lib/eina/eina_debug.h |   3 +
 src/lib/eina/eina_debug_monitor.c | 134 --
 src/lib/eina/eina_debug_proto.c   | 108 +++---
 3 files changed, 171 insertions(+), 74 deletions(-)

diff --git a/src/lib/eina/eina_debug.h b/src/lib/eina/eina_debug.h
index f4494af..c3f82e1 100644
--- a/src/lib/eina/eina_debug.h
+++ b/src/lib/eina/eina_debug.h
@@ -71,7 +71,10 @@ void _eina_debug_monitor_thread_start(void);
 void _eina_debug_monitor_signal_init(void);
 void _eina_debug_monitor_service_connect(void);
 
+int  _eina_debug_monitor_service_send(int fd, const char op[4],
+  unsigned char *data, int size);
 void _eina_debug_monitor_service_greet(void);
+int  _eina_debug_monitor_service_read(char *op, unsigned char **data);
 
 #  define EINA_BT(file) \
do { \
diff --git a/src/lib/eina/eina_debug_monitor.c 
b/src/lib/eina/eina_debug_monitor.c
index 74833f3..fe96326 100644
--- a/src/lib/eina/eina_debug_monitor.c
+++ b/src/lib/eina/eina_debug_monitor.c
@@ -20,6 +20,7 @@ static int*_bt_buf_len;
 static struct timespec*_bt_ts;
 static int*_bt_cpu;
 
+// a backtracer that uses libunwind to do the job
 static inline int
 _eina_debug_unwind_bt(void **bt, int max)
 {
@@ -28,16 +29,24 @@ _eina_debug_unwind_bt(void **bt, int max)
unw_word_t p;
int total;
 
+   // create a context for unwinding
unw_getcontext(uc);
+   // begin our work
unw_init_local(cursor, uc);
+   // walk up each stack frame until there is no more, storing it
for (total = 0; (unw_step(cursor)  0)  (total  max); total++)
  {
 unw_get_reg(cursor, UNW_REG_IP, p);
 bt[total] = (void *)p;
  }
+   // return our total backtrace stack size
return total;
 }
 
+// this signal handler is called inside each and every thread when the
+// thread gets a signal via pthread_kill(). this causes the thread to
+// stop here inside this handler and do something then when this returns
+// resume whatever it was doing like any signal handler
 static void
 _eina_debug_signal(int sig EINA_UNUSED,
siginfo_t *si EINA_UNUSED,
@@ -46,16 +55,9 @@ _eina_debug_signal(int sig EINA_UNUSED,
int i, slot = 0;
pthread_t self = pthread_self();
clockid_t cid;
-   // XXX: use pthread_getcpuclockid() to get cpu time used since last poll
-   // 
-   // clockid_t cid;
-   // struct timespec ts ts;
-   // pthread_getcpuclockid(pthread_self(), cid);
-   // clock_gettime(cid, ts);
-   // printf(%4ld.%03ld\n, ts.tv_sec, ts.tv_nsec / 100);
-   //
-   // also get current cpu with:
-   // getcpu()
+
+   // find which slot in the array of threads we have so we store info
+   // in the correct slot for us
if (self != _eina_debug_thread_mainloop)
  {
 for (i = 0; i  _eina_debug_thread_active_num; i++)
@@ -66,23 +68,31 @@ _eina_debug_signal(int sig EINA_UNUSED,
   goto found;
}
   }
+// we couldn't find out thread reference! help!
 fprintf(stderr, EINA DEBUG ERROR: can't find thread slot!\n);
 eina_semaphore_release(_eina_debug_monitor_return_sem, 1);
 return;
  }
 found:
-//   printf(dump into slot %i for %p\n, slot, (void *)self);
+   // store thread info like what cpu core we are on now (not reliable
+   // but hey - better than nothing), the amount of cpu time total
+   // we have consumed (it's cumulative so subtracing deltas can give
+   // you an average amount of cpu time consumed between now and the
+   // previous time we looked) and also a full backtrace
_bt_cpu[slot] = sched_getcpu();
pthread_getcpuclockid(self, cid);
clock_gettime(cid, (_bt_ts[slot]));
-//   _bt_buf_len[slot] = backtrace(_bt_buf[slot], EINA_MAX_BT);
_bt_buf_len[slot] = _eina_debug_unwind_bt(_bt_buf[slot], EINA_MAX_BT);
+   // now wake up the monitor to let them know we are done collecting our
+   // backtrace info
eina_semaphore_release(_eina_debug_monitor_return_sem, 1);
 }
 
+// we shall sue SIGPROF as out signal for pausing threads and having them
+// dump a backtrace for polling based profiling
 #define SIG SIGPROF
-//#define SIG ((SIGRTMIN + SIGRTMAX) / 2)
 
+// a quick and dirty local time point getter func - not portable
 static inline double
 get_time(void)
 {
@@ -110,19 +120,26 @@ _eina_debug_monitor(void *data EINA_UNUSED)
double t0, t;
fd_set rfds, wfds, exfds;
struct timeval tv = { 0 };
+   // some state for debugging
unsigned int poll_time = 1000;
Eina_Bool poll_on = EINA_FALSE;
 
t0 = get_time();
+   // sit forever processing 

[EGIT] [website/www-content] master 01/01: Wiki page contact changed with summary [Add information about e-bork QA report ml] by Stefan Schmidt

2015-05-08 Thread Stefan Schmidt
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=800559eca93538dd08cbbd6ec2bb8ba18845b254

commit 800559eca93538dd08cbbd6ec2bb8ba18845b254
Author: Stefan Schmidt ste...@datenfreihafen.org
Date:   Fri May 8 00:31:09 2015 -0700

Wiki page contact changed with summary [Add information about e-bork QA 
report ml] by Stefan Schmidt
---
 pages/contact.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pages/contact.txt b/pages/contact.txt
index 2ca009c..f89a975 100644
--- a/pages/contact.txt
+++ b/pages/contact.txt
@@ -27,6 +27,7 @@ then Enter). Just type + press Enter to talk.
 
|[[http://lists.sourceforge.net/lists/listinfo/enlightenment-users|Users]]|[[http://sourceforge.net/mailarchive/forum.php?forum_name=enlightenment-users|Archive]]|
 |
 
|[[http://lists.sourceforge.net/lists/listinfo/enlightenment-devel|Developers]]|[[http://sourceforge.net/mailarchive/forum.php?forum_name=enlightenment-devel|Archive]]|
 |
 |[[git@lists.enlightenment.org|Git 
Commits]]|[[http://sourceforge.net/mailarchive/forum.php?forum_name=enlightenment-git|Old
 Archive]]|Mail [[git+subscr...@lists.enlightenment.org]] with **subscribe** 
(no quotes) in the message body|
+|[[e-b...@lists.enlightenment.org|QA reports]]| |Mail 
[[e-bork+subscr...@lists.enlightenment.org]] with **subscribe** (no quotes) 
in the message body|
 
 Our primary non-realtime form of communication is via e-mail. This
 allows everyone to participate no matter what timezone the live in or

-- 




[EGIT] [core/efl] master 01/01: eina debug - add comments

2015-05-08 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 7571020eb8d843d62fdf1580173733d773b024ac
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Fri May 8 17:18:38 2015 +0900

eina debug - add comments
---
 src/lib/eina/eina_debug.c | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/lib/eina/eina_debug.c b/src/lib/eina/eina_debug.c
index df6af04..62a050b 100644
--- a/src/lib/eina/eina_debug.c
+++ b/src/lib/eina/eina_debug.c
@@ -3,16 +3,17 @@
 
 #ifdef EINA_HAVE_DEBUG
 
+// access external thread data store in eina_debug_thread.c
 extern pthread_t _eina_debug_thread_mainloop;
 extern pthread_t*_eina_debug_thread_active;
 extern int   _eina_debug_thread_active_num;
 
-
 // yes - a global debug spinlock. i expect contention to be low for now, and
 // when needed we can split this up into mroe locks to reduce contention when
 // and if that day comes
 Eina_Spinlock _eina_debug_lock;
 
+// only init once
 static Eina_Bool _inited = EINA_FALSE;
 
 Eina_Bool
@@ -20,12 +21,16 @@ eina_debug_init(void)
 {
pthread_t self;
 
+   // if already inbitted simply release our lock that we may have locked on
+   // shutdown if we are re-initted again in the same process
if (_inited)
  {
 eina_spinlock_release(_eina_debug_thread_lock);
 return EINA_TRUE;
  }
+   // mark as initted
_inited = EINA_TRUE;
+   // set up thread things
eina_spinlock_new(_eina_debug_lock);
eina_spinlock_new(_eina_debug_thread_lock);
eina_semaphore_new(_eina_debug_monitor_return_sem, 0);
@@ -35,12 +40,19 @@ eina_debug_init(void)
// if we are setuid - don't debug!
if (getuid() != geteuid()) return EINA_TRUE;
 #endif
+   // if someone uses the EFL_NODEBUG env var - do not do debugging. handy
+   // for when this debug code is buggy itself
if (getenv(EFL_NODEBUG)) return EINA_TRUE;
+   // connect to our debug daemon
_eina_debug_monitor_service_connect();
+   // if we connected - set up the debug monitor properly
if (_eina_debug_monitor_service_fd = 0)
  {
+// say hello to the debug daemon
 _eina_debug_monitor_service_greet();
+// set up our profile signal handler
 _eina_debug_monitor_signal_init();
+// start the monitor thread
 _eina_debug_monitor_thread_start();
  }
return EINA_TRUE;

-- 




[EGIT] [core/efl] master 01/01: efl debug - start on common file for efl_debug tools for protocol

2015-05-08 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 5b99d0f5616d345bc5890cd1260f2bd00e7d30b2
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Fri May 8 17:14:24 2015 +0900

efl debug - start on common file for efl_debug tools for protocol

this should reduce duplication between debugd and debug tools
---
 src/Makefile_Efl.am| 10 --
 src/bin/efl/efl_debug.c|  8 +---
 src/bin/efl/efl_debug_common.c |  1 +
 src/bin/efl/efl_debug_common.h | 12 
 src/bin/efl/efl_debugd.c   |  8 +---
 5 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index b80a46c..5d45ae0 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -74,12 +74,18 @@ bin_PROGRAMS += \
 bin/efl/efl_debugd \
 bin/efl/efl_debug
 
-bin_efl_efl_debugd_SOURCES = bin/efl/efl_debugd.c
+bin_efl_efl_debugd_SOURCES = \
+bin/efl/efl_debugd.c \
+bin/efl/efl_debug_common.c \
+bin/efl/efl_debug_common.h
 bin_efl_efl_debugd_CPPFLAGS = -I$(top_builddir)/src/bin/efl @EINA_CFLAGS@ 
@ECORE_CFLAGS@ @ECORE_CON_CFLAGS@
 bin_efl_efl_debugd_LDADD = @USE_EINA_INTERNAL_LIBS@ @USE_ECORE_INTERNAL_LIBS@ 
@USE_ECORE_CON_INTERNAL_LIBS@
 bin_efl_efl_debugd_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ 
@USE_ECORE_INTERNAL_LIBS@ @USE_ECORE_CON_INTERNAL_LIBS@
 
-bin_efl_efl_debug_SOURCES = bin/efl/efl_debug.c
+bin_efl_efl_debug_SOURCES = \
+bin/efl/efl_debug.c \
+bin/efl/efl_debug_common.c \
+bin/efl/efl_debug_common.h
 bin_efl_efl_debug_CPPFLAGS = -I$(top_builddir)/src/bin/efl @EINA_CFLAGS@ 
@ECORE_CFLAGS@ @ECORE_CON_CFLAGS@
 bin_efl_efl_debug_LDADD = @USE_EINA_INTERNAL_LIBS@ @USE_ECORE_INTERNAL_LIBS@ 
@USE_ECORE_CON_INTERNAL_LIBS@
 bin_efl_efl_debug_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ 
@USE_ECORE_INTERNAL_LIBS@ @USE_ECORE_CON_INTERNAL_LIBS@
diff --git a/src/bin/efl/efl_debug.c b/src/bin/efl/efl_debug.c
index b1cd730..b980098 100644
--- a/src/bin/efl/efl_debug.c
+++ b/src/bin/efl/efl_debug.c
@@ -1,10 +1,4 @@
-#include Eina.h
-#include Ecore.h
-#include Ecore_Con.h
-#include stdio.h
-#include stdlib.h
-#include unistd.h
-#include string.h
+#include efl_debug_common.h
 
 static unsigned char *buf;
 static unsigned int   buf_size;
diff --git a/src/bin/efl/efl_debug_common.c b/src/bin/efl/efl_debug_common.c
new file mode 100644
index 000..5b8c6f8
--- /dev/null
+++ b/src/bin/efl/efl_debug_common.c
@@ -0,0 +1 @@
+#include efl_debug_common.h
diff --git a/src/bin/efl/efl_debug_common.h b/src/bin/efl/efl_debug_common.h
new file mode 100644
index 000..435ddc0
--- /dev/null
+++ b/src/bin/efl/efl_debug_common.h
@@ -0,0 +1,12 @@
+#ifndef EFL_DEBUG_COMMON_H
+#define EFL_DEBUG_COMMON_H 1
+
+#include Eina.h
+#include Ecore.h
+#include Ecore_Con.h
+#include stdio.h
+#include stdlib.h
+#include unistd.h
+#include string.h
+
+#endif
diff --git a/src/bin/efl/efl_debugd.c b/src/bin/efl/efl_debugd.c
index 7f369ac..c102ed4 100644
--- a/src/bin/efl/efl_debugd.c
+++ b/src/bin/efl/efl_debugd.c
@@ -1,10 +1,4 @@
-#include Eina.h
-#include Ecore.h
-#include Ecore_Con.h
-#include stdio.h
-#include stdlib.h
-#include unistd.h
-#include string.h
+#include efl_debug_common.h
 
 typedef struct _Client Client;
 

-- 




[EGIT] [core/efl] master 01/01: eina debug - add more comments to debugd connection

2015-05-08 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 0ba6ddc44a3cb55dcdbd34675afb9025b07ca387
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Fri May 8 17:23:38 2015 +0900

eina debug - add more comments to debugd connection
---
 src/lib/eina/eina_debug_monitor.c | 18 --
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/lib/eina/eina_debug_monitor.c 
b/src/lib/eina/eina_debug_monitor.c
index fe96326..324759f 100644
--- a/src/lib/eina/eina_debug_monitor.c
+++ b/src/lib/eina/eina_debug_monitor.c
@@ -296,6 +296,7 @@ _socket_home_get()
return dir;
 }
 
+// connect to efl_debugd
 void
 _eina_debug_monitor_service_connect(void)
 {
@@ -303,24 +304,37 @@ _eina_debug_monitor_service_connect(void)
int fd, socket_unix_len, curstate = 0;
struct sockaddr_un socket_unix;
 
+   // try this socket file - it will likely be:
+   //   ~/.ecore/efl_debug/0
+   // or maybe
+   //   /var/run/UID/.ecore/efl_debug/0
+   // either way a 4k buffer should be ebough ( if it's not we're on an
+   // insane system)
snprintf(buf, sizeof(buf), %s/%s, _socket_home_get(), DEBUG_SERVER);
+   // create the socket
fd = socket(AF_UNIX, SOCK_STREAM, 0);
if (fd  0) goto err;
+   // set the socket to close when we exec things so they don't inherit it
if (fcntl(fd, F_SETFD, FD_CLOEXEC)  0) goto err;
+   // set up some socket options on addr re-use
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (const void *)curstate,
   sizeof(curstate))  0)
  goto err;
+   // sa that it's a unix socket and where the path is
socket_unix.sun_family = AF_UNIX;
strncpy(socket_unix.sun_path, buf, sizeof(socket_unix.sun_path));
 #define LENGTH_OF_SOCKADDR_UN(s) \
(strlen((s)-sun_path) + (size_t)(((struct sockaddr_un *)NULL)-sun_path))
socket_unix_len = LENGTH_OF_SOCKADDR_UN(socket_unix);
+   // actually conenct to efl_debugd service
if (connect(fd, (struct sockaddr *)socket_unix, socket_unix_len)  0)
  goto err;
+   // we succeeded - store fd
_eina_debug_monitor_service_fd = fd;
return;
 err:
-   close(fd);
-   return;
+   // some kind of connection failure here, so close a valid socket and
+   // get out of here
+   if (fd = 0) close(fd);
 }
 #endif

-- 




[EGIT] [core/efl] master 01/01: eina_ddebug: Fix build for the case without all requirements for eina_debug

2015-05-08 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 5c1157d4ec956b3a38d1abb27297c368c91b049a
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Fri May 8 09:55:12 2015 +0200

eina_ddebug: Fix build for the case without all requirements for eina_debug

In eina_debug.h we only include the eina headsers when all defines are true
for backtrace, dlopen, unwind, etc. We still use Eina_Bool here when these
cases are not met. I just hit this case and failed the build.
---
 src/lib/eina/eina_debug.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/eina/eina_debug.c b/src/lib/eina/eina_debug.c
index 766ec7a..df6af04 100644
--- a/src/lib/eina/eina_debug.c
+++ b/src/lib/eina/eina_debug.c
@@ -1,4 +1,5 @@
 #include eina_debug.h
+#include eina_types.h
 
 #ifdef EINA_HAVE_DEBUG
 

-- 




[EGIT] [core/efl] master 01/01: efl debug - clean up debugd and debug cli tool code proto handling

2015-05-08 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit afd2c1c0be2ba0de3e289912f1f081f430ebfa47
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Fri May 8 19:48:26 2015 +0900

efl debug - clean up debugd and debug cli tool code proto handling

this clenas up protocol handling to share common code and have more
compact and easier to maintain code on both sides here.
---
 src/bin/efl/efl_debug.c| 109 +++-
 src/bin/efl/efl_debug_common.c |  94 +
 src/bin/efl/efl_debug_common.h |  30 +++
 src/bin/efl/efl_debugd.c   | 183 +++--
 4 files changed, 220 insertions(+), 196 deletions(-)

diff --git a/src/bin/efl/efl_debug.c b/src/bin/efl/efl_debug.c
index b980098..c8df269 100644
--- a/src/bin/efl/efl_debug.c
+++ b/src/bin/efl/efl_debug.c
@@ -10,21 +10,19 @@ static const char *expect = NULL;
 static Ecore_Con_Server *svr;
 
 static void
-_proto(unsigned char *d, unsigned int size)
+_do(char *op, unsigned char *d, int size)
 {
-   if (size = 4)
+   if (!strcmp(op, CLST))
  {
-char *cmd = (char *)d;
+int i, n;
 
-if (!strncmp(cmd, CLST, 4))
+n = (size) / sizeof(int);
+if (n  1)
   {
- int i, n;
-
- n = (size - 4) / sizeof(int);
- if (n  1)
+ int *pids = malloc(n * sizeof(int));
+ if (pids)
{
-  int *pids = malloc(n * sizeof(int));
-  memcpy(pids, d + 4, n * sizeof(int));
+  memcpy(pids, d, n * sizeof(int));
   for (i = 0; i  n; i++)
 {
if (pids[i]  0) printf(%i\n, pids[i]);
@@ -32,78 +30,42 @@ _proto(unsigned char *d, unsigned int size)
   free(pids);
}
   }
-if ((expect)  (!strncmp(cmd, expect, 4)))
-  ecore_main_loop_quit();
- }
-}
-
-
-static Eina_Bool
-_server_proto(void)
-{
-   unsigned int size, newsize;
-   unsigned char *b;
-   if (!buf) return EINA_FALSE;
-   if (buf_size  4) return EINA_FALSE;
-   memcpy(size, buf, 4);
-   if (buf_size  (size + 4)) return EINA_FALSE;
-   _proto(buf + 4, size);
-   newsize = buf_size - (size + 4);
-   if (buf_size == newsize)
- {
-free(buf);
-buf = NULL;
-buf_size = 0;
- }
-   else
- {
-b = malloc(newsize);
-memcpy(b, buf + size + 4, newsize);
-free(buf);
-buf = b;
-buf_size = newsize;
  }
-   return EINA_TRUE;
+   if ((expect)  (!strcmp(op, expect))) ecore_main_loop_quit();
 }
 
 Eina_Bool
-_server_add(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Con_Event_Server_Add *ev)
+_server_add(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Con_Event_Server_Add *ev EINA_UNUSED)
 {
int i;
for (i = 1; i  my_argc; i++)
  {
 if (!strcmp(my_argv[i], list))
   {
- unsigned int size = 4;
- char *head = LIST;
+ send_svr(svr, LIST, NULL, 0);
  expect = CLST;
- ecore_con_server_send(svr, size, 4);
- ecore_con_server_send(svr, head, 4);
+ printf(send... expect %s\n, expect);
   }
 else if ((!strcmp(my_argv[i], pon)) 
  (i  (my_argc - 2)))
   {
- unsigned int size = 12;
- char *head = PLON;
+ unsigned char buf[8];
  int pid = atoi(my_argv[i + 1]);
  unsigned int freq = atoi(my_argv[i + 2]);
- i++;
- ecore_con_server_send(svr, size, 4);
- ecore_con_server_send(svr, head, 4);
- ecore_con_server_send(svr, pid, 4);
- ecore_con_server_send(svr, freq, 4);
+ i += 2;
+ store_val(buf, 0, pid);
+ store_val(buf, 4, freq);
+ send_svr(svr, PLON, buf, sizeof(buf));
  ecore_main_loop_quit();
   }
 else if ((!strcmp(my_argv[i], poff)) 
  (i  (my_argc - 1)))
   {
- unsigned int size = 8;
- char *head = PLOFF;
+ unsigned char buf[4];
  int pid = atoi(my_argv[i + 1]);
  i++;
- ecore_con_server_send(svr, size, 4);
- ecore_con_server_send(svr, head, 4);
- ecore_con_server_send(svr, pid, 4);
+ store_val(buf, 0, pid);
+ send_svr(svr, PLOF, buf, sizeof(buf));
  ecore_main_loop_quit();
   }
  }
@@ -111,7 +73,7 @@ _server_add(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Con_Event_Server
 }
 
 Eina_Bool
-_server_del(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Con_Event_Server_Del *ev)
+_server_del(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Con_Event_Server_Del *ev EINA_UNUSED)
 {

[EGIT] [core/efl] master 01/01: eolian: beta funcs generation

2015-05-08 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 5726cf3b0f1a40b8816ebbbc8be4a8a0a3d32562
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Fri May 8 14:17:20 2015 +0100

eolian: beta funcs generation
---
 src/bin/eolian/eo_generator.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c
index cb57fe8..a6b9d81 100644
--- a/src/bin/eolian/eo_generator.c
+++ b/src/bin/eolian/eo_generator.c
@@ -105,6 +105,8 @@ eo_fundef_generate(const Eolian_Class *class, const 
Eolian_Function *func, Eolia
 eina_iterator_free(itr);
  }
Eina_Strbuf *str_func = eina_strbuf_new();
+   if (eolian_function_is_beta(func))
+  eina_strbuf_append_printf(str_func, #ifdef %s_BETA\n);
if (scope == EOLIAN_SCOPE_PROTECTED)
   eina_strbuf_append_printf(str_func, #ifdef %s_PROTECTED\n, 
class_env.upper_classname);
 
@@ -113,6 +115,8 @@ eo_fundef_generate(const Eolian_Class *class, const 
Eolian_Function *func, Eolia
 
if (scope == EOLIAN_SCOPE_PROTECTED)
   eina_strbuf_append_printf(str_func, #endif\n);
+   if (eolian_function_is_beta(func))
+  eina_strbuf_append_printf(str_func, #endif\n);
eina_strbuf_append_printf(str_func, \n);
 
Eina_Strbuf *linedesc = eina_strbuf_new();

-- 




[EGIT] [core/efl] master 03/04: Ecore tests: Properly split (some) unit tests to units

2015-05-08 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit 7072ca435a45aadd9a1ff204d975b16e375e4922
Author: Tom Hacohen t...@stosb.com
Date:   Fri May 8 15:23:25 2015 +0100

Ecore tests: Properly split (some) unit tests to units

Units were not properly split. We also had to resort to hacks we are not
allowed to do before, which are now fixed.
We don't allow shutting down and powering up again. Once something is off,
it's off.
---
 src/tests/ecore/ecore_test_ecore_file.c | 98 -
 1 file changed, 60 insertions(+), 38 deletions(-)

diff --git a/src/tests/ecore/ecore_test_ecore_file.c 
b/src/tests/ecore/ecore_test_ecore_file.c
index d36131d..ce8c7a8 100644
--- a/src/tests/ecore/ecore_test_ecore_file.c
+++ b/src/tests/ecore/ecore_test_ecore_file.c
@@ -131,7 +131,7 @@ START_TEST(ecore_test_ecore_file_operations)
const char *src_dir, *src_file, *dest_file;
const char *not_exist_file;
const char *tmpdir = NULL;
-   char *dup_dir, *path;
+   char *dup_dir;
char *random_text = This is random test String;
char *escaped_text = This\\ is\\ random\\ test\\ String;
char *exe_cmd = test.sh --opt1=a --opt2=b;
@@ -141,7 +141,7 @@ START_TEST(ecore_test_ecore_file_operations)
int fd;
int i;
Eina_Bool res;
-   Eina_List *list, *l;
+   Eina_List *list;
 
 #ifndef HAVE_EVIL
 #if defined(HAVE_GETUID)  defined(HAVE_GETEUID)
@@ -262,42 +262,6 @@ START_TEST(ecore_test_ecore_file_operations)
dest_file = basename(dup_dir);
dup_dir = strdup(src_file);
 
-   src_dir = getenv(PATH);
-   fail_if(!src_dir);
-   path = malloc(strlen(src_dir) + strlen(dup_dir) + 1);
-   strcat(path, src_dir);
-   strcat(path, :);
-   strcat(path, dirname(dup_dir));
-   ret = setenv(PATH, path, 1);
-   fail_if(ret != 0);
-   free(dup_dir);
-   free(path);
-   ret = ecore_file_shutdown();
-   fail_if(ret != 0);
-   ret = ecore_file_init();
-   fail_if(ret != 1);
-
-   res = ecore_file_app_installed(dest_file);
-   fail_if(res != EINA_TRUE);
-   res = ecore_file_app_installed(src_file);
-   fail_if(res != EINA_TRUE);
-   list = NULL;
-   list = ecore_file_app_list();
-   fd = 0;
-   EINA_LIST_FOREACH(list, l, path)
- {
-if (strcmp(path, src_file) == 0)
-  {
- fd = 1;
- break;
-  }
- }
-   fail_if(fd == 0);
-   EINA_LIST_FREE(list, dup_dir)
- free(dup_dir);
-   ret = setenv(PATH, src_dir, 1);
-   fail_if(ret != 0);
-
src_dir = get_tmp_dir();
fail_if(!src_dir);
strcpy(dir, src_dir);
@@ -390,6 +354,63 @@ START_TEST(ecore_test_ecore_file_operations)
 }
 END_TEST
 
+START_TEST(ecore_test_ecore_file_path)
+{
+   const char *src_dir, *src_file, *dest_file;
+   char *dup_dir, *path;
+   unsigned int ret;
+   int fd;
+   Eina_Bool res;
+   Eina_List *list, *l;
+
+   src_file = get_tmp_file();
+   fail_if(!src_file);
+   fail_if(ecore_file_remove(src_file) != EINA_TRUE);
+   fd = open(src_file, O_RDWR|O_CREAT, 0700);
+   fail_if(fd  0);
+   fail_if(close(fd) != 0);
+   fail_if(ecore_file_can_exec(src_file) != EINA_TRUE);
+   dup_dir = strdup(src_file);
+   fail_if(!dup_dir);
+   dest_file = basename(dup_dir);
+   dup_dir = strdup(src_file);
+
+   src_dir = getenv(PATH);
+   fail_if(!src_dir);
+   path = malloc(strlen(src_dir) + strlen(dup_dir) + 1);
+   strcat(path, src_dir);
+   strcat(path, :);
+   strcat(path, dirname(dup_dir));
+   ret = setenv(PATH, path, 1);
+   fail_if(ret != 0);
+   free(dup_dir);
+   free(path);
+
+   ret = ecore_file_init();
+
+   res = ecore_file_app_installed(dest_file);
+   fail_if(res != EINA_TRUE);
+   res = ecore_file_app_installed(src_file);
+   fail_if(res != EINA_TRUE);
+   list = NULL;
+   list = ecore_file_app_list();
+   fd = 0;
+   EINA_LIST_FOREACH(list, l, path)
+ {
+if (strcmp(path, src_file) == 0)
+  {
+ fd = 1;
+ break;
+  }
+ }
+   fail_if(fd == 0);
+   EINA_LIST_FREE(list, dup_dir)
+ free(dup_dir);
+   ret = setenv(PATH, src_dir, 1);
+   fail_if(ret != 0);
+}
+END_TEST
+
 START_TEST(ecore_test_ecore_file_monitor)
 {
Ecore_File_Monitor *mon;
@@ -516,4 +537,5 @@ void ecore_test_ecore_file(TCase *tc)
tcase_add_test(tc, ecore_test_ecore_file_operations);
tcase_add_test(tc, ecore_test_ecore_file_monitor);
tcase_add_test(tc, ecore_test_ecore_file_download);
+   tcase_add_test(tc, ecore_test_ecore_file_path);
 }

-- 




[EGIT] [core/efl] master 04/04: Ecore tests: REMOVE wayland tests.

2015-05-08 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit a00bbffd3f2072441d4ca674eed482b801db960d
Author: Tom Hacohen t...@stosb.com
Date:   Fri May 8 16:17:05 2015 +0100

Ecore tests: REMOVE wayland tests.

These tests aren't really testing anything, and are just broken and 
annoying.
They only test init and shutdown, and they require a running wayland 
compositor.

They fail for anyone that has wayland enabled but not running in a wayland 
session.

They should be brought back once they actual test something, or once we 
allow skipping
tests that can't be run due to environment issues.
---
 src/Makefile_Ecore.am  |   4 -
 src/tests/ecore/ecore_suite.c  |   3 -
 src/tests/ecore/ecore_suite.h  |   1 -
 src/tests/ecore/ecore_test_ecore_wayland.c | 134 -
 4 files changed, 142 deletions(-)

diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am
index 738f929..b7e0b6b 100644
--- a/src/Makefile_Ecore.am
+++ b/src/Makefile_Ecore.am
@@ -245,10 +245,6 @@ if HAVE_ECORE_AUDIO
 tests_ecore_ecore_suite_SOURCES += tests/ecore/ecore_test_ecore_audio.c
 endif
 
-if HAVE_ECORE_WAYLAND
-tests_ecore_ecore_suite_SOURCES += tests/ecore/ecore_test_ecore_wayland.c
-endif
-
 if HAVE_ECORE_DRM
 tests_ecore_ecore_suite_SOURCES += tests/ecore/ecore_test_ecore_drm.c
 endif
diff --git a/src/tests/ecore/ecore_suite.c b/src/tests/ecore/ecore_suite.c
index 898f471..ce75f00 100644
--- a/src/tests/ecore/ecore_suite.c
+++ b/src/tests/ecore/ecore_suite.c
@@ -30,9 +30,6 @@ static const Ecore_Test_Case etc[] = {
   { Ecore_Evas, ecore_test_ecore_evas },
   { Ecore_Animators, ecore_test_animator },
   { Ecore_Test_Ccore_Thread_Eina_Thread_Queue, 
ecore_test_ecore_thread_eina_thread_queue },
-#if HAVE_ECORE_WAYLAND
-  { Ecore_Wayland, ecore_test_ecore_wayland },
-#endif
 #if HAVE_ECORE_DRM
   { Ecore_Drm, ecore_test_ecore_drm },
 #endif
diff --git a/src/tests/ecore/ecore_suite.h b/src/tests/ecore/ecore_suite.h
index e6dd4b3..f0e4c2a 100644
--- a/src/tests/ecore/ecore_suite.h
+++ b/src/tests/ecore/ecore_suite.h
@@ -11,7 +11,6 @@ void ecore_test_timer(TCase *tc);
 void ecore_test_ecore_evas(TCase *tc);
 void ecore_test_animator(TCase *tc);
 void ecore_test_ecore_thread_eina_thread_queue(TCase *tc);
-void ecore_test_ecore_wayland(TCase *tc);
 void ecore_test_ecore_drm(TCase *tc);
 void ecore_test_ecore_fb(TCase *tc);
 void ecore_test_ecore_input(TCase *tc);
diff --git a/src/tests/ecore/ecore_test_ecore_wayland.c 
b/src/tests/ecore/ecore_test_ecore_wayland.c
deleted file mode 100644
index 90fda73..000
--- a/src/tests/ecore/ecore_test_ecore_wayland.c
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include config.h
-#endif
-
-#include stdio.h
-#include unistd.h
-
-#include Ecore_Wayland.h
-
-#include ecore_suite.h
-#include wayland-server.h
-
-#define MAX_ITER 10
-
-static char test_socket[] = test1;
-
-START_TEST(ecore_test_ecore_wl_shutdown_bef_init)
-{
-   struct wl_display *test_display = NULL;
-   int ret = 0;
-
-   ret = ecore_wl_shutdown();
-   fprintf(stderr, Calling ecore_wl_shutdown without calling 
ecore_wl_init\n);
-   fail_if(ret != 0);
-
-   test_display = wl_display_create();
-   fprintf(stderr, Creating wayland display\n);
-   fail_if(test_display == NULL);
-
-   ret = wl_display_add_socket(test_display, test_socket);
-   fprintf(stderr, Connecting %s socket to wayland display\n, test_socket);
-   fail_if(ret != 0);
-
-   ret = ecore_wl_init(test_socket);
-   fprintf(stderr, Calling ecore_wl_init with %s\n, test_socket);
-   fail_if(ret != 1);
-
-   ret = ecore_wl_shutdown();
-   fprintf(stderr, Calling ecore_wl_shutdown after ecore_wl_init.\n);
-   fail_if(ret != 0);
-
-   wl_display_destroy(test_display);
-}
-END_TEST
-
-START_TEST(ecore_test_ecore_wl_init_name)
-{
-   struct wl_display *test_display = NULL;
-   int ret = 0, i, j;
-
-   test_display = wl_display_create();
-   fprintf(stderr, Creating display\n);
-   fail_if(test_display == NULL);
-
-   ret = wl_display_add_socket(test_display, test_socket);
-   fprintf(stderr, Connecting socket to display\n);
-   fail_if(ret != 0);
-
-   for (i = 1; i = MAX_ITER; i++)
- {
-ret = ecore_wl_init(test_socket);
-fprintf(stderr, Created %d ecore wayland instance.\n, i);
-fail_if(ret != i);
- }
-
-   for (j = MAX_ITER - 1; j = 0; j--)
- {
-ret = ecore_wl_shutdown();
-fprintf(stderr, Deleted %d ecore wayland instance.\n, MAX_ITER - j);
-fail_if(ret != j);
- }
-
-   wl_display_destroy(test_display);
-}
-END_TEST
-
-START_TEST(ecore_test_ecore_wl_init)
-{
-#define PATH_LEN  128
-   struct wl_display *test_display = NULL;
-   int ret, i, j, run_test = 0;
-   char *wayland_display = NULL, *xdg_runtime_dir = NULL, path[PATH_LEN];
-
-   xdg_runtime_dir = getenv(XDG_RUNTIME_DIR);
-   if (xdg_runtime_dir)
- {
-

[EGIT] [core/efl] master 01/04: Ecore audio test: Remove unneeded test.

2015-05-08 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit f5494bd906c9b7e192c912641794767d0ee356ca
Author: Tom Hacohen t...@stosb.com
Date:   Fri May 8 14:04:00 2015 +0100

Ecore audio test: Remove unneeded test.

We don't need to test eo works in the ecore audio suite.
If you mark it as virtual, it's virtual.
---
 src/tests/ecore/ecore_test_ecore_audio.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/tests/ecore/ecore_test_ecore_audio.c 
b/src/tests/ecore/ecore_test_ecore_audio.c
index 0dc8f1a..aeea55f 100644
--- a/src/tests/ecore/ecore_test_ecore_audio.c
+++ b/src/tests/ecore/ecore_test_ecore_audio.c
@@ -515,8 +515,6 @@ START_TEST(ecore_test_ecore_audio_obj_in)
   eo_do(in, length = ecore_audio_obj_in_length_get());
   fail_if(length != 0);
 
-  eo_do(in, ecore_audio_obj_in_length_set(10.0));
-
   eo_do(in, length = ecore_audio_obj_in_remaining_get());
   fail_if(length != -1);
 

-- 




[EGIT] [core/efl] master 01/01: eolian: generation for beta events

2015-05-08 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 8920a69284c500518c362b5c5e924a26d187b0a4
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Fri May 8 14:45:10 2015 +0100

eolian: generation for beta events
---
 src/bin/eolian/eo_generator.c | 17 +++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c
index e81d8b9..617de5f 100644
--- a/src/bin/eolian/eo_generator.c
+++ b/src/bin/eolian/eo_generator.c
@@ -271,12 +271,20 @@ eo_header_generate(const Eolian_Class *class, Eina_Strbuf 
*buf)
 if (scope == EOLIAN_SCOPE_PRIVATE)
   continue;
 
+if (eolian_event_is_beta(event))
+  {
+ eina_strbuf_append_printf(str_ev, \n#ifdef %s_BETA\n, 
class_env.upper_classname);
+ eina_strbuf_append_printf(str_extrn_ev, #ifdef %s_BETA\n, 
class_env.upper_classname);
+  }
 if (scope == EOLIAN_SCOPE_PROTECTED)
   {
- eina_strbuf_append_printf(str_ev, \n#ifdef %s_PROTECTED\n, 
class_env.upper_classname);
+ if (!eolian_event_is_beta(event))
+   eina_strbuf_append_char(str_ev, '\n');
+ eina_strbuf_append_printf(str_ev, #ifdef %s_PROTECTED\n, 
class_env.upper_classname);
  eina_strbuf_append_printf(str_extrn_ev, #ifdef %s_PROTECTED\n, 
class_env.upper_classname);
   }
-else
+
+if (!eolian_event_is_beta(event)  scope == EOLIAN_SCOPE_PUBLIC)
   eina_strbuf_append_char(str_ev, '\n');
 
 if (!evdesc) evdesc = No description;
@@ -295,6 +303,11 @@ eo_header_generate(const Eolian_Class *class, Eina_Strbuf 
*buf)
  eina_strbuf_append(str_ev, #endif\n);
  eina_strbuf_append(str_extrn_ev, #endif\n);
   }
+if (eolian_event_is_beta(event))
+  {
+ eina_strbuf_append(str_ev, #endif\n);
+ eina_strbuf_append(str_extrn_ev, #endif\n);
+  }
  }
 
if ((itr = eolian_class_implements_get(class)))

-- 




[EGIT] [core/efl] master 01/01: eolian: fix generation tests

2015-05-08 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit fbf622db0ca0507540ba5a4d2a96966e1798becb
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Fri May 8 14:28:42 2015 +0100

eolian: fix generation tests
---
 src/tests/eolian/data/class_simple_ref_eo.h | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/tests/eolian/data/class_simple_ref_eo.h 
b/src/tests/eolian/data/class_simple_ref_eo.h
index b078018..56d9d76 100644
--- a/src/tests/eolian/data/class_simple_ref_eo.h
+++ b/src/tests/eolian/data/class_simple_ref_eo.h
@@ -20,6 +20,7 @@ typedef Eo Class_Simple;
 
 EAPI const Eo_Class *class_simple_class_get(void) EINA_CONST;
 
+#ifdef CLASS_SIMPLE_BETA
 /**
  *
  * Common desc for a
@@ -29,7 +30,9 @@ EAPI const Eo_Class *class_simple_class_get(void) EINA_CONST;
  *
  */
 EOAPI Eina_Bool  evas_obj_simple_a_set(int value);
+#endif
 
+#ifdef CLASS_SIMPLE_BETA
 /**
  *
  * Common desc for a
@@ -38,6 +41,7 @@ EOAPI Eina_Bool  evas_obj_simple_a_set(int value);
  *
  */
 EOAPI int  evas_obj_simple_a_get(void);
+#endif
 
 /**
  *
@@ -47,6 +51,7 @@ EOAPI int  evas_obj_simple_a_get(void);
  */
 EOAPI void  evas_obj_simple_b_set(void);
 
+#ifdef CLASS_SIMPLE_BETA
 /**
  *
  * comment foo
@@ -58,6 +63,7 @@ EOAPI void  evas_obj_simple_b_set(void);
  *
  */
 EOAPI char * evas_obj_simple_foo(int a, char *b, double *c);
+#endif
 
 /**
  *

-- 




[EGIT] [tools/enventor] master 01/01: lib/enventor: Use the new Eolian property syntax.

2015-05-08 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=d66139a1aafdc4db31025dc4fc211ddea592c607

commit d66139a1aafdc4db31025dc4fc211ddea592c607
Author: Jaehyun Cho jae_hyun_...@naver.com
Date:   Sat May 9 02:50:16 2015 +0900

lib/enventor: Use the new Eolian property syntax.
---
 src/lib/enventor_object.eo | 24 +++-
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/src/lib/enventor_object.eo b/src/lib/enventor_object.eo
index 58d6915..114f85d 100644
--- a/src/lib/enventor_object.eo
+++ b/src/lib/enventor_object.eo
@@ -1,7 +1,7 @@
 class Enventor.Object (Elm.Widget, Efl.File) {
eo_prefix: enventor_obj;
-   properties {
-  part_highlight {
+   methods {
+  @property part_highlight {
  set {
 /*@
 @brief
@@ -21,7 +21,7 @@ class Enventor.Object (Elm.Widget, Efl.File) {
 Eina_Bool part_highlight; /*@ ... */
  }
   }
-  live_view_scale {
+  @property live_view_scale {
  set {
 /*@
 @brief
@@ -41,7 +41,7 @@ class Enventor.Object (Elm.Widget, Efl.File) {
 double scale; /*@ ... */
  }
   }
-  dummy_swallow {
+  @property dummy_swallow {
  set {
 /*@
 @brief
@@ -61,7 +61,7 @@ class Enventor.Object (Elm.Widget, Efl.File) {
 Eina_Bool dummy_swallow; /*@ ... */
  }
   }
-  auto_complete {
+  @property auto_complete {
  set {
 /*@
 @brief
@@ -81,7 +81,7 @@ class Enventor.Object (Elm.Widget, Efl.File) {
 Eina_Bool auto_complete; /*@ ... */
  }
   }
-  auto_indent {
+  @property auto_indent {
  set {
 /*@
 @brief
@@ -101,7 +101,7 @@ class Enventor.Object (Elm.Widget, Efl.File) {
 Eina_Bool auto_indent; /*@ ... */
  }
   }
-  ctxpopup {
+  @property ctxpopup {
  set {
 /*@
 @brief
@@ -121,7 +121,7 @@ class Enventor.Object (Elm.Widget, Efl.File) {
 Eina_Bool ctxpopup; /*@ ... */
  }
}
-  focus {
+  @property focus {
  set {
 /*@
 @brief
@@ -141,7 +141,7 @@ class Enventor.Object (Elm.Widget, Efl.File) {
 Eina_Bool focus; /*@ ... */
  }
   }
-  modified {
+  @property modified {
  set {
 /*@
 @brief
@@ -161,7 +161,7 @@ class Enventor.Object (Elm.Widget, Efl.File) {
 Eina_Bool modified; /*@ ... */
  }
   }
-  font_scale {
+  @property font_scale {
  set {
 /*@
 @brief
@@ -181,7 +181,7 @@ class Enventor.Object (Elm.Widget, Efl.File) {
 double font_scale; /*@ ... */
  }
   }
-  linenumber {
+  @property linenumber {
  set {
 /*@
 @brief
@@ -201,8 +201,6 @@ class Enventor.Object (Elm.Widget, Efl.File) {
 bool linenumber; /*@ ... */
  }
   }
-   }
-   methods {
   path_set {
  /*@
  @brief

-- 




[EGIT] [core/efl] master 01/01: Efl debug: Rename shadowing variable.

2015-05-08 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit a08583d4d45c4d227e5ab7d20f4e95521104e588
Author: Tom Hacohen t...@stosb.com
Date:   Fri May 8 13:55:39 2015 +0100

Efl debug: Rename shadowing variable.
---
 src/bin/efl/efl_debug.c | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/bin/efl/efl_debug.c b/src/bin/efl/efl_debug.c
index c8df269..461238d 100644
--- a/src/bin/efl/efl_debug.c
+++ b/src/bin/efl/efl_debug.c
@@ -49,23 +49,23 @@ _server_add(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Con_Event_Server
 else if ((!strcmp(my_argv[i], pon)) 
  (i  (my_argc - 2)))
   {
- unsigned char buf[8];
+ unsigned char tmp[8];
  int pid = atoi(my_argv[i + 1]);
  unsigned int freq = atoi(my_argv[i + 2]);
  i += 2;
- store_val(buf, 0, pid);
- store_val(buf, 4, freq);
- send_svr(svr, PLON, buf, sizeof(buf));
+ store_val(tmp, 0, pid);
+ store_val(tmp, 4, freq);
+ send_svr(svr, PLON, tmp, sizeof(tmp));
  ecore_main_loop_quit();
   }
 else if ((!strcmp(my_argv[i], poff)) 
  (i  (my_argc - 1)))
   {
- unsigned char buf[4];
+ unsigned char tmp[4];
  int pid = atoi(my_argv[i + 1]);
  i++;
- store_val(buf, 0, pid);
- send_svr(svr, PLOF, buf, sizeof(buf));
+ store_val(tmp, 0, pid);
+ send_svr(svr, PLOF, tmp, sizeof(tmp));
  ecore_main_loop_quit();
   }
  }

-- 




[EGIT] [core/efl] master 01/01: eolian: is_beta API plus tests

2015-05-08 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 0c07b9bea41e7d49d0477b80d19f31ea9264ada6
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Fri May 8 14:12:27 2015 +0100

eolian: is_beta API plus tests
---
 src/lib/eolian/Eolian.h| 10 ++
 src/lib/eolian/database_function_api.c |  7 +++
 src/tests/eolian/data/class_simple.eo  |  4 ++--
 src/tests/eolian/eolian_parsing.c  |  4 
 4 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index c2e07c5..6223000 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -884,6 +884,16 @@ EAPI Eina_Bool eolian_function_is_class(const 
Eolian_Function *function_id);
 EAPI Eina_Bool eolian_function_is_c_only(const Eolian_Function *function_id);
 
 /*
+ * @brief Get whether a function is beta.
+ *
+ * @param[in] function_id Id of the function
+ * @return EINA_TRUE and EINA_FALSE respectively
+ *
+ * @ingroup Eolian
+ */
+EAPI Eina_Bool eolian_function_is_beta(const Eolian_Function *function_id);
+
+/*
  * @brief Indicates if a function is a constructing function of a given class.
  *
  * @param[in] klass the class
diff --git a/src/lib/eolian/database_function_api.c 
b/src/lib/eolian/database_function_api.c
index fd78fef..d29b9d4 100644
--- a/src/lib/eolian/database_function_api.c
+++ b/src/lib/eolian/database_function_api.c
@@ -264,6 +264,13 @@ eolian_function_is_c_only(const Eolian_Function *fid)
return fid-is_c_only;
 }
 
+EAPI Eina_Bool
+eolian_function_is_beta(const Eolian_Function *fid)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
+   return fid-is_beta;
+}
+
 EAPI Eina_Bool eolian_function_is_implemented(
   const Eolian_Function *function_id, Eolian_Function_Type func_type,
   const Eolian_Class *klass)
diff --git a/src/tests/eolian/data/class_simple.eo 
b/src/tests/eolian/data/class_simple.eo
index d4b4fc8..adc 100644
--- a/src/tests/eolian/data/class_simple.eo
+++ b/src/tests/eolian/data/class_simple.eo
@@ -4,7 +4,7 @@ class Class_Simple {
eo_prefix: evas_obj_simple;
data: Evas_Simple_Data;
methods {
-  @property a {
+  @property a @beta {
  /*@ Common desc for a */
  set {
 /*@
@@ -22,7 +22,7 @@ class Class_Simple {
eo: null;
 }
   }
-  foo {
+  foo @beta {
  /*@ comment foo */
  params {
 @in int a; /*@ a */
diff --git a/src/tests/eolian/eolian_parsing.c 
b/src/tests/eolian/eolian_parsing.c
index 8269c2c..e9d35d2 100644
--- a/src/tests/eolian/eolian_parsing.c
+++ b/src/tests/eolian/eolian_parsing.c
@@ -565,6 +565,7 @@ START_TEST(eolian_simple_parsing)
/* Property */
fail_if(!(fid = eolian_class_function_get_by_name(class, a, 
EOLIAN_PROPERTY)));
fail_if(strcmp(eolian_function_name_get(fid), a));
+   fail_if(!eolian_function_is_beta(fid));
string = eolian_function_description_get(fid, EOLIAN_PROPERTY);
fail_if(!string);
fail_if(strcmp(string, Common desc for a));
@@ -611,9 +612,11 @@ START_TEST(eolian_simple_parsing)
fail_if(eolian_function_is_legacy_only(fid, EOLIAN_PROP_GET));
fail_if(!eolian_function_is_legacy_only(fid, EOLIAN_PROP_SET));
fail_if(!eolian_function_is_c_only(fid));
+   fail_if(eolian_function_is_beta(fid));
 
/* Method */
fail_if(!(fid = eolian_class_function_get_by_name(class, foo, 
EOLIAN_METHOD)));
+   fail_if(!eolian_function_is_beta(fid));
string = eolian_function_description_get(fid, EOLIAN_METHOD);
fail_if(!string);
fail_if(strcmp(string, comment foo));
@@ -663,6 +666,7 @@ START_TEST(eolian_simple_parsing)
fail_if(!(fid = eolian_class_function_get_by_name(class, bar, 
EOLIAN_METHOD)));
fail_if(!eolian_function_is_legacy_only(fid, EOLIAN_METHOD));
fail_if(!eolian_function_is_c_only(fid));
+   fail_if(eolian_function_is_beta(fid));
 
eolian_shutdown();
 }

-- 




[EGIT] [core/efl] master 01/01: build: Pass on makeflags and use proper @$(MAKE)

2015-05-08 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 2bd6c423d7129aa945ccf2e0e6fa7194f6a9d60f
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Fri May 8 15:08:44 2015 +0200

build: Pass on makeflags and use proper @$(MAKE)

Going with the build in automake stuff allows us to run this target also in
parallel. Before we got the warning that the jobserver was missing and it
would only run as -j1. Thanks to Tom for spotting and Flameeyes for the blog
post:

https://blog.flameeyes.eu/2010/10/tell-tale-signs-that-your-makefile-is-broken#gsc.tab=0
---
 src/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index 7916cc1..3969f99 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -132,7 +132,7 @@ DIST_SUBDIRS += $(EXAMPLES_SUBDIRS)
 
 if EFL_ENABLE_TESTS
 check-build:
-   make $(check_PROGRAMS)
+   @$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
 endif
 
 examples: all-am

-- 




[EGIT] [enlightenment/modules/desksanity] master 01/01: fix zoom key actions

2015-05-08 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/desksanity.git/commit/?id=b88c9bee34041f9b4df2e2768cf5695908dc0ab1

commit b88c9bee34041f9b4df2e2768cf5695908dc0ab1
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Fri May 8 18:19:34 2015 -0400

fix zoom key actions

broken due to elm migration...
---
 src/zoom.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/zoom.c b/src/zoom.c
index a92446c..de9740b 100644
--- a/src/zoom.c
+++ b/src/zoom.c
@@ -218,7 +218,7 @@ _zoomobj_add_client(Evas_Object *zoom_obj, Eina_List *l, 
Evas_Object *m)
 
ec = evas_object_data_get(m, E_Client);
e = elm_layout_add(e_comp-elm);
-   evas_object_data_set(e, __DSZOOMOBJ, zoom_obj);
+   evas_object_data_set(elm_layout_edje_get(e), __DSZOOMOBJ, zoom_obj);
e_comp_object_util_del_list_append(zoom_obj, e);
e_comp_object_util_del_list_append(zoom_obj, m);
e_theme_edje_object_set(e, NULL, e/modules/desksanity/zoom/client);
@@ -294,7 +294,7 @@ _zoom_key(void *d EINA_UNUSED, int t EINA_UNUSED, 
Ecore_Event_Key *ev)
 E_Zone *zone;
 
 e = evas_object_smart_parent_get(eina_list_data_get(n));
-elm_layout_signal_emit(e, e,state,focused, e);
+edje_object_signal_emit(e, e,state,focused, e);
 
edje_object_signal_emit(evas_object_smart_parent_get(eina_list_data_get(current)),
 e,state,unfocused, e);
 current = n;
 evas_object_geometry_get(e, x, y, w, h);

-- 




[EGIT] [core/efl] master 02/02: libunibreak: Follow README rename in EXTRA_DIST for distcheck.

2015-05-08 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit d1a5770a77e11d7aa81cafbcb7d3517b7d2b5a64
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Fri May 8 14:29:13 2015 +0200

libunibreak: Follow README rename in EXTRA_DIST for distcheck.

The latest libunibreak updated changed the README name to README.md. Follow
this for the EXTRA_DIST files.
---
 src/Makefile_Evas.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 72b2890..72f8365 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -376,7 +376,7 @@ EXTRA_DIST += \
 static_libs/libunibreak/LICENCE \
 static_libs/libunibreak/AUTHORS \
 static_libs/libunibreak/NEWS \
-static_libs/libunibreak/README \
+static_libs/libunibreak/README.md \
 static_libs/libunibreak/ChangeLog
 
 # Engines

-- 




[EGIT] [core/efl] master 01/02: evas vector: cancel the transformation when null is passed.

2015-05-08 Thread ChunEon Park
hermet pushed a commit to branch master.

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

commit e08b942ffd640305c3ee489010d9fd0fb5ef7dd1
Author: ChunEon Park chuneon.p...@samsung.com
Date:   Thu May 7 20:02:01 2015 +0900

evas vector: cancel the transformation when null is passed.
---
 src/lib/evas/canvas/efl_vg_base.eo |  5 -
 src/lib/evas/canvas/evas_vg_node.c | 16 
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/src/lib/evas/canvas/efl_vg_base.eo 
b/src/lib/evas/canvas/efl_vg_base.eo
index 52cf3c8..78c6974 100644
--- a/src/lib/evas/canvas/efl_vg_base.eo
+++ b/src/lib/evas/canvas/efl_vg_base.eo
@@ -7,6 +7,9 @@ abstract Efl.VG.Base (Eo.Base, Efl.Gfx.Base, Efl.Gfx.Stack)
  set {
 /*@
  Sets the transformation matrix to be used for this node object.
+ 
+ @note Pass @c NULL to cancel the applied transformation.
+  
  @since 1.14
 */
  }
@@ -90,4 +93,4 @@ abstract Efl.VG.Base (Eo.Base, Efl.Gfx.Base, Efl.Gfx.Stack)
   Efl.Gfx.Stack.lower;
   @virtual .bounds_get;
}
-}
\ No newline at end of file
+}
diff --git a/src/lib/evas/canvas/evas_vg_node.c 
b/src/lib/evas/canvas/evas_vg_node.c
index e3fb76e..2d84b86 100644
--- a/src/lib/evas/canvas/evas_vg_node.c
+++ b/src/lib/evas/canvas/evas_vg_node.c
@@ -28,12 +28,20 @@ _efl_vg_base_transformation_set(Eo *obj,
 Efl_VG_Base_Data *pd,
 const Eina_Matrix3 *m)
 {
-   if (!pd-m)
+   if (m)
  {
-pd-m = malloc(sizeof (Eina_Matrix3));
-if (!pd-m) return ;
+if (!pd-m)
+  {
+ pd-m = malloc(sizeof (Eina_Matrix3));
+ if (!pd-m) return;
+  }
+memcpy(pd-m, m, sizeof (Eina_Matrix3));
+ }
+   else
+ {
+free(pd-m);
+pd-m = NULL;
  }
-   memcpy(pd-m, m, sizeof (Eina_Matrix3));
 
_efl_vg_base_changed(obj);
 }

-- 




[EGIT] [core/efl] master 02/02: evas/canvas: Null check for base class data pointer.

2015-05-08 Thread Subhransu Mohanty
hermet pushed a commit to branch master.

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

commit 8f55ac7550360e6afcdc0567685ceb25b7ecec63
Author: Subhransu Mohanty sub.moha...@samsung.com
Date:   Fri May 8 20:32:40 2015 +0900

evas/canvas: Null check for base class data pointer.
---
 src/lib/evas/canvas/evas_object_vg.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/lib/evas/canvas/evas_object_vg.c 
b/src/lib/evas/canvas/evas_object_vg.c
index 57d4090..cca772a 100644
--- a/src/lib/evas/canvas/evas_object_vg.c
+++ b/src/lib/evas/canvas/evas_object_vg.c
@@ -226,6 +226,10 @@ evas_object_vg_render_pre(Evas_Object *eo_obj,
// FIXME: for now the walking Evas_VG_Node tree doesn't trigger any damage
// So just forcing it here if necessary
rnd = eo_data_scope_get(vd-root, EFL_VG_BASE_CLASS);
+
+   //FIXME find the reason for NULL Base Class in some case?
+   if (!rnd) return;
+
if (rnd-changed)
  {
 rnd-changed = EINA_FALSE;

-- 




[EGIT] [core/efl] master 01/01: evas vector: remove white trailings

2015-05-08 Thread ChunEon Park
hermet pushed a commit to branch master.

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

commit 1c063e85d218d63f9f33482e1f5ab7d9436c94be
Author: ChunEon Park chuneon.p...@samsung.com
Date:   Fri May 8 20:51:52 2015 +0900

evas vector: remove white trailings
---
 src/lib/evas/canvas/efl_vg_base.eo | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/lib/evas/canvas/efl_vg_base.eo 
b/src/lib/evas/canvas/efl_vg_base.eo
index 78c6974..ae54a80 100644
--- a/src/lib/evas/canvas/efl_vg_base.eo
+++ b/src/lib/evas/canvas/efl_vg_base.eo
@@ -7,9 +7,7 @@ abstract Efl.VG.Base (Eo.Base, Efl.Gfx.Base, Efl.Gfx.Stack)
  set {
 /*@
  Sets the transformation matrix to be used for this node object.
- 
  @note Pass @c NULL to cancel the applied transformation.
-  
  @since 1.14
 */
  }

-- 




[EGIT] [website/www-content] master 01/01: Wiki page start changed with summary [] by Raster

2015-05-08 Thread Raster
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=d9d9bf0ab781d7d0b88108e6c3aacbb192e522b2

commit d9d9bf0ab781d7d0b88108e6c3aacbb192e522b2
Author: Raster ras...@rasterman.com
Date:   Fri May 8 20:08:06 2015 -0700

Wiki page start changed with summary [] by Raster
---
 pages/docs/c/start.txt | 61 +-
 1 file changed, 56 insertions(+), 5 deletions(-)

diff --git a/pages/docs/c/start.txt b/pages/docs/c/start.txt
index bc70b0c..cd41d8e 100644
--- a/pages/docs/c/start.txt
+++ b/pages/docs/c/start.txt
@@ -59,19 +59,19 @@ The next thing that happens is for the code to call a 
function ''printf()'' with
 printf(Hello world!\n);
 /code
 
-Now finally we return from the main function with the value 0. The ''main()'' 
function of an application is special. It always returns an integer that 
indicates the success of the application. This is used by the shell executing 
the process to determine success. A return of ''0'' indicates the process ran 
successfully.
+Now finally we return from the main function with the value 0. The ''main()'' 
function of an application is special. It always returns an integer that 
indicates the success of the application. This is used by the shell executing 
the process to determine success. A return of ''0'' indicates the process ran 
successfully. Any other return value is an indicator of failure.
 
 code c
 return 0;
 /code
 
-You will notice a few things. First lines starting with ''#'' are commands, 
but don't have a '';''. This is normal because these lines are processed by the 
pre-processor. All code in C goes through the C pre-processor and this 
basically generates more code. Other lines that are not starting a function, 
ending it or defining control end every statement in C with a '';'' character. 
If you don't do this, the statement continues until a '';'' is found, even if 
it goes across multiple lines.
+You will notice a few things. First lines starting with ''#'' are commands, 
but don't have a '';''. This is normal because these lines are processed by the 
pre-processor. All code in C goes through the C pre-processor and this 
basically generates more code for the compiler to actually deal with. Other 
lines that are not starting a function, ending it or defining control end every 
statement in C with a '';'' character. If you don't do this, the statement 
continues until a '';'' is found,  [...]
 
 If we look at how the application is compiled, We execute the C compiler, give 
it 1 or more source files to compile and the with ''-o'' tell it what output 
file to produce (the executable)
 
   cc hello.c -o hello
 
-Often ''cc'' will be replaced with things like ''gcc'' or maybe ''clang'' or 
whatever compiler you prefer.
+Often ''cc'' will be replaced with things like ''gcc'' or maybe ''clang'' or 
whatever compiler you prefer. A compiler will run the source through the 
pre-processor and then convert your source code into a binary form that your 
CPU and Os can actually understand and run.
 
 Now let's take a detour back to the machine that is running your very first C 
application.
 
@@ -147,7 +147,7 @@ You can even tell the compiler to make sure it has an 
initial value. If you don'
 int bob = 42;
 /code
 
-Once you have declared a variable, you can now use it. You can group values 
together in repeating sequences using arrays or in mixed groups called 
structs.
+Once you have declared a variable, you can now use it. You can group values 
together in repeating sequences using //arrays// or in mixed groups called 
//structs// that contain a sequence of variables structured as indicated. Order 
is important and is maintained in memory. You can at times take advantage of 
this ordering for doing things like inheritance. Arrays also have strict 
ordering in memory, so you can later on use pointers and simple arithmetic to 
walk up and down an array to ac [...]
 
 code c
 int bobs[100];
@@ -158,13 +158,64 @@ double things[200];
 struct mydata
   {
  int count;
- double items[100]
+ double items[100];
   };
 
 struct mydata bob;
 /code
 
+Structs (structured data) are very important and allow C to become rather 
complex and powerful when it comes to data storage, and don't forget you can 
embed structs inside structs, have arrays of structs, structs with arrays and 
use pointers to indirect from one struct to another, arrays of pointers to 
structs and so on.
+
  Functions 
+
+A function is a basic unit of execution. Conceptually a function hides an 
implementation of how to do something and exposes this as a higher level 
command. Go make me a sandwich, using butter, cheese and ham could be seen as 
calling the make me a sandwich function, with the input parameters (or 
arguments) being butter, cheese and ham, and the function returns a sandwich 
(for example). In C we might express this as follows:
+
+code c
+struct sandwich
+