[E-devel] Eina: keeping .la files for mempools modules

2011-04-24 Thread Vincent Torri

Hey

we are deleting the .la files for the mempool modules. I think that we 
should provide them. It's the packager of the distro who has to decide 
whether or not to delete it.

What do you think ?

Vincent

--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Eina: keeping .la files for mempools modules

2011-04-24 Thread The Rasterman
On Sun, 24 Apr 2011 08:13:19 +0200 (CEST) Vincent Torri vto...@univ-evry.fr
said:

 
 Hey
 
 we are deleting the .la files for the mempool modules. I think that we 
 should provide them. It's the packager of the distro who has to decide 
 whether or not to delete it.
 
 What do you think ?

only for installed libraries. for modules they are of zero use to the packager
or any developer (unlike libeina.la, libedje.la, libevas.la etc. which are of
use to libtool at link time). they are not used in any way by any of efl at
runtime   for module loading (different story *IF* we used libltdl, but we
don't). so its' just useless installcruft :)


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


--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Eina: keeping .la files for mempools modules

2011-04-24 Thread Vincent Torri


On Sun, 24 Apr 2011, Carsten Haitzler (The Rasterman) wrote:

 On Sun, 24 Apr 2011 08:13:19 +0200 (CEST) Vincent Torri vto...@univ-evry.fr
 said:


 Hey

 we are deleting the .la files for the mempool modules. I think that we
 should provide them. It's the packager of the distro who has to decide
 whether or not to delete it.

 What do you think ?

 only for installed libraries. for modules they are of zero use to the packager
 or any developer (unlike libeina.la, libedje.la, libevas.la etc. which are of
 use to libtool at link time). they are not used in any way by any of efl at
 runtime   for module loading (different story *IF* we used libltdl, but we
 don't). so its' just useless installcruft :)

so I have fo fix the uninstallation : as we removed the .la file ourself, 
the uninstall rule, which is based on it, does not delete the module

Vincent

--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Eina: keeping .la files for mempools modules

2011-04-24 Thread The Rasterman
On Sun, 24 Apr 2011 08:29:22 +0200 (CEST) Vincent Torri vto...@univ-evry.fr
said:

 
 
 On Sun, 24 Apr 2011, Carsten Haitzler (The Rasterman) wrote:
 
  On Sun, 24 Apr 2011 08:13:19 +0200 (CEST) Vincent Torri
  vto...@univ-evry.fr said:
 
 
  Hey
 
  we are deleting the .la files for the mempool modules. I think that we
  should provide them. It's the packager of the distro who has to decide
  whether or not to delete it.
 
  What do you think ?
 
  only for installed libraries. for modules they are of zero use to the
  packager or any developer (unlike libeina.la, libedje.la, libevas.la etc.
  which are of use to libtool at link time). they are not used in any way by
  any of efl at runtime   for module loading (different story *IF* we used
  libltdl, but we don't). so its' just useless installcruft :)
 
 so I have fo fix the uninstallation : as we removed the .la file ourself, 
 the uninstall rule, which is based on it, does not delete the module

that's indeed bad. if we co customising installs we end up having to write
custom uninstall rules too. :(

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


--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Eina: keeping .la files for mempools modules

2011-04-24 Thread Vincent Torri


On Sun, 24 Apr 2011, Carsten Haitzler (The Rasterman) wrote:

 On Sun, 24 Apr 2011 08:29:22 +0200 (CEST) Vincent Torri vto...@univ-evry.fr
 said:



 On Sun, 24 Apr 2011, Carsten Haitzler (The Rasterman) wrote:

 On Sun, 24 Apr 2011 08:13:19 +0200 (CEST) Vincent Torri
 vto...@univ-evry.fr said:


 Hey

 we are deleting the .la files for the mempool modules. I think that we
 should provide them. It's the packager of the distro who has to decide
 whether or not to delete it.

 What do you think ?

 only for installed libraries. for modules they are of zero use to the
 packager or any developer (unlike libeina.la, libedje.la, libevas.la etc.
 which are of use to libtool at link time). they are not used in any way by
 any of efl at runtime   for module loading (different story *IF* we used
 libltdl, but we don't). so its' just useless installcruft :)

 so I have fo fix the uninstallation : as we removed the .la file ourself,
 the uninstall rule, which is based on it, does not delete the module

 that's indeed bad. if we co customising installs we end up having to write
 custom uninstall rules too. :(

should I mention that fix in the ChangeLog ? (I think that I should)

Vincent

--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Eina: keeping .la files for mempools modules

2011-04-24 Thread The Rasterman
On Sun, 24 Apr 2011 08:55:14 +0200 (CEST) Vincent Torri vto...@univ-evry.fr
said:

 
 
 On Sun, 24 Apr 2011, Carsten Haitzler (The Rasterman) wrote:
 
  On Sun, 24 Apr 2011 08:29:22 +0200 (CEST) Vincent Torri
  vto...@univ-evry.fr said:
 
 
 
  On Sun, 24 Apr 2011, Carsten Haitzler (The Rasterman) wrote:
 
  On Sun, 24 Apr 2011 08:13:19 +0200 (CEST) Vincent Torri
  vto...@univ-evry.fr said:
 
 
  Hey
 
  we are deleting the .la files for the mempool modules. I think that we
  should provide them. It's the packager of the distro who has to decide
  whether or not to delete it.
 
  What do you think ?
 
  only for installed libraries. for modules they are of zero use to the
  packager or any developer (unlike libeina.la, libedje.la, libevas.la etc.
  which are of use to libtool at link time). they are not used in any way by
  any of efl at runtime   for module loading (different story *IF* we used
  libltdl, but we don't). so its' just useless installcruft :)
 
  so I have fo fix the uninstallation : as we removed the .la file ourself,
  the uninstall rule, which is based on it, does not delete the module
 
  that's indeed bad. if we co customising installs we end up having to write
  custom uninstall rules too. :(
 
 should I mention that fix in the ChangeLog ? (I think that I should)

that's a good q. i guess it fixes a make uninstall bug.

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


--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: raster trunk/ecore/src/lib/ecore

2011-04-24 Thread Vincent Torri


On Sun, 24 Apr 2011, Enlightenment SVN wrote:

 Log:
 as suggested - nme it timeline

I guess that you still don't want to fill the ChangLog ?

Vincent




 Author:   raster
 Date: 2011-04-24 07:25:43 -0700 (Sun, 24 Apr 2011)
 New Revision: 58867
 Trac: http://trac.enlightenment.org/e/changeset/58867

 Modified:
  trunk/ecore/src/lib/ecore/Ecore.h trunk/ecore/src/lib/ecore/ecore_anim.c

 Modified: trunk/ecore/src/lib/ecore/Ecore.h
 ===
 --- trunk/ecore/src/lib/ecore/Ecore.h 2011-04-24 10:32:54 UTC (rev 58866)
 +++ trunk/ecore/src/lib/ecore/Ecore.h 2011-04-24 14:25:43 UTC (rev 58867)
 @@ -575,7 +575,7 @@
*/

EAPI Ecore_Animator *ecore_animator_add(Ecore_Task_Cb func, const void 
 *data);
 -   EAPI Ecore_Animator *ecore_animator_run_add(double runtime, 
 Ecore_Timeline_Cb func, const void *data);
 +   EAPI Ecore_Animator *ecore_animator_timeline_add(double runtime, 
 Ecore_Timeline_Cb func, const void *data);
EAPI void   *ecore_animator_del(Ecore_Animator *animator);
EAPI voidecore_animator_freeze(Ecore_Animator *animator);
EAPI voidecore_animator_thaw(Ecore_Animator *animator);

 Modified: trunk/ecore/src/lib/ecore/ecore_anim.c
 ===
 --- trunk/ecore/src/lib/ecore/ecore_anim.c2011-04-24 10:32:54 UTC (rev 
 58866)
 +++ trunk/ecore/src/lib/ecore/ecore_anim.c2011-04-24 14:25:43 UTC (rev 
 58867)
 @@ -109,7 +109,7 @@
  * @since 1.1.0
  */
 EAPI Ecore_Animator *
 -ecore_animator_run_add(double runtime, Ecore_Timeline_Cb func, const void 
 *data)
 +ecore_animator_timeline_add(double runtime, Ecore_Timeline_Cb func, const 
 void *data)
 {
Ecore_Animator *animator;



 --
 Fulfilling the Lean Software Promise
 Lean software platforms are now widely adopted and the benefits have been
 demonstrated beyond question. Learn why your peers are replacing JEE
 containers with lightweight application servers - and what you can gain
 from the move. http://p.sf.net/sfu/vmware-sfemails
 ___
 enlightenment-svn mailing list
 enlightenment-...@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-svn



--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: cedric IN trunk/eina: . src/include src/lib src/modules/mp/chained_pool

2011-04-24 Thread Vincent Torri


On Sun, 24 Apr 2011, Enlightenment SVN wrote:

 Modified: trunk/eina/src/lib/eina_main.c
 ===
 --- trunk/eina/src/lib/eina_main.c2011-04-24 15:44:18 UTC (rev 58868)
 +++ trunk/eina/src/lib/eina_main.c2011-04-24 15:54:09 UTC (rev 58869)
 @@ -22,10 +22,6 @@

 #include stdio.h

 -#ifdef EFL_HAVE_POSIX_THREADS
 -# include pthread.h
 -#endif
 -
 #ifdef EFL_HAVE_WIN32_THREADS
 # define WIN32_LEAN_AND_MEAN
 # include windows.h
 @@ -50,6 +46,7 @@
 #include eina_magic.h
 #include eina_rectangle.h
 #include eina_safety_checks.h
 +#include eina_lock.h

 /**
 *  Local *
 @@ -77,25 +74,9 @@
 #endif
 #define DBG(...) EINA_LOG_DOM_DBG(_eina_log_dom, __VA_ARGS__)

 -Eina_Bool _threads_activated = EINA_FALSE;
 +EAPI Eina_Bool _threads_activated = EINA_FALSE;

 -#ifdef EFL_HAVE_THREADS
 -# ifdef EFL_HAVE_POSIX_THREADS
 -static pthread_mutex_t _mutex = PTHREAD_MUTEX_INITIALIZER;
 -#  define LOCK() if(_threads_activated) pthread_mutex_lock(_mutex)
 -#  define UNLOCK() if(_threads_activated) pthread_mutex_unlock(_mutex)
 -#  define UNLOCK_FORCE() pthread_mutex_unlock(_mutex)
 -# else /* EFL_HAVE_WIN32_THREADS */
 -static HANDLE _mutex = NULL;
 -#  define LOCK() if(_threads_activated) WaitForSingleObject(_mutex, INFINITE)
 -#  define UNLOCK() if(_threads_activated) ReleaseMutex(_mutex)
 -#  define UNLOCK_FORCE() ReleaseMutex(_mutex)
 -# endif
 -#else
 -# define LOCK() do {} while (0)
 -# define UNLOCK() do {} while (0)
 -# define UNLOCK_FORCE() do {} while (0)
 -#endif
 +static Eina_Lock _mutex;

 /* place module init/shutdown functions here to avoid other modules
  * calling them by mistake.
 @@ -231,6 +212,8 @@
   }
  }

 +   eina_lock_new(_mutex);

you don't check the returned value ?

Vincent

 +
_eina_main_count = 1;
return 1;
 }
 @@ -240,8 +223,12 @@
 {
_eina_main_count--;
if (EINA_UNLIKELY(_eina_main_count == 0))
 - _eina_shutdown_from_desc(_eina_desc_setup + 
 _eina_desc_setup_len);
 + {
 +_eina_shutdown_from_desc(_eina_desc_setup + _eina_desc_setup_len);

 +eina_lock_free(_mutex);
 + }
 +
return _eina_main_count;
 }

 @@ -252,22 +239,14 @@
 #ifdef EFL_HAVE_THREADS
int ret;

 -# ifdef EFL_HAVE_WIN32_THREADS
 -   if (!_mutex)
 -  _mutex = CreateMutex(NULL, FALSE, NULL);

 -   if (!_mutex)
 -  return 0;
 -
 -# endif
 -
 -   LOCK();
 +   eina_lock_take(_mutex);
++_eina_main_thread_count;
ret = _eina_main_thread_count;

if(_eina_main_thread_count  1)
  {
 -UNLOCK();
 +eina_lock_release(_mutex);
 return ret;
  }

 @@ -275,6 +254,8 @@
eina_log_threads_init();
_threads_activated = EINA_TRUE;

 +   eina_lock_release(_mutex);
 +
return ret;
 #else
return 0;
 @@ -287,27 +268,21 @@
 #ifdef EFL_HAVE_THREADS
int ret;

 -   LOCK();
 +   eina_lock_take(_mutex);
ret = --_eina_main_thread_count;
if(_eina_main_thread_count  0)
  {
 -UNLOCK();
 +eina_lock_release(_mutex);
 return ret;
  }

eina_share_common_threads_shutdown();
eina_log_threads_shutdown();

 +   eina_lock_release(_mutex);
 +
_threads_activated = EINA_FALSE;

 -   UNLOCK_FORCE();
 -
 -# ifdef EFL_HAVE_WIN32_THREADS
 -   if (_mutex)
 -  CloseHandle(_mutex);
 -
 -# endif
 -
return ret;
 #else
return 0;

 Modified: trunk/eina/src/modules/mp/chained_pool/eina_chained_mempool.c
 ===
 --- trunk/eina/src/modules/mp/chained_pool/eina_chained_mempool.c 
 2011-04-24 15:44:18 UTC (rev 58868)
 +++ trunk/eina/src/modules/mp/chained_pool/eina_chained_mempool.c 
 2011-04-24 15:54:09 UTC (rev 58869)
 @@ -43,6 +43,7 @@
 #include eina_mempool.h
 #include eina_trash.h
 #include eina_rbtree.h
 +#include eina_lock.h

 #include eina_private.h

 @@ -73,16 +74,10 @@
int alloc_size;
int group_size;
int usage;
 -#ifdef EFL_HAVE_THREADS
 -# ifdef EFL_HAVE_POSIX_THREADS
 -#  ifdef EFL_DEBUG_THREADS
 +#ifdef EFL_DEBUG_THREADS
pthread_t self;
 -#  endif
 -   pthread_mutex_t mutex;
 -# else
 -   HANDLE mutex;
 -# endif
 #endif
 +   Eina_Lock mutex;
 };

 typedef struct _Chained_Pool Chained_Pool;
 @@ -246,20 +241,12 @@
Chained_Pool *p = NULL;
void *mem;

 -#ifdef EFL_HAVE_THREADS
 -   if (_threads_activated)
 +   if (!eina_lock_take(pool-mutex))
  {
 -# ifdef EFL_HAVE_POSIX_THREADS
 -pthread_mutex_lock(pool-mutex);
 -# else
 -WaitForSingleObject(pool-mutex, INFINITE);
 -# endif
 - }
 #ifdef EFL_DEBUG_THREADS
 -   else
 - assert(pthread_equal(pool-self, pthread_self()));
 +assert(pthread_equal(pool-self, pthread_self()));
 #endif
 -#endif
 + }

// Either we have some free space in the first one, or there is no free 
 space.
if (pool-first) p = 

Re: [E-devel] E SVN: cedric IN trunk/eina: . src/include src/lib src/modules/mp/chained_pool

2011-04-24 Thread Cedric BAIL
On Sun, Apr 24, 2011 at 6:12 PM, Vincent Torri vto...@univ-evry.fr wrote:
 On Sun, 24 Apr 2011, Enlightenment SVN wrote:
 Modified: trunk/eina/src/lib/eina_main.c
 ===
 --- trunk/eina/src/lib/eina_main.c    2011-04-24 15:44:18 UTC (rev 58868)
 +++ trunk/eina/src/lib/eina_main.c    2011-04-24 15:54:09 UTC (rev 58869)
 @@ -22,10 +22,6 @@

 #include stdio.h

 -#ifdef EFL_HAVE_POSIX_THREADS
 -# include pthread.h
 -#endif
 -
 #ifdef EFL_HAVE_WIN32_THREADS
 # define WIN32_LEAN_AND_MEAN
 # include windows.h
 @@ -50,6 +46,7 @@
 #include eina_magic.h
 #include eina_rectangle.h
 #include eina_safety_checks.h
 +#include eina_lock.h

 /**
 *                                  Local                                     
 *
 @@ -77,25 +74,9 @@
 #endif
 #define DBG(...) EINA_LOG_DOM_DBG(_eina_log_dom, __VA_ARGS__)

 -Eina_Bool _threads_activated = EINA_FALSE;
 +EAPI Eina_Bool _threads_activated = EINA_FALSE;

 -#ifdef EFL_HAVE_THREADS
 -# ifdef EFL_HAVE_POSIX_THREADS
 -static pthread_mutex_t _mutex = PTHREAD_MUTEX_INITIALIZER;
 -#  define LOCK() if(_threads_activated) pthread_mutex_lock(_mutex)
 -#  define UNLOCK() if(_threads_activated) pthread_mutex_unlock(_mutex)
 -#  define UNLOCK_FORCE() pthread_mutex_unlock(_mutex)
 -# else /* EFL_HAVE_WIN32_THREADS */
 -static HANDLE _mutex = NULL;
 -#  define LOCK() if(_threads_activated) WaitForSingleObject(_mutex, 
 INFINITE)
 -#  define UNLOCK() if(_threads_activated) ReleaseMutex(_mutex)
 -#  define UNLOCK_FORCE() ReleaseMutex(_mutex)
 -# endif
 -#else
 -# define LOCK() do {} while (0)
 -# define UNLOCK() do {} while (0)
 -# define UNLOCK_FORCE() do {} while (0)
 -#endif
 +static Eina_Lock _mutex;

 /* place module init/shutdown functions here to avoid other modules
  * calling them by mistake.
 @@ -231,6 +212,8 @@
           }
      }

 +   eina_lock_new(_mutex);

 you don't check the returned value ?

Nop, don't need to enfore a working mutex here.
-- 
Cedric BAIL

--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: cedric IN trunk/eina: . src/include src/lib src/modules/mp/chained_pool

2011-04-24 Thread Vincent Torri



On Sun, 24 Apr 2011, Cedric BAIL wrote:


On Sun, Apr 24, 2011 at 6:12 PM, Vincent Torri vto...@univ-evry.fr wrote:

On Sun, 24 Apr 2011, Enlightenment SVN wrote:

Modified: trunk/eina/src/lib/eina_main.c
===
--- trunk/eina/src/lib/eina_main.c    2011-04-24 15:44:18 UTC (rev 58868)
+++ trunk/eina/src/lib/eina_main.c    2011-04-24 15:54:09 UTC (rev 58869)
@@ -22,10 +22,6 @@

#include stdio.h

-#ifdef EFL_HAVE_POSIX_THREADS
-# include pthread.h
-#endif
-
#ifdef EFL_HAVE_WIN32_THREADS
# define WIN32_LEAN_AND_MEAN
# include windows.h
@@ -50,6 +46,7 @@
#include eina_magic.h
#include eina_rectangle.h
#include eina_safety_checks.h
+#include eina_lock.h

/**
*                                  Local                                     *
@@ -77,25 +74,9 @@
#endif
#define DBG(...) EINA_LOG_DOM_DBG(_eina_log_dom, __VA_ARGS__)

-Eina_Bool _threads_activated = EINA_FALSE;
+EAPI Eina_Bool _threads_activated = EINA_FALSE;

-#ifdef EFL_HAVE_THREADS
-# ifdef EFL_HAVE_POSIX_THREADS
-static pthread_mutex_t _mutex = PTHREAD_MUTEX_INITIALIZER;
-#  define LOCK() if(_threads_activated) pthread_mutex_lock(_mutex)
-#  define UNLOCK() if(_threads_activated) pthread_mutex_unlock(_mutex)
-#  define UNLOCK_FORCE() pthread_mutex_unlock(_mutex)
-# else /* EFL_HAVE_WIN32_THREADS */
-static HANDLE _mutex = NULL;
-#  define LOCK() if(_threads_activated) WaitForSingleObject(_mutex, INFINITE)
-#  define UNLOCK() if(_threads_activated) ReleaseMutex(_mutex)
-#  define UNLOCK_FORCE() ReleaseMutex(_mutex)
-# endif
-#else
-# define LOCK() do {} while (0)
-# define UNLOCK() do {} while (0)
-# define UNLOCK_FORCE() do {} while (0)
-#endif
+static Eina_Lock _mutex;

/* place module init/shutdown functions here to avoid other modules
 * calling them by mistake.
@@ -231,6 +212,8 @@
          }
     }

+   eina_lock_new(_mutex);


you don't check the returned value ?


Nop, don't need to enfore a working mutex here.


but if threads are not availables, the value of mutex is undefined

Vincent
--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: cedric IN trunk/eina: . src/include src/lib src/modules/mp/chained_pool

2011-04-24 Thread Cedric BAIL
On Sun, Apr 24, 2011 at 6:28 PM, Vincent Torri vto...@univ-evry.fr wrote:
 On Sun, 24 Apr 2011, Cedric BAIL wrote:
 On Sun, Apr 24, 2011 at 6:12 PM, Vincent Torri vto...@univ-evry.fr
 wrote:

 On Sun, 24 Apr 2011, Enlightenment SVN wrote:

 Modified: trunk/eina/src/lib/eina_main.c
 ===
 --- trunk/eina/src/lib/eina_main.c    2011-04-24 15:44:18 UTC (rev
 58868)
 +++ trunk/eina/src/lib/eina_main.c    2011-04-24 15:54:09 UTC (rev
 58869)
 @@ -22,10 +22,6 @@

 #include stdio.h

 -#ifdef EFL_HAVE_POSIX_THREADS
 -# include pthread.h
 -#endif
 -
 #ifdef EFL_HAVE_WIN32_THREADS
 # define WIN32_LEAN_AND_MEAN
 # include windows.h
 @@ -50,6 +46,7 @@
 #include eina_magic.h
 #include eina_rectangle.h
 #include eina_safety_checks.h
 +#include eina_lock.h


 /**
 *                                  Local
     *
 @@ -77,25 +74,9 @@
 #endif
 #define DBG(...) EINA_LOG_DOM_DBG(_eina_log_dom, __VA_ARGS__)

 -Eina_Bool _threads_activated = EINA_FALSE;
 +EAPI Eina_Bool _threads_activated = EINA_FALSE;

 -#ifdef EFL_HAVE_THREADS
 -# ifdef EFL_HAVE_POSIX_THREADS
 -static pthread_mutex_t _mutex = PTHREAD_MUTEX_INITIALIZER;
 -#  define LOCK() if(_threads_activated) pthread_mutex_lock(_mutex)
 -#  define UNLOCK() if(_threads_activated) pthread_mutex_unlock(_mutex)
 -#  define UNLOCK_FORCE() pthread_mutex_unlock(_mutex)
 -# else /* EFL_HAVE_WIN32_THREADS */
 -static HANDLE _mutex = NULL;
 -#  define LOCK() if(_threads_activated) WaitForSingleObject(_mutex,
 INFINITE)
 -#  define UNLOCK() if(_threads_activated) ReleaseMutex(_mutex)
 -#  define UNLOCK_FORCE() ReleaseMutex(_mutex)
 -# endif
 -#else
 -# define LOCK() do {} while (0)
 -# define UNLOCK() do {} while (0)
 -# define UNLOCK_FORCE() do {} while (0)
 -#endif
 +static Eina_Lock _mutex;

 /* place module init/shutdown functions here to avoid other modules
  * calling them by mistake.
 @@ -231,6 +212,8 @@
           }
      }

 +   eina_lock_new(_mutex);

 you don't check the returned value ?

 Nop, don't need to enfore a working mutex here.

 but if threads are not availables, the value of mutex is undefined

And in that case it will still work as long as eina user don't use
thread. So everything is fine, eina without thread continue to work
for user without thread.
-- 
Cedric BAIL

--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: cedric IN trunk/eina: . src/include src/lib src/modules/mp/chained_pool

2011-04-24 Thread Mike Blumenkrantz
On Sun, 24 Apr 2011 18:51:54 +0200
Cedric BAIL cedric.b...@free.fr wrote:

 On Sun, Apr 24, 2011 at 6:28 PM, Vincent Torri vto...@univ-evry.fr wrote:
  On Sun, 24 Apr 2011, Cedric BAIL wrote:
  On Sun, Apr 24, 2011 at 6:12 PM, Vincent Torri vto...@univ-evry.fr
  wrote:
 
  On Sun, 24 Apr 2011, Enlightenment SVN wrote:
 
  Modified: trunk/eina/src/lib/eina_main.c
  ===
  --- trunk/eina/src/lib/eina_main.c    2011-04-24 15:44:18 UTC (rev
  58868)
  +++ trunk/eina/src/lib/eina_main.c    2011-04-24 15:54:09 UTC (rev
  58869)
  @@ -22,10 +22,6 @@
 
  #include stdio.h
 
  -#ifdef EFL_HAVE_POSIX_THREADS
  -# include pthread.h
  -#endif
  -
  #ifdef EFL_HAVE_WIN32_THREADS
  # define WIN32_LEAN_AND_MEAN
  # include windows.h
  @@ -50,6 +46,7 @@
  #include eina_magic.h
  #include eina_rectangle.h
  #include eina_safety_checks.h
  +#include eina_lock.h
 
 
  /**
  *                                  Local
      *
  @@ -77,25 +74,9 @@
  #endif
  #define DBG(...) EINA_LOG_DOM_DBG(_eina_log_dom, __VA_ARGS__)
 
  -Eina_Bool _threads_activated = EINA_FALSE;
  +EAPI Eina_Bool _threads_activated = EINA_FALSE;
 
  -#ifdef EFL_HAVE_THREADS
  -# ifdef EFL_HAVE_POSIX_THREADS
  -static pthread_mutex_t _mutex = PTHREAD_MUTEX_INITIALIZER;
  -#  define LOCK() if(_threads_activated) pthread_mutex_lock(_mutex)
  -#  define UNLOCK() if(_threads_activated) pthread_mutex_unlock(_mutex)
  -#  define UNLOCK_FORCE() pthread_mutex_unlock(_mutex)
  -# else /* EFL_HAVE_WIN32_THREADS */
  -static HANDLE _mutex = NULL;
  -#  define LOCK() if(_threads_activated) WaitForSingleObject(_mutex,
  INFINITE)
  -#  define UNLOCK() if(_threads_activated) ReleaseMutex(_mutex)
  -#  define UNLOCK_FORCE() ReleaseMutex(_mutex)
  -# endif
  -#else
  -# define LOCK() do {} while (0)
  -# define UNLOCK() do {} while (0)
  -# define UNLOCK_FORCE() do {} while (0)
  -#endif
  +static Eina_Lock _mutex;
 
  /* place module init/shutdown functions here to avoid other modules
   * calling them by mistake.
  @@ -231,6 +212,8 @@
            }
       }
 
  +   eina_lock_new(_mutex);
 
  you don't check the returned value ?
 
  Nop, don't need to enfore a working mutex here.
 
  but if threads are not availables, the value of mutex is undefined
 
 And in that case it will still work as long as eina user don't use
 thread. So everything is fine, eina without thread continue to work
 for user without thread.
So it won't work for Gentoo users ?

-- 
Mike Blumenkrantz
Zentific: NULL pointer dereferences now 50% off!

--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: cedric IN trunk/eina: . src/include src/lib src/modules/mp/chained_pool

2011-04-24 Thread Cedric BAIL
On Sun, Apr 24, 2011 at 7:04 PM, Mike Blumenkrantz m...@zentific.com wrote:
 On Sun, 24 Apr 2011 18:51:54 +0200
 Cedric BAIL cedric.b...@free.fr wrote:
 On Sun, Apr 24, 2011 at 6:28 PM, Vincent Torri vto...@univ-evry.fr wrote:
  On Sun, 24 Apr 2011, Cedric BAIL wrote:
  On Sun, Apr 24, 2011 at 6:12 PM, Vincent Torri vto...@univ-evry.fr
  wrote:
 
  On Sun, 24 Apr 2011, Enlightenment SVN wrote:
 
  Modified: trunk/eina/src/lib/eina_main.c
  ===
  --- trunk/eina/src/lib/eina_main.c    2011-04-24 15:44:18 UTC (rev
  58868)
  +++ trunk/eina/src/lib/eina_main.c    2011-04-24 15:54:09 UTC (rev
  58869)
  @@ -22,10 +22,6 @@
 
  #include stdio.h
 
  -#ifdef EFL_HAVE_POSIX_THREADS
  -# include pthread.h
  -#endif
  -
  #ifdef EFL_HAVE_WIN32_THREADS
  # define WIN32_LEAN_AND_MEAN
  # include windows.h
  @@ -50,6 +46,7 @@
  #include eina_magic.h
  #include eina_rectangle.h
  #include eina_safety_checks.h
  +#include eina_lock.h
 
 
  /**
  *                                  Local
      *
  @@ -77,25 +74,9 @@
  #endif
  #define DBG(...) EINA_LOG_DOM_DBG(_eina_log_dom, __VA_ARGS__)
 
  -Eina_Bool _threads_activated = EINA_FALSE;
  +EAPI Eina_Bool _threads_activated = EINA_FALSE;
 
  -#ifdef EFL_HAVE_THREADS
  -# ifdef EFL_HAVE_POSIX_THREADS
  -static pthread_mutex_t _mutex = PTHREAD_MUTEX_INITIALIZER;
  -#  define LOCK() if(_threads_activated) pthread_mutex_lock(_mutex)
  -#  define UNLOCK() if(_threads_activated) pthread_mutex_unlock(_mutex)
  -#  define UNLOCK_FORCE() pthread_mutex_unlock(_mutex)
  -# else /* EFL_HAVE_WIN32_THREADS */
  -static HANDLE _mutex = NULL;
  -#  define LOCK() if(_threads_activated) WaitForSingleObject(_mutex,
  INFINITE)
  -#  define UNLOCK() if(_threads_activated) ReleaseMutex(_mutex)
  -#  define UNLOCK_FORCE() ReleaseMutex(_mutex)
  -# endif
  -#else
  -# define LOCK() do {} while (0)
  -# define UNLOCK() do {} while (0)
  -# define UNLOCK_FORCE() do {} while (0)
  -#endif
  +static Eina_Lock _mutex;
 
  /* place module init/shutdown functions here to avoid other modules
   * calling them by mistake.
  @@ -231,6 +212,8 @@
            }
       }
 
  +   eina_lock_new(_mutex);
 
  you don't check the returned value ?
 
  Nop, don't need to enfore a working mutex here.
 
  but if threads are not availables, the value of mutex is undefined

 And in that case it will still work as long as eina user don't use
 thread. So everything is fine, eina without thread continue to work
 for user without thread.
 So it won't work for Gentoo users ?

Did it ever work for them ?
-- 
Cedric BAIL

--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: cedric IN trunk/eina/src: include lib

2011-04-24 Thread Vincent Torri


On Sun, 24 Apr 2011, Enlightenment SVN wrote:

 Log:
 eina: put global into namespace and add lock abort


 Author:   cedric
 Date: 2011-04-24 13:22:17 -0700 (Sun, 24 Apr 2011)
 New Revision: 58875
 Trac: http://trac.enlightenment.org/e/changeset/58875

 Modified:
  trunk/eina/src/include/eina_inline_lock_posix.x 
 trunk/eina/src/lib/eina_main.c

 Modified: trunk/eina/src/include/eina_inline_lock_posix.x
 ===
 --- trunk/eina/src/include/eina_inline_lock_posix.x   2011-04-24 20:21:07 UTC 
 (rev 58874)
 +++ trunk/eina/src/include/eina_inline_lock_posix.x   2011-04-24 20:22:17 UTC 
 (rev 58875)
 @@ -23,12 +23,29 @@

 typedef pthread_mutex_t Eina_Lock;

 -EAPI extern Eina_Bool _threads_activated;
 +EAPI extern Eina_Bool _eina_threads_activated;

you forgot to update other lock files (win32 and wince)

Vincent


 +#ifdef EINA_HAVE_DEBUG_THREADS
 +# include sys/time.h
 +
 +EAPI extern int _eina_threads_debug;
 +#endif
 +
 static inline Eina_Bool
 eina_lock_new(Eina_Lock *mutex)
 {
 -   return (pthread_mutex_init(mutex, NULL) == 0) ? EINA_TRUE : EINA_FALSE;
 +   pthread_mutexattr_t attr;
 +
 +   if (pthread_mutexattr_init(attr) != 0)
 + return EINA_FALSE;
 +   if (pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE) != 0)
 + return EINA_FALSE;
 +   if (pthread_mutex_init(mutex, attr) != 0)
 + return EINA_FALSE;
 +
 +   pthread_mutexattr_destroy(attr);
 +
 +   return EINA_TRUE;
 }

 static inline void
 @@ -40,15 +57,37 @@
 static inline Eina_Bool
 eina_lock_take(Eina_Lock *mutex)
 {
 -   if (_threads_activated)
 - return (pthread_mutex_lock(mutex) == 0) ? EINA_TRUE : EINA_FALSE;
 +   if (_eina_threads_activated)
 +  {
 +#ifdef EINA_HAVE_DEBUG_THREADS
 + if (_eina_threads_debug)
 +   {
 +  struct timeval t0, t1;
 +  int dt;
 +
 +  gettimeofday(t0, NULL);
 +  pthread_mutex_lock((x));
 +  gettimeofday(t1, NULL);
 +
 +  dt = (t1.tv_sec - t0.tv_sec) * 100;
 +  if (t1.tv_usec  t0.tv_usec)
 +dt += (t1.tv_usec - t0.tv_usec);
 +  else
 +dt -= t0.tv_usec - t1.tv_usec;
 +  dt /= 1000;
 +
 +  if (dt  _eina_threads_debug) abort();
 +   }
 +#endif
 + return (pthread_mutex_lock(mutex) == 0) ? EINA_TRUE : EINA_FALSE;
 +  }
return EINA_FALSE;
 }

 static inline Eina_Bool
 eina_lock_take_try(Eina_Lock *mutex)
 {
 -   if (_threads_activated)
 +   if (_eina_threads_activated)
  return (pthread_mutex_trylock(mutex) == 0) ? EINA_TRUE : EINA_FALSE;
return EINA_FALSE;
 }
 @@ -56,7 +95,7 @@
 static inline Eina_Bool
 eina_lock_release(Eina_Lock *mutex)
 {
 -   if (_threads_activated)
 +   if (_eina_threads_activated)
  return (pthread_mutex_unlock(mutex) == 0) ? EINA_TRUE : EINA_FALSE;
return EINA_FALSE;
 }

 Modified: trunk/eina/src/lib/eina_main.c
 ===
 --- trunk/eina/src/lib/eina_main.c2011-04-24 20:21:07 UTC (rev 58874)
 +++ trunk/eina/src/lib/eina_main.c2011-04-24 20:22:17 UTC (rev 58875)
 @@ -74,8 +74,12 @@
 #endif
 #define DBG(...) EINA_LOG_DOM_DBG(_eina_log_dom, __VA_ARGS__)

 -EAPI Eina_Bool _threads_activated = EINA_FALSE;
 +EAPI Eina_Bool _eina_threads_activated = EINA_FALSE;

 +#ifdef EINA_HAVE_DEBUG_THREADS
 +EAPI int _eina_threads_debug = 0;
 +#endif
 +
 static Eina_Lock _mutex;

 /* place module init/shutdown functions here to avoid other modules
 @@ -213,6 +217,10 @@
  }

eina_lock_new(_mutex);
 +#ifdef EINA_HAVE_DEBUG_THREADS
 +   if (getenv(EINA_DEBUG_THREADS))
 + _eina_threads_debug = atoi(getenv(EINA_DEBUG_THREADS);
 +#endif

_eina_main_count = 1;
return 1;
 @@ -252,7 +260,7 @@

eina_share_common_threads_init();
eina_log_threads_init();
 -   _threads_activated = EINA_TRUE;
 +   _eina_threads_activated = EINA_TRUE;

eina_lock_release(_mutex);

 @@ -281,7 +289,7 @@

eina_lock_release(_mutex);

 -   _threads_activated = EINA_FALSE;
 +   _eina_threads_activated = EINA_FALSE;

return ret;
 #else


 --
 Fulfilling the Lean Software Promise
 Lean software platforms are now widely adopted and the benefits have been
 demonstrated beyond question. Learn why your peers are replacing JEE
 containers with lightweight application servers - and what you can gain
 from the move. http://p.sf.net/sfu/vmware-sfemails
 ___
 enlightenment-svn mailing list
 enlightenment-...@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-svn



--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your 

Re: [E-devel] E SVN: raster trunk/ecore/src/lib/ecore

2011-04-24 Thread The Rasterman
On Sun, 24 Apr 2011 17:46:08 +0200 (CEST) Vincent Torri vto...@univ-evry.fr
said:

 
 
 On Sun, 24 Apr 2011, Enlightenment SVN wrote:
 
  Log:
  as suggested - nme it timeline
 
 I guess that you still don't want to fill the ChangLog ?

it already is filled in. remember the point of the changelog is for when people
come around to using 1.1 they see what changed. going back and forth on it
during dev isn't useful.

 Vincent
 
 
 
 
  Author:   raster
  Date: 2011-04-24 07:25:43 -0700 (Sun, 24 Apr 2011)
  New Revision: 58867
  Trac: http://trac.enlightenment.org/e/changeset/58867
 
  Modified:
   trunk/ecore/src/lib/ecore/Ecore.h trunk/ecore/src/lib/ecore/ecore_anim.c
 
  Modified: trunk/ecore/src/lib/ecore/Ecore.h
  ===
  --- trunk/ecore/src/lib/ecore/Ecore.h   2011-04-24 10:32:54 UTC (rev
  58866) +++ trunk/ecore/src/lib/ecore/Ecore.h2011-04-24 14:25:43 UTC
  (rev 58867) @@ -575,7 +575,7 @@
 */
 
 EAPI Ecore_Animator *ecore_animator_add(Ecore_Task_Cb func, const void
  *data);
  -   EAPI Ecore_Animator *ecore_animator_run_add(double runtime,
  Ecore_Timeline_Cb func, const void *data);
  +   EAPI Ecore_Animator *ecore_animator_timeline_add(double runtime,
  Ecore_Timeline_Cb func, const void *data); EAPI void
  *ecore_animator_del(Ecore_Animator *animator); EAPI void
  ecore_animator_freeze(Ecore_Animator *animator); EAPI void
  ecore_animator_thaw(Ecore_Animator *animator);
 
  Modified: trunk/ecore/src/lib/ecore/ecore_anim.c
  ===
  --- trunk/ecore/src/lib/ecore/ecore_anim.c  2011-04-24 10:32:54 UTC
  (rev 58866) +++ trunk/ecore/src/lib/ecore/ecore_anim.c  2011-04-24
  14:25:43 UTC (rev 58867) @@ -109,7 +109,7 @@
   * @since 1.1.0
   */
  EAPI Ecore_Animator *
  -ecore_animator_run_add(double runtime, Ecore_Timeline_Cb func, const void
  *data) +ecore_animator_timeline_add(double runtime, Ecore_Timeline_Cb func,
  const void *data) {
 Ecore_Animator *animator;
 
 
 
  --
  Fulfilling the Lean Software Promise
  Lean software platforms are now widely adopted and the benefits have been
  demonstrated beyond question. Learn why your peers are replacing JEE
  containers with lightweight application servers - and what you can gain
  from the move. http://p.sf.net/sfu/vmware-sfemails
  ___
  enlightenment-svn mailing list
  enlightenment-...@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
 
 
 
 --
 Fulfilling the Lean Software Promise
 Lean software platforms are now widely adopted and the benefits have been 
 demonstrated beyond question. Learn why your peers are replacing JEE 
 containers with lightweight application servers - and what you can gain 
 from the move. http://p.sf.net/sfu/vmware-sfemails
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


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


--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] elm_map rotate feature

2011-04-24 Thread The Rasterman
On Wed, 20 Apr 2011 11:39:03 +0900 sangho park gouach...@gmail.com said:

 hermet,
 
 thanks for your good suggestion.
 as your suggestion, i revised APIs.
 
 but now center coordinates are useless, because rotated map is grid images.
 so center coordinates are decided by each grid image.
 
 what do you think about this?

hmm... very interesting... you want to do 3d rotation here. not just 2d. that
opens up a whole can of worms. what will you draw for sky/horizon? thats the
bi-product of making this 3d... you have a whole extra dimension to worry
about. :) 

 /**
  * Set the rotate degree of the map
  *
  * @param obj The map object
  * @param dx amount of degrees from 0.0 to 360.0 to rotate arount X axis.
  * @param dy amount of degrees from 0.0 to 360.0 to rotate arount Y axis.
  * @param dz amount of degrees from 0.0 to 360.0 to rotate arount Z axis.
  *
  * @ingroup Map
  */
 EAPI void elm_map_rotate_set(Evas_Object *obj, double dx, double dy, double
 dz) EINA_ARG_NONNULL(1);
 
 /**
  * Get the rotate degree of the map
  *
  * @param obj The map object
  * @param dx amount of degrees from 0.0 to 360.0 to rotate arount X axis.
  * @param dy amount of degrees from 0.0 to 360.0 to rotate arount Y axis.
  * @param dz amount of degrees from 0.0 to 360.0 to rotate arount Z axis.
  *
  * @ingroup Map
  */
 EAPI void elm_map_rotate_get(const Evas_Object *obj, double *dx, double *dy,
 double *dz) EINA_ARG_NONNULL(1, 2, 3);

hmm shouldnt the below just take a 2d coord (just Evas_Coord x, y and return a
map x  y USING the current rotation and map content)?

 /**
  * Convert a pixel coordinate into a roated pixcel coordinate.
  *
  * @param obj The map object
  * @param x x to rotate.
  * @param y y to rotate.
  * @param z z to rotate.
  * @param dx amount of degrees from 0.0 to 360.0 to rotate arount X axis.
  * @param dy amount of degrees from 0.0 to 360.0 to rotate arount Y axis.
  * @param dz amount of degrees from 0.0 to 360.0 to rotate arount Z axis.
  * @param xx rotated x.
  * @param yy rotated y.
  * @param zz rotated z.
  *
  * @ingroup Map
  */
 API void elm_map_utils_rotate_coord(const Evas_Object *obj, const Evas_Coord
 x, const Evas_Coord y, const double z, const double dx, const double dy,
 const double dz, Evas_Coord *xx, Evas_Coord *yy, Evas_Coord *zz)
 EINA_ARG_NONNULL(1, 8, 9, 10);
 
 2011/4/20 ChunEon Park her...@naver.com
 
  how about just rotate_set as you add elm_map_rotate_get
 
 
 
  elm_map_rotate_set(obj, center_x, center_y, center_z, degree_x, degree_y,
  degree_z);
 
 
 
  and I think it will be better if it returns the above arguments also.
 
 
 
  elm_map_rotate_get(const Evas_Object *obj, center_x, center_y, center_z,
  degree_x, degree_y, degree_z);
 
  Thanks.
 
 
 
  
  Let's run together for the best moment!
 
  -Regards, Hermet-
 
 
 
  -Original Message-
  *From:* sangho parkgouach...@gmail.com
  *To:* Daniel Juyung Seoseojuyu...@gmail.com
  *Cc:* enlightenment-devel@lists.sourceforge.net
  *Sent:* 11-04-19(화) 11:43:33
  *Subject:* Re: [E-devel] [Patch] elm_map rotate featurethanks for your
  lightning comments~~ :)
 
  1) I'll apply const ~
  2) the reference code is 'evas_map_util_3d_rotate'. i can't find another
  api
  which is containing rotate keyword. actually, I have a plan to support 3d
  map. anyway, what is your recommendation?
 
  On Tue, Apr 19, 2011 at 11:33 AM, Daniel Juyung Seo seojuyu...@gmail.com
  wrote:
 
   Video looks good!
   It's getting better and better.
  
   Just two comments from my side.
  
   1)
  
+ EAPI double elm_map_rotate_get(Evas_Object *obj)
   EINA_ARG_NONNULL(1);
   According to EFL coding convention, we add const to getter's parameter
   like below:
   EAPI double elm_map_rotate_get(const Evas_Object *obj)
   EINA_ARG_NONNULL(1);
  
   Actually this needs to be done to other APIs.
   EAPI const char *elm_map_name_address_get(Elm_Map_Name *name)
   EINA_ARG_NONNULL(1);
   EAPI void elm_map_name_region_get(Elm_Map_Name *name,
   double *lon, double *lat) EINA_ARG_NONNULL(1);
  
   2)
+ EAPI void elm_map_util_3d_rotate(Evas_Object *obj,
   double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord
   cz, Evas_Coord *ox, Evas_Coord *oy, Evas_Coord *oz) EINA_ARG_NONNULL(1,
  8,
   9, 10);
   From youtube video, it looks like a 2d rotation.
   Why it's named 3d_rotate?
  
   Thanks.
   Daniel Juyung Seo (SeoZ)
  
   On Tue, Apr 19, 2011 at 11:25 AM, sangho park gouach...@gmail.com
  wrote:
  
   Dear all,
  
   I just implement map rotate feature.
   it's the start of turn-by-turn navigation. :)
  
   because of some added APIs, I need your reviews.
  
   you can find demo youtube.
   http://www.youtube.com/watch?v=juxKrrHVU4U
  
   pls review this patch.
  
   Thanks.
   BR
  
  
  
  --
   Benefiting from Server Virtualization: Beyond Initial Workload
   Consolidation -- Increasing the use of 

Re: [E-devel] [PATCH] bug fix in : cursor, changed signal is not emitted when the content of entry is removed

2011-04-24 Thread The Rasterman
On Sat, 23 Apr 2011 00:56:14 +0900 Jihoon Kim imfin...@gmail.com said:

in svn! thanks! though a small change - it always should say cursor changed as
pos could be the same, but cursor changed location due to different char
sizes/wrapping etc.

 Hello,
 
 I found the bug that cursor,changed signal is not emitted when the content
 of entry is removed.
 
 Let's assume the cursor position is equal to 10.
 In this situation, elm_entry_entry_set(en, ) is called.
 The content of entry is removed and the cursor position is equal to 0, but
 cursor,changed signal is not emitted.
 
 This patch is for solving this problem.
 
 In addition, it lets the input method module know the cursor position using
 ecore_imf_context_cursor_position_set API
 in case that _edje_entry_set_cursor_{start, end} is called.
 
 Would you please review this patch?


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


--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] ruby ffi binding

2011-04-24 Thread The Rasterman
On Wed, 20 Apr 2011 16:21:52 +0200 Jérémy Zurcher jer...@asynk.ch said:

hmm interesting. that looks pretty much like the efl api directly exported to
ruby. callbacks work? what abotu some weird funcs that require u pass in a
struct and fill it with content like func ptrs etc?

 Sorry I answered to Thomas but not to this list;
 
 about FFI : https://github.com/ffi/ffi
 
 DESRIPTION
 Ruby-FFI is a ruby extension for programmatically loading dynamic
 libraries, binding functions within them, and calling those functions
 from Ruby code.
 
 ffi-e17 has just been rename ffi-efl, so the links are
 
 http://cgit.asynk.ch/cgi-bin/cgit/ffi-efl/
 https://github.com/jeremyz/ffi-efl
 https://gitorious.org/ffi-efl
 rubyforge is not up yet
 
 --
 Benefiting from Server Virtualization: Beyond Initial Workload 
 Consolidation -- Increasing the use of server virtualization is a top
 priority.Virtualization can reduce costs, simplify management, and improve 
 application availability and disaster protection. Learn more about boosting 
 the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


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


--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] elm_map rotate feature

2011-04-24 Thread sangho park
yes.. raster.
so I changed 3d to 2d :(

but I'm still eager to extend to 3d map.
when I prepare to extend, I'll try again :D

/**
 * Set the rotate degree of the map
 *
 * @param obj The map object
 * @param angle amount of degrees from 0.0 to 360.0 to rotate arount Z axis.
 * @param cx rotation's center horizontal position.
 * @param cy rotation's center vertical position.
 *
 * @ingroup Map
 */
EAPI void elm_map_rotate_set(Evas_Object *obj, double degree, Evas_Coord cx,
Evas_Coord cy);

/**
 * Get the rotate degree of the map
 *
 * @param obj The map object
 * @return amount of degrees from 0.0 to 360.0 to rotate arount Z axis.
 * @param cx rotation's center horizontal position.
 * @param cy rotation's center vertical position.
 *
 * @ingroup Map
 */
EAPI void elm_map_rotate_get(const Evas_Object *obj, double *degree,
Evas_Coord *cx, Evas_Coord *cy);

/**
 * Convert a pixel coordinate into a roated pixcel coordinate.
 *
 * @param obj The map object
 * @param x x to rotate.
 * @param y y to rotate.
 * @param cx rotation's center horizontal position.
 * @param cy rotation's center vertical position.
 * @param degree amount of degrees from 0.0 to 360.0 to rotate arount Z
axis.
 * @param xx rotated x.
 * @param yy rotated y.
 *
 * @ingroup Map
 */
EAPI void elm_map_utils_rotate_coord(const Evas_Object *obj, const
Evas_Coord x, const Evas_Coord y, const Evas_Coord cx, const Evas_Coord cy,
const double degree, Evas_Coord *xx, Evas_Coord *yy);

On Mon, Apr 25, 2011 at 2:23 PM, Carsten Haitzler ras...@rasterman.comwrote:

 On Wed, 20 Apr 2011 11:39:03 +0900 sangho park gouach...@gmail.com said:

  hermet,
 
  thanks for your good suggestion.
  as your suggestion, i revised APIs.
 
  but now center coordinates are useless, because rotated map is grid
 images.
  so center coordinates are decided by each grid image.
 
  what do you think about this?

 hmm... very interesting... you want to do 3d rotation here. not just 2d.
 that
 opens up a whole can of worms. what will you draw for sky/horizon? thats
 the
 bi-product of making this 3d... you have a whole extra dimension to worry
 about. :)

  /**
   * Set the rotate degree of the map
   *
   * @param obj The map object
   * @param dx amount of degrees from 0.0 to 360.0 to rotate arount X axis.
   * @param dy amount of degrees from 0.0 to 360.0 to rotate arount Y axis.
   * @param dz amount of degrees from 0.0 to 360.0 to rotate arount Z axis.
   *
   * @ingroup Map
   */
  EAPI void elm_map_rotate_set(Evas_Object *obj, double dx, double dy,
 double
  dz) EINA_ARG_NONNULL(1);
 
  /**
   * Get the rotate degree of the map
   *
   * @param obj The map object
   * @param dx amount of degrees from 0.0 to 360.0 to rotate arount X axis.
   * @param dy amount of degrees from 0.0 to 360.0 to rotate arount Y axis.
   * @param dz amount of degrees from 0.0 to 360.0 to rotate arount Z axis.
   *
   * @ingroup Map
   */
  EAPI void elm_map_rotate_get(const Evas_Object *obj, double *dx, double
 *dy,
  double *dz) EINA_ARG_NONNULL(1, 2, 3);

 hmm shouldnt the below just take a 2d coord (just Evas_Coord x, y and
 return a
 map x  y USING the current rotation and map content)?

  /**
   * Convert a pixel coordinate into a roated pixcel coordinate.
   *
   * @param obj The map object
   * @param x x to rotate.
   * @param y y to rotate.
   * @param z z to rotate.
   * @param dx amount of degrees from 0.0 to 360.0 to rotate arount X axis.
   * @param dy amount of degrees from 0.0 to 360.0 to rotate arount Y axis.
   * @param dz amount of degrees from 0.0 to 360.0 to rotate arount Z axis.
   * @param xx rotated x.
   * @param yy rotated y.
   * @param zz rotated z.
   *
   * @ingroup Map
   */
  API void elm_map_utils_rotate_coord(const Evas_Object *obj, const
 Evas_Coord
  x, const Evas_Coord y, const double z, const double dx, const double dy,
  const double dz, Evas_Coord *xx, Evas_Coord *yy, Evas_Coord *zz)
  EINA_ARG_NONNULL(1, 8, 9, 10);
 
  2011/4/20 ChunEon Park her...@naver.com
 
   how about just rotate_set as you add elm_map_rotate_get
  
  
  
   elm_map_rotate_set(obj, center_x, center_y, center_z, degree_x,
 degree_y,
   degree_z);
  
  
  
   and I think it will be better if it returns the above arguments also.
  
  
  
   elm_map_rotate_get(const Evas_Object *obj, center_x, center_y,
 center_z,
   degree_x, degree_y, degree_z);
  
   Thanks.
  
  
  
   
   Let's run together for the best moment!
  
   -Regards, Hermet-
  
  
  
   -Original Message-
   *From:* sangho parkgouach...@gmail.com
   *To:* Daniel Juyung Seoseojuyu...@gmail.com
   *Cc:* enlightenment-devel@lists.sourceforge.net
   *Sent:* 11-04-19(화) 11:43:33
   *Subject:* Re: [E-devel] [Patch] elm_map rotate featurethanks for your
   lightning comments~~ :)
  
   1) I'll apply const ~
   2) the reference code is 'evas_map_util_3d_rotate'. i can't find
 another
   api
   which is containing rotate keyword. actually, I have a plan to support
 3d
   map. anyway, 

Re: [E-devel] [Patch] Display more than 3 items

2011-04-24 Thread cnook
Dear All,

Hello!

I have attached patch for elm_diskselector.
This patch is setting the width of elm_diskselector using its parent width
size, if there is no mention in the theme file.


Sincerely,
Shinwoo Kim.



2011/4/7 Carsten Haitzler ras...@rasterman.com

 On Tue, 5 Apr 2011 23:33:08 +0900 cnook kimci...@gmail.com said:

 thanks. still for()s in the test code have no space between for and ( - i
 fixed
 it though. patch in svn now!

  Hello!
 
  Thank you for your response.
  I am thoroughly impressed with your in-depth review.
  All of your feedback is reflected on the latest attached patch.
  Please verify and review this again. Thanks!
 
 
  Sincerely,
  Shinwoo Kim.
 
  2011/4/4 Carsten Haitzler ras...@rasterman.com
 
   On Mon, 28 Mar 2011 12:04:19 +0900 cnook kimci...@gmail.com said:
  
   too many problems with this patch :( can you fix the below and
 re-submit?
  
   1. fails. malformed patch even.
   patching file src/lib/elm_diskselector.c
   Hunk #5 FAILED at 136.
   Hunk #19 succeeded at 780 with fuzz 2.
   1 out of 29 hunks FAILED -- saving rejects to file
   src/lib/elm_diskselector.c.rej patching file src/lib/Elementary.h.in
   patching file src/bin/test_diskselector.c
   patching file data/themes/default.edc
   patch:  malformed patch at line 553:
   2. math relying on operator precedence rather than being explicit with
   ()'s:
   + evas_object_resize(wd-main_box, w / wd-display_item_num *
   (wd-item_count + CEIL(wd-display_item_num) * 2), h);
   + evas_object_resize(wd-main_box, w / wd-display_item_num *
   (wd-item_count + CEIL(wd-display_item_num)), h);
   3. divide by 0 waiting to happen:
   + (int)(w / wd-display_item_num), 0);
   (you never check the return of atoi so it can happily return 0 or theme
   could
   literally use a 0)
   4. no space between if and ():
   +   if(!wd-display_item_num_by_api)
   5. no check of atoi result to stop invalid values (= 0):
   +if (str) wd-display_item_num = atoi(str);
   6. no check of atoi() to check for = -2:
   +   if (str) wd-minw = atoi(str);
   +   if (str) wd-minh = atoi(str);
   7. no check of atoi result to stop invalid values:
   +   if (str) wd-display_item_num = atoi(str);
   8. use: if (!strcmp(...)):
   +if (strcmp(item-label, it-label) == 0)
 edje_object_signal_emit
   (item-base.view, elm,state,selected, elm);
   9. add space between void and * and no space between ) and it-:
   +   if (it-func) it-func((void*) it-base.data, it-base.widget, it);
   10. more operator precedence reliance here. use ()'s to collect
 statements:
   +if (x  w / wd-display_item_num * (wd-item_count +
   (wd-display_item_num % 2)))
   +   x - w /
   wd-display_item_num *
   wd-item_count,
   +   x + w /
   wd-display_item_num *
   wd-item_count,
   11. add space between for and (:
   +   for(i = 2; i  CEIL(wd-display_item_num); i++)
   +   for(i = 3; i = CEIL(wd-display_item_num); i++)
   + for(i = 2; i  CEIL(wd-display_item_num); i++)
   + for(i = 3; i = CEIL(wd-display_item_num); i++)
   +   for(idx = 0; idx  sizeof(month_list) / sizeof(month_list[0]);
 idx++)
   +   for(idx = 1; idx  31; idx++)
   12. please declare vars at top of function or {} section where you can:
   +   char *month_list[] = {
   +   char date[3];
  
  
Hi All,
   
Thanks for your response and suggestion always.
I have attached new patch file which has following modification.
   
  - remove warning message
  - support setting by theme and api
   
Others are also reasonable suggestion, some of them especially
 vertical
   mode
would be fine. But till now there is no design for that as raster
   mentioned.
setting min/max display item num is reasonable also but user can
 set
content size differently. So if elm_diskselector restrict its min/max
display item num, it would occur that user cannot set display item
   num
more than max value even though there is enough space.
   
Thanks again.
   
Sincerely,
Shinwoo Kim.
   
2011/3/25 Carsten Haitzler ras...@rasterman.com
   
 On Wed, 23 Mar 2011 08:19:13 -0700 Daniel Juyung Seo 
   seojuyu...@gmail.com
 
 said:

 you're going to hate me :)

 you did go the right way - theme defines default, code can
 override...
 BUT..
 you are ALSO missing a fit POLICY. you are fitting just N items in
 the
 visible
 region. i think... you are missing the ability to say fit as many
   items
 ads
 you can either based on largest item in list (homogeneous layout
 in
   the
 box)
 or have all items a different size (actually i might argue that
 this is
 dubiously useful except maybe in a case where MOST items are small
 and
   1 or
 2
 are longer eg a list like: 1,2,3,4,5,NONE).

 so THEME should provide the default FIT policy (fixed 

Re: [E-devel] composite

2011-04-24 Thread The Rasterman
On Fri, 22 Apr 2011 03:21:22 +0300 المسالم المسالمة
almusalimalmusali...@gmail.com said:

ooh we use trac - check the tracker. you can file a ticket there. the mailing
list though has no one actually on it. use the trac ticket thing. if you want
to do email - do it here. :)

 hello developers
 
 sorry to bothering you
 
 but
 
 since there is no one in
 
 enlightenment-bugs-ow...@lists.sourceforge.net
 
 to answer my request from
 
 i decided to asking you
 
 so
 
 there is a problem here with that module
 
 the problem here is some times when i try to open firefox (( i dont know
 about other applications )) the whole E17 GUI will freez
 
 and the only things that will responding to you is the mouse and keys
 shortcuts if you want to kill the GUI and restart the COMPUTER

that's odd. it works like a charm here. firefox or not. can you give more
information?

 --
 Fulfilling the Lean Software Promise
 Lean software platforms are now widely adopted and the benefits have been 
 demonstrated beyond question. Learn why your peers are replacing JEE 
 containers with lightweight application servers - and what you can gain 
 from the move. http://p.sf.net/sfu/vmware-sfemails
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


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


--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: raster IN trunk/ecore: . src/lib/ecore

2011-04-24 Thread The Rasterman
On Thu, 21 Apr 2011 11:55:03 -0300 Gustavo Sverzut Barbieri
barbi...@profusion.mobi said:

 On Wed, Apr 20, 2011 at 10:47 PM, Carsten Haitzler ras...@rasterman.com
 wrote:
  On Wed, 20 Apr 2011 10:54:03 -0300 Gustavo Sverzut Barbieri
  barbi...@profusion.mobi said:
 
  On Wed, Apr 20, 2011 at 3:51 AM, Enlightenment SVN
  no-re...@enlightenment.org wrote:
   Log:
   add animator runtime stuff to run animator for fixed timelength and an
    interpolation mapping func.
 
 
   +   typedef Eina_Bool (*Ecore_Timeline_Cb) (void *data, double pos);
 
   +   EAPI Ecore_Animator *ecore_animator_run_add(double runtime,
   Ecore_Timeline_Cb func, const void *data);
 
  It makes no sense to have run' mixed with Timeline, maybe have it
  as ecore_animator_timeline_add()?
 
  in english a run of something is a batch or line or unit of things.
 
  the project's run has finished
  i started up a run of the test suite
 
  in that usage it implies it has a start and then an end. :)
 
 So rename the callback name to Animation_Run ?

called it timeline as that seems to gel with you guys better :)

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


--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [PATCH] bug fix : preedit text was commited when shift key was pressed

2011-04-24 Thread The Rasterman
On Thu, 21 Apr 2011 15:30:56 +0900 Jihoon Kim jihoon48@samsung.com said:

yes indeed - patch in svn! thanks! :)

 Hi, EFL developers.
 
 ATM, preedit text is commited when shift key is pressed.
 This patch file is for solving this bug.
 
 Would you please review this patch and apply in svn?
 


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


--
Fulfilling the Lean Software Promise
Lean software platforms are now widely adopted and the benefits have been 
demonstrated beyond question. Learn why your peers are replacing JEE 
containers with lightweight application servers - and what you can gain 
from the move. http://p.sf.net/sfu/vmware-sfemails
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel