[EGIT] [core/efl] master 02/03: edje: fix a memory leak of Edje_Part_Element for any .edj using them.

2013-10-11 Thread Cedric Bail
cedric pushed a commit to branch master.

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

commit 64b2b9c2b202df2b45e50972b6a7b07c2f914fb3
Author: Cedric Bail cedric.b...@samsung.com
Date:   Fri Oct 11 14:47:44 2013 +0900

edje: fix a memory leak of Edje_Part_Element for any .edj using them.
---
 src/lib/edje/edje_load.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index a65dbd5..f69b59e 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -1608,6 +1608,8 @@ _edje_collection_free(Edje_File *edf, 
Edje_Part_Collection *ec, Edje_Part_Collec
 if(ep-other.desc_rtl)
   free(ep-other.desc_rtl);
 
+   for (j = 0; j  ep-items_count; ++j)
+ free(ep-items[j]);
 free(ep-items);
 // technically need this - but we ASSUME we use one_big so 
everything gets
 // freed in one go lower down when we del the mempool... but what if 
pool goes

-- 




[EGIT] [core/efl] master 03/03: edje: It should never happen, but apparently it does, so assert to get a proper bt.

2013-10-11 Thread Cedric Bail
cedric pushed a commit to branch master.

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

commit 725237df0a8b8cab83c8f38368e5d0389dbd196e
Author: Cedric Bail cedric.b...@samsung.com
Date:   Fri Oct 11 15:15:54 2013 +0900

edje: It should never happen, but apparently it does, so assert to get a 
proper bt.
---
 src/lib/edje/edje_signal.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/lib/edje/edje_signal.c b/src/lib/edje/edje_signal.c
index 1ccb4fb..1ec9b15 100644
--- a/src/lib/edje/edje_signal.c
+++ b/src/lib/edje/edje_signal.c
@@ -201,6 +201,7 @@ _edje_signal_callback_push(const Edje_Signal_Callback_Group 
*cgp,
 Edje_Signal_Callback_Matches *tmp;
 
 tmp = (Edje_Signal_Callback_Matches*) gp-matches;
+
 if (EINA_REFCOUNT_GET(tmp) == 1)
   {
  eina_hash_del(signal_match, tmp, tmp);
@@ -215,6 +216,8 @@ _edje_signal_callback_push(const Edje_Signal_Callback_Group 
*cgp,
(void) 0; // Nothing to do because the case where refcount == 1 
was already handle above.
  gp-matches = tmp_dup;
   }
+
+assert(gp-matches-hashed == 0);
  }
 
// search an empty spot now
@@ -388,7 +391,10 @@ _edje_signal_callback_patterns_ref(const 
Edje_Signal_Callback_Group *gp)
 tmp-patterns = NULL;
 
 _edje_callbacks_patterns_init((Edje_Signal_Callback_Group*) gp);
-eina_hash_add(signal_match, tmp, tmp);
+   eina_hash_add(signal_match, tmp, tmp);
+   // We should be able to use direct_add, but if I do so valgrind stack 
explode and
+   // it bagain to be a pain to debug efl apps. I can't understand what is 
going on.
+// eina_hash_direct_add(signal_match, tmp, tmp);
 tmp-hashed = EINA_TRUE;
  }
else

-- 




[EGIT] [core/efl] master 01/03: eet: log size of subtype added to an Eet_Data_Descriptor.

2013-10-11 Thread Cedric Bail
cedric pushed a commit to branch master.

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

commit c718a4172874a4b539af2ca9697ebe4142fe996c
Author: Cedric Bail cedric.b...@samsung.com
Date:   Fri Oct 11 14:43:35 2013 +0900

eet: log size of subtype added to an Eet_Data_Descriptor.

This is really useful to track down a leak of a memory piece allocated by an
eet_data function. If you know the size of the leaked structure (valgrind
give you the total allocated size and the number of structure in it, so you
need to divide before having the right number), you just need to do :
EINA_LOG_LEVELS=eet:3 my_app 21 | grep the_size

And there will be very few line matching reducing what you should be 
looking at.
---
 src/lib/eet/eet_data.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/src/lib/eet/eet_data.c b/src/lib/eet/eet_data.c
index 23d5504..e4a0d26 100644
--- a/src/lib/eet/eet_data.c
+++ b/src/lib/eet/eet_data.c
@@ -2240,6 +2240,11 @@ eet_data_descriptor_element_add(Eet_Data_Descriptor *edd,
 /*ede-counter_offset = counter_offset; */
ede-counter_name = counter_name;
 
+   if (subtype)
+ INF(Adding '%s' of size %i to '%s' at offset %i., 
+ subtype-name, subtype-size,
+ edd-name, offset);
+
ede-subtype = subtype;
 }
 

-- 




Re: [E-devel] [EGIT] [core/efl] master 04/06: ecore/wayland: Add and initialize subcompositor inside Ecore_Wayland.

2013-10-11 Thread Stefan Schmidt
Hello.

On 10/10/2013 09:11 PM, Rafael Antognolli wrote:
 On Thu, Oct 10, 2013 at 3:32 PM, Rafael Antognolli
 rafael.antogno...@intel.com wrote:
 antognolli pushed a commit to branch master.


 http://git.enlightenment.org/core/efl.git/commit/?id=1cef77bfd784772539a39
 5363b3aecbd3c2655d5

 commit 1cef77bfd784772539a395363b3aecbd3c2655d5
 Author: Rafael Antognolli rafael.antogno...@intel.com
 Date:   Sat Aug 31 15:20:22 2013 -0300

 ecore/wayland: Add and initialize subcompositor inside
 Ecore_Wayland.
 ---
  src/lib/ecore_wayland/Ecore_Wayland.h | 2 ++
  src/lib/ecore_wayland/ecore_wl.c  | 7 +++
  2 files changed, 9 insertions(+)

 diff --git a/src/lib/ecore_wayland/Ecore_Wayland.h
 b/src/lib/ecore_wayland/Ecore_Wayland.h
 index 05ceb00..c9b3e1f 100644
 --- a/src/lib/ecore_wayland/Ecore_Wayland.h
 +++ b/src/lib/ecore_wayland/Ecore_Wayland.h
 @@ -12,6 +12,7 @@
  # include wayland-client.h
  # include wayland-cursor.h
  # include xkbcommon/xkbcommon.h
 +# include subsurface-client-protocol.h
 
 OK, just noticed that this will probably break again,

It does indeed.
lib/ecore_wayland/ecore_wl.c: In function '_ecore_wl_cb_handle_global':
lib/ecore_wayland/ecore_wl.c:524:44: error: 'wl_subcompositor_interface'
undeclared (first use in this function)
lib/ecore_wayland/ecore_wl.c:524:44: note: each undeclared identifier is
reported only once for each function it appears in
make[4]: ***
[lib/ecore_wayland/lib_ecore_wayland_libecore_wayland_la-ecore_wl.lo]
Error 1

 since this
 header is not installed. Not sure why it didn't yet, when building
 Elementary.

What is your setup that it does build for you? Last time you broke th
build with this patchset you wrote it worked for you. I wonder how as it
breaks every time for me.

regards
Stefan Schmidt


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Creating enlightenment module with C++

2013-10-11 Thread Michael Blumenkrantz
On Fri, 11 Oct 2013 03:18:37 +0200
Cedric BAIL cedric.b...@free.fr wrote:

 Hello,
 
 On Fri, Oct 11, 2013 at 2:03 AM, Felipe Magno de Almeida
 felipe.m.alme...@gmail.com wrote:
  Currently, writing modules for enlightenment using C++ is not possible
  without modifying headers from enlightenment.
 
  How is the policy for these headers w.r.t C++ compatibility?
 
  The most common problems are:
  * Lack of extern C;
  * The use of C++ keywords, e.g., class (replaced for klass);
  * Functions and macros defined in the header with implicit conversion
  from unrelated pointer types;
  * Typedefs before definition or declaration of the typedef'ed UDT.
 
 I think there was no real review and attempt to make Enlightenment a
 public stable API. I think there is already ABI/API break between E17
 and E18 (and also possibly E19). So I do think that just fixing all
 mistake is an acceptable policy at this stage (basically patch
 welcome).
 
 Regards,

Currently, no API will be stable across versions, and the public API used by 
few enough people that there is effectively zero feedback.

One of the goals of the next few releases is to make the APIs more stable and 
usable, but this requires a huge amount of work that can only be handled in 
small parts.

A big problem, as has been cited, is the general state of the E headers. This 
isn't really something that I've spent much time on since it's a fairly low 
priority issue, but it will be revisited a bit before the E19 release.

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: Revert eina: use Eina_Spinlock for Eina_Chained_Mempool.

2013-10-11 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 875e7cf74de68d05f6fd28d26ad8bddab7782316
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Fri Oct 11 09:16:47 2013 +0100

Revert eina: use Eina_Spinlock for Eina_Chained_Mempool.

This patch brings in constant E crash for me. It seems to be timing
related which somehow leads to a mem corruption. Revert it for now
to allow people using E while Cedric looks into it.

This reverts commit 12d34309c7c6e3f3041ee576afe93f9ca335059e.
---
 ChangeLog|  3 +--
 NEWS |  2 +-
 .../eina/mp/chained_pool/eina_chained_mempool.c  | 20 ++--
 3 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ba374ef..bc5ce0c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,8 +8,7 @@
 2013-10-11  Cedric Bail
 
* Eina: add Eina_Spinlock API,
-   use Eina_Spinlock in Eina_Log, replace Eina_Lock by Eina_Spinlock in 
Eina_Stringshare,
-   Eina_Chained_Mempool.
+   use Eina_Spinlock in Eina_Log, replace Eina_Lock by Eina_Spinlock in 
Eina_Stringshare.
* Eet: replace Eina_Lock by Eina_Spinlock in Eet_Dictionnary.
* Evas: replace Eina_Lock by Eina_Spinlock in Evas_ScaleCache, 
Evas_Async_Events and Image_Entry.
* Ecore: use Eina_Spinlock for Ecore_Thread.
diff --git a/NEWS b/NEWS
index 210b8f5..fa799cb 100644
--- a/NEWS
+++ b/NEWS
@@ -200,7 +200,7 @@ Improvements:
  - Eina_Tiler now take tile size into account.
  - Improve support for 64bits system.
  - eina_strlcat now work with a NULL source.
- - Use Eina_Spinlock for eina_log, eina_stringshare and chained_mempool.
+ - Use Eina_Spinlock for eina_log, eina_stringshare.
 * Eet:
  - Display more information with eet -l -v.
  - Force thread to always run during eet_cache_concurrency test.
diff --git a/src/modules/eina/mp/chained_pool/eina_chained_mempool.c 
b/src/modules/eina/mp/chained_pool/eina_chained_mempool.c
index b71b79d..c0257b1 100644
--- a/src/modules/eina/mp/chained_pool/eina_chained_mempool.c
+++ b/src/modules/eina/mp/chained_pool/eina_chained_mempool.c
@@ -83,7 +83,7 @@ struct _Chained_Mempool
 #ifdef EINA_HAVE_DEBUG_THREADS
Eina_Thread self;
 #endif
-   Eina_Spinlock mutex;
+   Eina_Lock mutex;
 };
 
 typedef struct _Chained_Pool Chained_Pool;
@@ -262,7 +262,7 @@ eina_chained_mempool_malloc(void *data, EINA_UNUSED 
unsigned int size)
Chained_Pool *p = NULL;
void *mem;
 
-   if (!eina_spinlock_take(pool-mutex))
+   if (!eina_lock_take(pool-mutex))
  {
 #ifdef EINA_HAVE_DEBUG_THREADS
 assert(eina_thread_equal(pool-self, eina_thread_self()));
@@ -288,7 +288,7 @@ eina_chained_mempool_malloc(void *data, EINA_UNUSED 
unsigned int size)
 p = _eina_chained_mp_pool_new(pool);
 if (!p)
   {
- eina_spinlock_release(pool-mutex);
+ eina_lock_release(pool-mutex);
  return NULL;
   }
 
@@ -299,7 +299,7 @@ eina_chained_mempool_malloc(void *data, EINA_UNUSED 
unsigned int size)
 
mem = _eina_chained_mempool_alloc_in(pool, p);
 
-   eina_spinlock_release(pool-mutex);
+   eina_lock_release(pool-mutex);
 
return mem;
 }
@@ -312,7 +312,7 @@ eina_chained_mempool_free(void *data, void *ptr)
Chained_Pool *p;
 
// look 4 pool
-   if (!eina_spinlock_take(pool-mutex))
+   if (!eina_lock_take(pool-mutex))
  {
 #ifdef EINA_HAVE_DEBUG_THREADS
 assert(eina_thread_equal(pool-self, eina_thread_self()));
@@ -343,7 +343,7 @@ eina_chained_mempool_free(void *data, void *ptr)
  }
 #endif
 
-   eina_spinlock_release(pool-mutex);
+   eina_lock_release(pool-mutex);
return;
 }
 
@@ -357,7 +357,7 @@ eina_chained_mempool_repack(void *data,
   Chained_Pool *tail;
 
   /* FIXME: Improvement - per Chained_Pool lock */
-   if (!eina_spinlock_take(pool-mutex))
+   if (!eina_lock_take(pool-mutex))
  {
 #ifdef EINA_HAVE_DEBUG_THREADS
 assert(eina_thread_equal(pool-self, eina_thread_self()));
@@ -430,7 +430,7 @@ eina_chained_mempool_repack(void *data,
  }
 
/* FIXME: improvement - reorder pool so that the most used one get in front 
*/
-   eina_spinlock_release(pool-mutex);
+   eina_lock_release(pool-mutex);
 }
 
 static void *
@@ -486,7 +486,7 @@ eina_chained_mempool_init(const char *context,
mp-self = eina_thread_self();
 #endif
 
-   eina_spinlock_new(mp-mutex);
+   eina_lock_new(mp-mutex);
 
return mp;
 }
@@ -524,7 +524,7 @@ eina_chained_mempool_shutdown(void *data)
VALGRIND_DESTROY_MEMPOOL(mp);
 #endif
 
-   eina_spinlock_free(mp-mutex);
+   eina_lock_free(mp-mutex);
 
 #ifdef EINA_HAVE_DEBUG_THREADS
assert(eina_thread_equal(mp-self, eina_thread_self()));

-- 




[EGIT] [core/efl] master 01/01: eina: that stuff was just for adding a bug in fact.

2013-10-11 Thread Cedric Bail
cedric pushed a commit to branch master.

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

commit 68a4e85483ec50c12ef3984a33e42c3bdd373790
Author: Cedric Bail cedric.b...@samsung.com
Date:   Fri Oct 11 17:28:09 2013 +0900

eina: that stuff was just for adding a bug in fact.
---
 src/lib/eina/eina_inline_lock_posix.x | 17 +++--
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/src/lib/eina/eina_inline_lock_posix.x 
b/src/lib/eina/eina_inline_lock_posix.x
index 4727177..2e5b038 100644
--- a/src/lib/eina/eina_inline_lock_posix.x
+++ b/src/lib/eina/eina_inline_lock_posix.x
@@ -600,27 +600,16 @@ static inline Eina_Lock_Result
 eina_spinlock_take(Eina_Spinlock *spinlock)
 {
 #ifdef EINA_HAVE_POSIX_SPINLOCK
-   Eina_Bool yield;
int t;
 
do {
-  yield = EINA_FALSE;
-
   t = pthread_spin_trylock(spinlock);
   if (t != 0)
 {
-   if (errno == EBUSY)
- {
-sched_yield();
-yield = EINA_TRUE;
- }
-   else if (errno == EDEADLK)
- {
-return EINA_LOCK_DEADLOCK;
- }
+   if (errno == EBUSY) sched_yield();
+   else if (errno == EDEADLK) return EINA_LOCK_DEADLOCK;
 }
-
-   } while (t != 0  yield);
+   } while (t != 0);
 
return t ? EINA_LOCK_FAIL : EINA_LOCK_SUCCEED;
 #else

-- 




[EGIT] [core/efl] master 01/01: Revert Revert eina: use Eina_Spinlock for Eina_Chained_Mempool.

2013-10-11 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit ee155b771ddb8f063105f013c652b65f2ff663c1
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Fri Oct 11 09:32:09 2013 +0100

Revert Revert eina: use Eina_Spinlock for Eina_Chained_Mempool.

You can bet on reverting makes people speed up the process in fixing it.
Revert the revert here now that Cedric fixed it in eina.

This reverts commit 875e7cf74de68d05f6fd28d26ad8bddab7782316.
---
 ChangeLog  |   3 +-
 NEWS   |   2 +-
 src/Makefile_Ecore_Wayland.am  |   1 -
 src/lib/ecore_wayland/Ecore_Wayland.h  |  92 --
 src/lib/ecore_wayland/ecore_wl.c   |   8 -
 src/lib/ecore_wayland/ecore_wl_private.h   |   2 -
 src/lib/ecore_wayland/ecore_wl_subsurf.c   | 191 -
 src/lib/ecore_wayland/ecore_wl_window.c|   2 -
 .../eina/mp/chained_pool/eina_chained_mempool.c|  20 +--
 9 files changed, 13 insertions(+), 308 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index bc5ce0c..ba374ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,7 +8,8 @@
 2013-10-11  Cedric Bail
 
* Eina: add Eina_Spinlock API,
-   use Eina_Spinlock in Eina_Log, replace Eina_Lock by Eina_Spinlock in 
Eina_Stringshare.
+   use Eina_Spinlock in Eina_Log, replace Eina_Lock by Eina_Spinlock in 
Eina_Stringshare,
+   Eina_Chained_Mempool.
* Eet: replace Eina_Lock by Eina_Spinlock in Eet_Dictionnary.
* Evas: replace Eina_Lock by Eina_Spinlock in Evas_ScaleCache, 
Evas_Async_Events and Image_Entry.
* Ecore: use Eina_Spinlock for Ecore_Thread.
diff --git a/NEWS b/NEWS
index fa799cb..210b8f5 100644
--- a/NEWS
+++ b/NEWS
@@ -200,7 +200,7 @@ Improvements:
  - Eina_Tiler now take tile size into account.
  - Improve support for 64bits system.
  - eina_strlcat now work with a NULL source.
- - Use Eina_Spinlock for eina_log, eina_stringshare.
+ - Use Eina_Spinlock for eina_log, eina_stringshare and chained_mempool.
 * Eet:
  - Display more information with eet -l -v.
  - Force thread to always run during eet_cache_concurrency test.
diff --git a/src/Makefile_Ecore_Wayland.am b/src/Makefile_Ecore_Wayland.am
index b2c66a1..607d26e 100644
--- a/src/Makefile_Ecore_Wayland.am
+++ b/src/Makefile_Ecore_Wayland.am
@@ -14,7 +14,6 @@ lib/ecore_wayland/ecore_wl_dnd.c \
 lib/ecore_wayland/ecore_wl_input.c \
 lib/ecore_wayland/ecore_wl_output.c \
 lib/ecore_wayland/ecore_wl_window.c \
-lib/ecore_wayland/ecore_wl_subsurf.c \
 lib/ecore_wayland/ecore_wl_private.h
 
 lib_ecore_wayland_libecore_wayland_la_BUILT_SOURCES = \
diff --git a/src/lib/ecore_wayland/Ecore_Wayland.h 
b/src/lib/ecore_wayland/Ecore_Wayland.h
index 30545b7..05ceb00 100644
--- a/src/lib/ecore_wayland/Ecore_Wayland.h
+++ b/src/lib/ecore_wayland/Ecore_Wayland.h
@@ -35,7 +35,6 @@ typedef struct _Ecore_Wl_Display Ecore_Wl_Display;
 typedef struct _Ecore_Wl_Output Ecore_Wl_Output;
 typedef struct _Ecore_Wl_Input Ecore_Wl_Input;
 typedef struct _Ecore_Wl_Global Ecore_Wl_Global; /** @since 1.7.6 */
-typedef struct _Ecore_Wl_Subsurf Ecore_Wl_Subsurf; /** @since 1.8 */
 
 # ifndef _ECORE_WAYLAND_WINDOW_PREDEF
 typedef struct _Ecore_Wl_Window Ecore_Wl_Window;
@@ -102,7 +101,6 @@ struct _Ecore_Wl_Display
 struct wl_display *display;
 struct wl_registry *registry;
 struct wl_compositor *compositor;
-struct wl_subcompositor *subcompositor;
 struct wl_shell *shell;
 struct wl_shell *desktop_shell;
 struct wl_shm *shm;
@@ -253,8 +251,6 @@ struct _Ecore_Wl_Window
/* FIXME: Ideally we should record the cursor name for this window 
 * so we can compare and avoid unnecessary cursor set calls to wayland */
 
-   Ecore_Wl_Subsurf *subsurfs;
-
void *data;
 };
 
@@ -385,7 +381,6 @@ struct _Ecore_Wl_Event_Interfaces_Bound
  * @li @ref Ecore_Wl_Window_Group
  * @li @ref Ecore_Wl_Input_Group
  * @li @ref Ecore_Wl_Dnd_Group
- * @li @ref Ecore_Wl_Subsurf
  */
 
 EAPI extern int ECORE_WL_EVENT_MOUSE_IN;
@@ -869,93 +864,6 @@ EAPI struct wl_array 
*ecore_wl_dnd_drag_types_get(Ecore_Wl_Input *input);
 
 EAPI void ecore_wl_server_mode_set(Eina_Bool on);
 
-/**
- * @defgroup Ecore_Wl_Subsurf Functions to manipulate subsurfaces.
- * @ingroup Ecore_Wl_Group
- *
- * Functions to manipulate wayland subsurfaces, using Ecore_Wl_Subsurf.
- *
- * This API is intended to expose Wayland subsurface functionality, although it
- * should not be necessary for most applications to use it, as soon as we have
- * means to make Evas automatically switch Evas images to use subsurfaces.
- *
- * It can/should be used, for instance, when subsurfaces are needed to be not
- * in sync with the main window surface.
- */
-
-/**
- * Create and return a new subsurface.
- *
- * Create 

[EGIT] [core/efl] master 02/02: Revert Revert eina: use Eina_Spinlock for Eina_Chained_Mempool.

2013-10-11 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit ac89c082a4962cae00e5d1b92e633bc0f36f5f34
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Fri Oct 11 09:42:49 2013 +0100

Revert Revert eina: use Eina_Spinlock for Eina_Chained_Mempool.

Revert now that it is fixed in eina.

This reverts commit 875e7cf74de68d05f6fd28d26ad8bddab7782316.
---
 ChangeLog|  3 ++-
 NEWS |  2 +-
 .../eina/mp/chained_pool/eina_chained_mempool.c  | 20 ++--
 3 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index bc5ce0c..ba374ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,7 +8,8 @@
 2013-10-11  Cedric Bail
 
* Eina: add Eina_Spinlock API,
-   use Eina_Spinlock in Eina_Log, replace Eina_Lock by Eina_Spinlock in 
Eina_Stringshare.
+   use Eina_Spinlock in Eina_Log, replace Eina_Lock by Eina_Spinlock in 
Eina_Stringshare,
+   Eina_Chained_Mempool.
* Eet: replace Eina_Lock by Eina_Spinlock in Eet_Dictionnary.
* Evas: replace Eina_Lock by Eina_Spinlock in Evas_ScaleCache, 
Evas_Async_Events and Image_Entry.
* Ecore: use Eina_Spinlock for Ecore_Thread.
diff --git a/NEWS b/NEWS
index fa799cb..210b8f5 100644
--- a/NEWS
+++ b/NEWS
@@ -200,7 +200,7 @@ Improvements:
  - Eina_Tiler now take tile size into account.
  - Improve support for 64bits system.
  - eina_strlcat now work with a NULL source.
- - Use Eina_Spinlock for eina_log, eina_stringshare.
+ - Use Eina_Spinlock for eina_log, eina_stringshare and chained_mempool.
 * Eet:
  - Display more information with eet -l -v.
  - Force thread to always run during eet_cache_concurrency test.
diff --git a/src/modules/eina/mp/chained_pool/eina_chained_mempool.c 
b/src/modules/eina/mp/chained_pool/eina_chained_mempool.c
index c0257b1..b71b79d 100644
--- a/src/modules/eina/mp/chained_pool/eina_chained_mempool.c
+++ b/src/modules/eina/mp/chained_pool/eina_chained_mempool.c
@@ -83,7 +83,7 @@ struct _Chained_Mempool
 #ifdef EINA_HAVE_DEBUG_THREADS
Eina_Thread self;
 #endif
-   Eina_Lock mutex;
+   Eina_Spinlock mutex;
 };
 
 typedef struct _Chained_Pool Chained_Pool;
@@ -262,7 +262,7 @@ eina_chained_mempool_malloc(void *data, EINA_UNUSED 
unsigned int size)
Chained_Pool *p = NULL;
void *mem;
 
-   if (!eina_lock_take(pool-mutex))
+   if (!eina_spinlock_take(pool-mutex))
  {
 #ifdef EINA_HAVE_DEBUG_THREADS
 assert(eina_thread_equal(pool-self, eina_thread_self()));
@@ -288,7 +288,7 @@ eina_chained_mempool_malloc(void *data, EINA_UNUSED 
unsigned int size)
 p = _eina_chained_mp_pool_new(pool);
 if (!p)
   {
- eina_lock_release(pool-mutex);
+ eina_spinlock_release(pool-mutex);
  return NULL;
   }
 
@@ -299,7 +299,7 @@ eina_chained_mempool_malloc(void *data, EINA_UNUSED 
unsigned int size)
 
mem = _eina_chained_mempool_alloc_in(pool, p);
 
-   eina_lock_release(pool-mutex);
+   eina_spinlock_release(pool-mutex);
 
return mem;
 }
@@ -312,7 +312,7 @@ eina_chained_mempool_free(void *data, void *ptr)
Chained_Pool *p;
 
// look 4 pool
-   if (!eina_lock_take(pool-mutex))
+   if (!eina_spinlock_take(pool-mutex))
  {
 #ifdef EINA_HAVE_DEBUG_THREADS
 assert(eina_thread_equal(pool-self, eina_thread_self()));
@@ -343,7 +343,7 @@ eina_chained_mempool_free(void *data, void *ptr)
  }
 #endif
 
-   eina_lock_release(pool-mutex);
+   eina_spinlock_release(pool-mutex);
return;
 }
 
@@ -357,7 +357,7 @@ eina_chained_mempool_repack(void *data,
   Chained_Pool *tail;
 
   /* FIXME: Improvement - per Chained_Pool lock */
-   if (!eina_lock_take(pool-mutex))
+   if (!eina_spinlock_take(pool-mutex))
  {
 #ifdef EINA_HAVE_DEBUG_THREADS
 assert(eina_thread_equal(pool-self, eina_thread_self()));
@@ -430,7 +430,7 @@ eina_chained_mempool_repack(void *data,
  }
 
/* FIXME: improvement - reorder pool so that the most used one get in front 
*/
-   eina_lock_release(pool-mutex);
+   eina_spinlock_release(pool-mutex);
 }
 
 static void *
@@ -486,7 +486,7 @@ eina_chained_mempool_init(const char *context,
mp-self = eina_thread_self();
 #endif
 
-   eina_lock_new(mp-mutex);
+   eina_spinlock_new(mp-mutex);
 
return mp;
 }
@@ -524,7 +524,7 @@ eina_chained_mempool_shutdown(void *data)
VALGRIND_DESTROY_MEMPOOL(mp);
 #endif
 
-   eina_lock_free(mp-mutex);
+   eina_spinlock_free(mp-mutex);
 
 #ifdef EINA_HAVE_DEBUG_THREADS
assert(eina_thread_equal(mp-self, eina_thread_self()));

-- 




[EGIT] [core/efl] master 01/02: Revert Revert Revert eina: use Eina_Spinlock for Eina_Chained_Mempool.

2013-10-11 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit ab0f7ca625f2885500a7ef0ac6f1dec2eee66e88
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Fri Oct 11 09:41:22 2013 +0100

Revert Revert Revert eina: use Eina_Spinlock for Eina_Chained_Mempool.

Is there a title for the commiter with the longest revert of a revert list?

I screwed this one up. Had other local changes that sneaked in.
Resetting and doing it right now.

This reverts commit ee155b771ddb8f063105f013c652b65f2ff663c1.
---
 ChangeLog  |   3 +-
 NEWS   |   2 +-
 src/Makefile_Ecore_Wayland.am  |   1 +
 src/lib/ecore_wayland/Ecore_Wayland.h  |  92 ++
 src/lib/ecore_wayland/ecore_wl.c   |   8 +
 src/lib/ecore_wayland/ecore_wl_private.h   |   2 +
 src/lib/ecore_wayland/ecore_wl_subsurf.c   | 191 +
 src/lib/ecore_wayland/ecore_wl_window.c|   2 +
 .../eina/mp/chained_pool/eina_chained_mempool.c|  20 +--
 9 files changed, 308 insertions(+), 13 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ba374ef..bc5ce0c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,8 +8,7 @@
 2013-10-11  Cedric Bail
 
* Eina: add Eina_Spinlock API,
-   use Eina_Spinlock in Eina_Log, replace Eina_Lock by Eina_Spinlock in 
Eina_Stringshare,
-   Eina_Chained_Mempool.
+   use Eina_Spinlock in Eina_Log, replace Eina_Lock by Eina_Spinlock in 
Eina_Stringshare.
* Eet: replace Eina_Lock by Eina_Spinlock in Eet_Dictionnary.
* Evas: replace Eina_Lock by Eina_Spinlock in Evas_ScaleCache, 
Evas_Async_Events and Image_Entry.
* Ecore: use Eina_Spinlock for Ecore_Thread.
diff --git a/NEWS b/NEWS
index 210b8f5..fa799cb 100644
--- a/NEWS
+++ b/NEWS
@@ -200,7 +200,7 @@ Improvements:
  - Eina_Tiler now take tile size into account.
  - Improve support for 64bits system.
  - eina_strlcat now work with a NULL source.
- - Use Eina_Spinlock for eina_log, eina_stringshare and chained_mempool.
+ - Use Eina_Spinlock for eina_log, eina_stringshare.
 * Eet:
  - Display more information with eet -l -v.
  - Force thread to always run during eet_cache_concurrency test.
diff --git a/src/Makefile_Ecore_Wayland.am b/src/Makefile_Ecore_Wayland.am
index 607d26e..b2c66a1 100644
--- a/src/Makefile_Ecore_Wayland.am
+++ b/src/Makefile_Ecore_Wayland.am
@@ -14,6 +14,7 @@ lib/ecore_wayland/ecore_wl_dnd.c \
 lib/ecore_wayland/ecore_wl_input.c \
 lib/ecore_wayland/ecore_wl_output.c \
 lib/ecore_wayland/ecore_wl_window.c \
+lib/ecore_wayland/ecore_wl_subsurf.c \
 lib/ecore_wayland/ecore_wl_private.h
 
 lib_ecore_wayland_libecore_wayland_la_BUILT_SOURCES = \
diff --git a/src/lib/ecore_wayland/Ecore_Wayland.h 
b/src/lib/ecore_wayland/Ecore_Wayland.h
index 05ceb00..30545b7 100644
--- a/src/lib/ecore_wayland/Ecore_Wayland.h
+++ b/src/lib/ecore_wayland/Ecore_Wayland.h
@@ -35,6 +35,7 @@ typedef struct _Ecore_Wl_Display Ecore_Wl_Display;
 typedef struct _Ecore_Wl_Output Ecore_Wl_Output;
 typedef struct _Ecore_Wl_Input Ecore_Wl_Input;
 typedef struct _Ecore_Wl_Global Ecore_Wl_Global; /** @since 1.7.6 */
+typedef struct _Ecore_Wl_Subsurf Ecore_Wl_Subsurf; /** @since 1.8 */
 
 # ifndef _ECORE_WAYLAND_WINDOW_PREDEF
 typedef struct _Ecore_Wl_Window Ecore_Wl_Window;
@@ -101,6 +102,7 @@ struct _Ecore_Wl_Display
 struct wl_display *display;
 struct wl_registry *registry;
 struct wl_compositor *compositor;
+struct wl_subcompositor *subcompositor;
 struct wl_shell *shell;
 struct wl_shell *desktop_shell;
 struct wl_shm *shm;
@@ -251,6 +253,8 @@ struct _Ecore_Wl_Window
/* FIXME: Ideally we should record the cursor name for this window 
 * so we can compare and avoid unnecessary cursor set calls to wayland */
 
+   Ecore_Wl_Subsurf *subsurfs;
+
void *data;
 };
 
@@ -381,6 +385,7 @@ struct _Ecore_Wl_Event_Interfaces_Bound
  * @li @ref Ecore_Wl_Window_Group
  * @li @ref Ecore_Wl_Input_Group
  * @li @ref Ecore_Wl_Dnd_Group
+ * @li @ref Ecore_Wl_Subsurf
  */
 
 EAPI extern int ECORE_WL_EVENT_MOUSE_IN;
@@ -864,6 +869,93 @@ EAPI struct wl_array 
*ecore_wl_dnd_drag_types_get(Ecore_Wl_Input *input);
 
 EAPI void ecore_wl_server_mode_set(Eina_Bool on);
 
+/**
+ * @defgroup Ecore_Wl_Subsurf Functions to manipulate subsurfaces.
+ * @ingroup Ecore_Wl_Group
+ *
+ * Functions to manipulate wayland subsurfaces, using Ecore_Wl_Subsurf.
+ *
+ * This API is intended to expose Wayland subsurface functionality, although it
+ * should not be necessary for most applications to use it, as soon as we have
+ * means to make Evas automatically switch Evas images to use subsurfaces.
+ *
+ * It can/should be used, for instance, when subsurfaces are needed to be not
+ * in sync with the main window surface.
+ */
+

Re: [E-devel] [EGIT] [core/efl] master 04/06: ecore/wayland: Add and initialize subcompositor inside Ecore_Wayland.

2013-10-11 Thread Stefan Schmidt
Hello.

On 10/11/2013 07:28 AM, Stefan Schmidt wrote:
 Hello.
 
 On 10/10/2013 09:11 PM, Rafael Antognolli wrote:
 On Thu, Oct 10, 2013 at 3:32 PM, Rafael Antognolli
 rafael.antogno...@intel.com wrote:
 antognolli pushed a commit to branch master.



 http://git.enlightenment.org/core/efl.git/commit/?id=1cef77bfd784772539a39
 5363b3aecbd3c2655d5

 commit 1cef77bfd784772539a395363b3aecbd3c2655d5
 Author: Rafael Antognolli rafael.antogno...@intel.com
 Date:   Sat Aug 31 15:20:22 2013 -0300

 ecore/wayland: Add and initialize subcompositor inside
 Ecore_Wayland.
 ---
  src/lib/ecore_wayland/Ecore_Wayland.h | 2 ++
  src/lib/ecore_wayland/ecore_wl.c  | 7 +++
  2 files changed, 9 insertions(+)

 diff --git a/src/lib/ecore_wayland/Ecore_Wayland.h
 b/src/lib/ecore_wayland/Ecore_Wayland.h
 index 05ceb00..c9b3e1f 100644
 --- a/src/lib/ecore_wayland/Ecore_Wayland.h
 +++ b/src/lib/ecore_wayland/Ecore_Wayland.h
 @@ -12,6 +12,7 @@
  # include wayland-client.h
  # include wayland-cursor.h
  # include xkbcommon/xkbcommon.h
 +# include subsurface-client-protocol.h

 OK, just noticed that this will probably break again,
 
 It does indeed.
 lib/ecore_wayland/ecore_wl.c: In function '_ecore_wl_cb_handle_global':
 lib/ecore_wayland/ecore_wl.c:524:44: error: 'wl_subcompositor_interface'
 undeclared (first use in this function)
 lib/ecore_wayland/ecore_wl.c:524:44: note: each undeclared identifier is
 reported only once for each function it appears in
 make[4]: ***
 [lib/ecore_wayland/lib_ecore_wayland_libecore_wayland_la-ecore_wl.lo]
 Error 1

My fault. See below.

 since this
 header is not installed. Not sure why it didn't yet, when building
 Elementary.
 
 What is your setup that it does build for you? Last time you broke th
 build with this patchset you wrote it worked for you. I wonder how as it
 breaks every time for me.

Ignore me on this. Sorry for bothering you. It was a local problem. Did
not have wayland-scanner in path thus an empty header was generated. I
fixed the scanner problem but the header was already there and not
overridden before I did a complete clean build.

All this while battling with E crashes due to one of Cedrics changes.
Excuses I know. :)

regards
Stefan Schmidt

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [themes/dark] master 01/01: add bug note in theme edc

2013-10-11 Thread Rasterman
raster pushed a commit to branch master.

http://git.enlightenment.org/themes/dark.git/commit/?id=a7a444680bdc6b8750cd089097ee4ca1ae7aeae0

commit a7a444680bdc6b8750cd089097ee4ca1ae7aeae0
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Fri Oct 11 18:21:02 2013 +0900

add bug note in theme edc
---
 edje/dark.edc  |  1 +
 edje/edc/elm/button.edc|  2 ++
 edje/edc/elm/naviframe.edc | 45 +
 3 files changed, 48 insertions(+)

diff --git a/edje/dark.edc b/edje/dark.edc
index 89c5d90..480acb2 100644
--- a/edje/dark.edc
+++ b/edje/dark.edc
@@ -63,6 +63,7 @@ collections {
 #include edc/elm/panel.edc
 #include edc/elm/popup.edc
 #include edc/elm/border.edc
+// XXX: min size calc problems - too wide!
 #include edc/elm/spinner.edc
 #include edc/elm/menu.edc
 #include edc/elm/clock.edc
diff --git a/edje/edc/elm/button.edc b/edje/edc/elm/button.edc
index 49dff06..71d91a4 100644
--- a/edje/edc/elm/button.edc
+++ b/edje/edc/elm/button.edc
@@ -1,4 +1,6 @@
 group { name: elm/button/base/default;
+   alias: elm/button/base/naviframe/back_btn/default;
+   alias: elm/button/base/naviframe/back_btn/pager;
images.image: button_normal.png COMP;
images.image: button_clicked.png COMP;
 #define ICON 1
diff --git a/edje/edc/elm/naviframe.edc b/edje/edc/elm/naviframe.edc
index 7ee276f..0ce957e 100644
--- a/edje/edc/elm/naviframe.edc
+++ b/edje/edc/elm/naviframe.edc
@@ -113,9 +113,54 @@ group { name: elm/naviframe/item/basic/default;
 
 group { name: elm/naviframe/item/overlap/default;
alias: elm/naviframe/item/overlap/pager;
+// same as elm/naviframe/item/basic/default content
 }
 #endif
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 #if 0
 group { name: elm/naviframe/item/basic/default;
alias: elm/naviframe/item/basic/pager; /** this was remained for the 
backward compatibility */

-- 




[EGIT] [core/elementary] master 01/01: elm_win: Fixed warning after 99ab56d5

2013-10-11 Thread Ryuan Choi
ryuan pushed a commit to branch master.

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

commit d16468d6afef1ba05098b1d6e21637d465dd50eb
Author: Ryuan Choi ryuan.c...@gmail.com
Date:   Fri Oct 11 21:52:15 2013 +0900

elm_win: Fixed warning after 99ab56d5

ELM_WIDGET_SUB_ID_THEME needs to return Eina_Bool.
In addition, calls the super function of ELM_WIDGET_SUB_ID_THEME.

Reproduce step is changing profile in elementary_config.
---
 src/lib/elm_win.c | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index f7a5ffe..fcff212 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -5211,8 +5211,18 @@ static void
 _elm_win_smart_theme(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED)
 {
Elm_Win_Smart_Data *sd = _pd;
+   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+   Eina_Bool int_ret = EINA_FALSE;
+
+   if (ret) *ret = EINA_TRUE;
+
+   eo_do_super(obj, MY_CLASS, elm_wdg_theme(int_ret));
+   if (!int_ret) return;
+
sd-focus_highlight.theme_changed = EINA_TRUE;
_elm_win_focus_highlight_reconfigure_job_start(sd);
+
+   if (ret) *ret = EINA_TRUE;
 }
 
 static void

-- 




Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm_win: Fixed warning after 99ab56d5

2013-10-11 Thread Tom Hacohen
Hey Ryuan (and everyone),

This commit does not fix a warning. I mean it might fix a warning, but 
that's not the most important thing about this commit. The most 
important things about this commit are:
1. Fix the correct return value.
2. Fix call to the super function.

Both are essential and super important (making this fix awesome), while 
fixing a warning sounds simple.

While the commit message itself is good, the summary line is not, and 
the summary line is the most important line for people 
skimming/reviewing commits.

--
Tom.

On 11/10/13 14:08, Ryuan Choi wrote:
 ryuan pushed a commit to branch master.

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

 commit d16468d6afef1ba05098b1d6e21637d465dd50eb
 Author: Ryuan Choi ryuan.c...@gmail.com
 Date:   Fri Oct 11 21:52:15 2013 +0900

  elm_win: Fixed warning after 99ab56d5

  ELM_WIDGET_SUB_ID_THEME needs to return Eina_Bool.
  In addition, calls the super function of ELM_WIDGET_SUB_ID_THEME.

  Reproduce step is changing profile in elementary_config.
 ---
   src/lib/elm_win.c | 10 ++
   1 file changed, 10 insertions(+)

 diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
 index f7a5ffe..fcff212 100644
 --- a/src/lib/elm_win.c
 +++ b/src/lib/elm_win.c
 @@ -5211,8 +5211,18 @@ static void
   _elm_win_smart_theme(Eo *obj EINA_UNUSED, void *_pd, va_list *list 
 EINA_UNUSED)
   {
  Elm_Win_Smart_Data *sd = _pd;
 +   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
 +   Eina_Bool int_ret = EINA_FALSE;
 +
 +   if (ret) *ret = EINA_TRUE;
 +
 +   eo_do_super(obj, MY_CLASS, elm_wdg_theme(int_ret));
 +   if (!int_ret) return;
 +
  sd-focus_highlight.theme_changed = EINA_TRUE;
  _elm_win_focus_highlight_reconfigure_job_start(sd);
 +
 +   if (ret) *ret = EINA_TRUE;
   }

   static void



--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [apps/terminology] master 01/01: mild (and inherited) will have brighter colors.

2013-10-11 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=9b1bd2c95907ac1571adefcdf601ed50c9590f0c

commit 9b1bd2c95907ac1571adefcdf601ed50c9590f0c
Author: Gustavo Sverzut Barbieri barbi...@profusion.mobi
Date:   Fri Oct 11 10:44:50 2013 -0300

mild (and inherited) will have brighter colors.

Copied the default.edc colors so mild, black and mustang should have
colors more vivid and brighter... particularly the yellow (1;33) was
annoying me.
---
 data/themes/mild.edc | 74 
 1 file changed, 74 insertions(+)

diff --git a/data/themes/mild.edc b/data/themes/mild.edc
index d1fba5c..e86ed3c 100644
--- a/data/themes/mild.edc
+++ b/data/themes/mild.edc
@@ -15,6 +15,80 @@
 
 collections {
group { name: terminology/background;
+
+   /* same as from default.edc (not solarized) */
+  color_classes {
+ color_class { name: color-0;  color: 170 170 170 255; } // 
COL_DEF
+ color_class { name: color-1;  color:   0   0   0 255; } // 
COL_BLACK
+ color_class { name: color-2;  color: 204  51  51 255; } // 
COL_RED
+ color_class { name: color-3;  color:  51 204  51 255; } // 
COL_GREEN
+ color_class { name: color-4;  color: 204 136  51 255; } // 
COL_YELLOW
+ color_class { name: color-5;  color:  51  51 204 255; } // 
COL_BLUE
+ color_class { name: color-6;  color: 204  51 204 255; } // 
COL_MAGENTA
+ color_class { name: color-7;  color:  51 204 204 255; } // 
COL_CYAN
+ color_class { name: color-8;  color: 204 204 204 255; } // 
COL_WHITE
+ color_class { name: color-9;  color:   0   0   0   0; } // 
COL_INVIS
+ color_class { name: color-10; color:  34  34  34 255; } // 
COL_INVERSE
+ color_class { name: color-11; color: 170 170 170 255; } // 
COL_INVERSEBG
+
+ color_class { name: color-12; color: 238 238 238 255; } // 
COL_DEF
+ color_class { name: color-13; color: 102 102 102 255; } // 
COL_BLACK
+ color_class { name: color-14; color: 255 102 102 255; } // 
COL_RED
+ color_class { name: color-15; color: 102 255 102 255; } // 
COL_GREEN
+ color_class { name: color-16; color: 255 255 102 255; } // 
COL_YELLOW
+ color_class { name: color-17; color: 102 102 255 255; } // 
COL_BLUE
+ color_class { name: color-18; color: 255 102 255 255; } // 
COL_MAGENTA
+ color_class { name: color-19; color: 102 255 255 255; } // 
COL_CYAN
+ color_class { name: color-20; color: 255 255 255 255; } // 
COL_WHITE
+ color_class { name: color-21; color:   0   0   0   0; } // 
COL_INVIS
+ color_class { name: color-22; color:  17  17  17 255; } // 
COL_INVERSE
+ color_class { name: color-23; color: 238 238 238 255; } // 
COL_INVERSEBG
+
+ color_class { name: color-24; color: 221 221 221 255; } // 
COL_DEF
+ color_class { name: color-25; color:   0   0   0 255; } // 
COL_BLACK
+ color_class { name: color-26; color: 204 136 136 255; } // 
COL_RED
+ color_class { name: color-27; color: 136 204 136 255; } // 
COL_GREEN
+ color_class { name: color-28; color: 204 170 136 255; } // 
COL_YELLOW
+ color_class { name: color-29; color: 136 136 204 255; } // 
COL_BLUE
+ color_class { name: color-30; color: 204 136 204 255; } // 
COL_MAGENTA
+ color_class { name: color-31; color: 136 204 204 255; } // 
COL_CYAN
+ color_class { name: color-32; color: 204 204 204 255; } // 
COL_WHITE
+ color_class { name: color-33; color:   0   0   0   0; } // 
COL_INVIS
+ color_class { name: color-34; color:  17  17  17 255; } // 
COL_INVERSE
+ color_class { name: color-35; color: 204 204 204 255; } // 
COL_INVERSEBG
+
+ color_class { name: color-36; color: 255 255 255 255; } // 
COL_DEF
+ color_class { name: color-37; color: 204 204 204 255; } // 
COL_BLACK
+ color_class { name: color-38; color: 255 204 204 255; } // 
COL_RED
+ color_class { name: color-39; color: 204 255 204 255; } // 
COL_GREEN
+ color_class { name: color-40; color: 255 255 204 255; } // 
COL_YELLOW
+ color_class { name: color-41; color: 204 204 255 255; } // 
COL_BLUE
+ color_class { name: color-42; color: 255 204 255 255; } // 
COL_MAGENTA
+ color_class { name: color-43; color: 204 255 255 255; } // 
COL_CYAN
+ color_class { name: color-44; color: 255 255 255 255; } // 
COL_WHITE
+ color_class { name: color-45; color:   0   0   0   0; } // 
COL_INVIS
+ color_class { name: color-46; color:   0   0   0 255; } // 
COL_INVERSE
+ color_class { name: color-47; color: 255 255 255 255; } // 
COL_INVERSEBG
+
+ 

Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm_win: Fixed warning after 99ab56d5

2013-10-11 Thread ryuan Choi
OK, I understood your point.

I did not escape the view point that I started to dig it.

I will try to make summary line more informative, next time.


Best Regard,
Ryuan Choi


2013/10/11 Tom Hacohen tom.haco...@samsung.com

 Hey Ryuan (and everyone),

 This commit does not fix a warning. I mean it might fix a warning, but
 that's not the most important thing about this commit. The most
 important things about this commit are:
 1. Fix the correct return value.
 2. Fix call to the super function.

 Both are essential and super important (making this fix awesome), while
 fixing a warning sounds simple.

 While the commit message itself is good, the summary line is not, and
 the summary line is the most important line for people
 skimming/reviewing commits.

 --
 Tom.

 On 11/10/13 14:08, Ryuan Choi wrote:
  ryuan pushed a commit to branch master.
 
 
 http://git.enlightenment.org/core/elementary.git/commit/?id=d16468d6afef1ba05098b1d6e21637d465dd50eb
 
  commit d16468d6afef1ba05098b1d6e21637d465dd50eb
  Author: Ryuan Choi ryuan.c...@gmail.com
  Date:   Fri Oct 11 21:52:15 2013 +0900
 
   elm_win: Fixed warning after 99ab56d5
 
   ELM_WIDGET_SUB_ID_THEME needs to return Eina_Bool.
   In addition, calls the super function of ELM_WIDGET_SUB_ID_THEME.
 
   Reproduce step is changing profile in elementary_config.
  ---
src/lib/elm_win.c | 10 ++
1 file changed, 10 insertions(+)
 
  diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
  index f7a5ffe..fcff212 100644
  --- a/src/lib/elm_win.c
  +++ b/src/lib/elm_win.c
  @@ -5211,8 +5211,18 @@ static void
_elm_win_smart_theme(Eo *obj EINA_UNUSED, void *_pd, va_list *list
 EINA_UNUSED)
{
   Elm_Win_Smart_Data *sd = _pd;
  +   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
  +   Eina_Bool int_ret = EINA_FALSE;
  +
  +   if (ret) *ret = EINA_TRUE;
  +
  +   eo_do_super(obj, MY_CLASS, elm_wdg_theme(int_ret));
  +   if (!int_ret) return;
  +
   sd-focus_highlight.theme_changed = EINA_TRUE;
   _elm_win_focus_highlight_reconfigure_job_start(sd);
  +
  +   if (ret) *ret = EINA_TRUE;
}
 
static void
 



 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
 from
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm_win: Fixed warning after 99ab56d5

2013-10-11 Thread Tom Hacohen
Awesome, thanks! :)

Anyhow, as I said, looks like a much needed commit.

--
Tom.

On 11/10/13 14:50, ryuan Choi wrote:
 OK, I understood your point.

 I did not escape the view point that I started to dig it.

 I will try to make summary line more informative, next time.


 Best Regard,
 Ryuan Choi


 2013/10/11 Tom Hacohen tom.haco...@samsung.com

 Hey Ryuan (and everyone),

 This commit does not fix a warning. I mean it might fix a warning, but
 that's not the most important thing about this commit. The most
 important things about this commit are:
 1. Fix the correct return value.
 2. Fix call to the super function.

 Both are essential and super important (making this fix awesome), while
 fixing a warning sounds simple.

 While the commit message itself is good, the summary line is not, and
 the summary line is the most important line for people
 skimming/reviewing commits.

 --
 Tom.

 On 11/10/13 14:08, Ryuan Choi wrote:
 ryuan pushed a commit to branch master.


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

 commit d16468d6afef1ba05098b1d6e21637d465dd50eb
 Author: Ryuan Choi ryuan.c...@gmail.com
 Date:   Fri Oct 11 21:52:15 2013 +0900

   elm_win: Fixed warning after 99ab56d5

   ELM_WIDGET_SUB_ID_THEME needs to return Eina_Bool.
   In addition, calls the super function of ELM_WIDGET_SUB_ID_THEME.

   Reproduce step is changing profile in elementary_config.
 ---
src/lib/elm_win.c | 10 ++
1 file changed, 10 insertions(+)

 diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
 index f7a5ffe..fcff212 100644
 --- a/src/lib/elm_win.c
 +++ b/src/lib/elm_win.c
 @@ -5211,8 +5211,18 @@ static void
_elm_win_smart_theme(Eo *obj EINA_UNUSED, void *_pd, va_list *list
 EINA_UNUSED)
{
   Elm_Win_Smart_Data *sd = _pd;
 +   Eina_Bool *ret = va_arg(*list, Eina_Bool *);
 +   Eina_Bool int_ret = EINA_FALSE;
 +
 +   if (ret) *ret = EINA_TRUE;
 +
 +   eo_do_super(obj, MY_CLASS, elm_wdg_theme(int_ret));
 +   if (!int_ret) return;
 +
   sd-focus_highlight.theme_changed = EINA_TRUE;
   _elm_win_focus_highlight_reconfigure_job_start(sd);
 +
 +   if (ret) *ret = EINA_TRUE;
}

static void




 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
 from
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [apps/terminology] master 01/01: unify default colors, fix make dependencies and mustang build.

2013-10-11 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=32876f1a6cebd0853be7bb1953c26f603ae2d4a6

commit 32876f1a6cebd0853be7bb1953c26f603ae2d4a6
Author: Gustavo Sverzut Barbieri barbi...@profusion.mobi
Date:   Fri Oct 11 11:27:18 2013 -0300

unify default colors, fix make dependencies and mustang build.

 - there was an unused default_colors.in.edc that provided the same
   colors as default.edc, with an extra set of colors for 6x6
   colorcube of colors over 16. The extra colors were disabled and the
   file is now used everywhere that need those colors (mild.edc and
   default.edc)

 - mustang.edc included mild.edc but did not depend on it, that's why
   the build break as I changed mild and recompiled, but mustang.edj
   was already there and the lack of dependency didn't ask it to be
   rebuilt.

 - mustang.edc will define INHERIT_PROVIDE_OWN_COLORS so it can
   provide its own colors.
---
 data/themes/Makefile.am   |  8 ++--
 data/themes/default.edc   | 70 +--
 data/themes/default_colors.in.edc | 39 +++-
 data/themes/mild.edc  | 77 +++
 data/themes/mustang.edc   |  1 +
 5 files changed, 32 insertions(+), 163 deletions(-)

diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am
index 2ba7d14..ddba655 100644
--- a/data/themes/Makefile.am
+++ b/data/themes/Makefile.am
@@ -19,17 +19,17 @@ mustang.edj
 
 EXTRA_DIST = default.edc mild.edc black.edc mustang.edc default_colors.in.edc
 
-default.edj: Makefile default.edc
+default.edj: Makefile default.edc default_colors.in.edc
$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/default.edc \
$(top_builddir)/data/themes/default.edj
 
-mild.edj: Makefile mild.edc
+mild.edj: Makefile mild.edc default_colors.in.edc
$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/mild.edc \
$(top_builddir)/data/themes/mild.edj
 
-black.edj: Makefile black.edc mild.edc
+black.edj: Makefile black.edc mild.edc default_colors.in.edc
$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/black.edc \
$(top_builddir)/data/themes/black.edj
@@ -46,7 +46,7 @@ solarized_light.edj: Makefile default.edc
$(top_srcdir)/data/themes/default.edc \
$(top_builddir)/data/themes/solarized_light.edj
 
-mustang.edj: Makefile mustang.edc
+mustang.edj: Makefile mustang.edc mild.edc default_colors.in.edc
$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/mustang.edc \
$(top_builddir)/data/themes/mustang.edj
diff --git a/data/themes/default.edc b/data/themes/default.edc
index 5900d67..5aba3cf 100644
--- a/data/themes/default.edc
+++ b/data/themes/default.edc
@@ -171,75 +171,7 @@ collections {
   }
 #else  
   color_classes {
- color_class { name: color-0;  color: 170 170 170 255; } // 
COL_DEF
- color_class { name: color-1;  color:   0   0   0 255; } // 
COL_BLACK
- color_class { name: color-2;  color: 204  51  51 255; } // 
COL_RED
- color_class { name: color-3;  color:  51 204  51 255; } // 
COL_GREEN
- color_class { name: color-4;  color: 204 136  51 255; } // 
COL_YELLOW
- color_class { name: color-5;  color:  51  51 204 255; } // 
COL_BLUE
- color_class { name: color-6;  color: 204  51 204 255; } // 
COL_MAGENTA
- color_class { name: color-7;  color:  51 204 204 255; } // 
COL_CYAN
- color_class { name: color-8;  color: 204 204 204 255; } // 
COL_WHITE
- color_class { name: color-9;  color:   0   0   0   0; } // 
COL_INVIS
- color_class { name: color-10; color:  34  34  34 255; } // 
COL_INVERSE
- color_class { name: color-11; color: 170 170 170 255; } // 
COL_INVERSEBG
- 
- color_class { name: color-12; color: 238 238 238 255; } // 
COL_DEF
- color_class { name: color-13; color: 102 102 102 255; } // 
COL_BLACK
- color_class { name: color-14; color: 255 102 102 255; } // 
COL_RED
- color_class { name: color-15; color: 102 255 102 255; } // 
COL_GREEN
- color_class { name: color-16; color: 255 255 102 255; } // 
COL_YELLOW
- color_class { name: color-17; color: 102 102 255 255; } // 
COL_BLUE
- color_class { name: color-18; color: 255 102 255 255; } // 
COL_MAGENTA
- color_class { name: color-19; color: 102 255 255 255; } // 
COL_CYAN
- color_class { name: color-20; color: 255 255 255 255; } // 
COL_WHITE
- color_class { name: color-21; color:   0   0   0   0; } // 
COL_INVIS
- color_class { name: color-22; color:  17  17  17 255; } // 
COL_INVERSE
- color_class { name: color-23; color: 238 238 238 255; } // 
COL_INVERSEBG
- 
- 

[EGIT] [apps/terminology] master 01/01: pretty make output for EDJ.

2013-10-11 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=264a77594ad1c8b1eea5cfe2b742c348829c20a5

commit 264a77594ad1c8b1eea5cfe2b742c348829c20a5
Author: Gustavo Sverzut Barbieri barbi...@profusion.mobi
Date:   Fri Oct 11 11:34:55 2013 -0300

pretty make output for EDJ.

cope with the quiet output and just say EDJ name.edj instead of
multiple lines with the full compile statement.
---
 data/themes/Makefile.am | 17 +++--
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am
index ddba655..05abfea 100644
--- a/data/themes/Makefile.am
+++ b/data/themes/Makefile.am
@@ -17,37 +17,42 @@ solarized.edj \
 solarized_light.edj \
 mustang.edj
 
+AM_V_EDJ = $(am__v_EDJ_$(V))
+am__v_EDJ_ = $(am__v_EDJ_$(AM_DEFAULT_VERBOSITY))
+am__v_EDJ_0 = @echo   EDJ$@;
+
+
 EXTRA_DIST = default.edc mild.edc black.edc mustang.edc default_colors.in.edc
 
 default.edj: Makefile default.edc default_colors.in.edc
-   $(EDJE_CC) $(EDJE_FLAGS) \
+   $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/default.edc \
$(top_builddir)/data/themes/default.edj
 
 mild.edj: Makefile mild.edc default_colors.in.edc
-   $(EDJE_CC) $(EDJE_FLAGS) \
+   $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/mild.edc \
$(top_builddir)/data/themes/mild.edj
 
 black.edj: Makefile black.edc mild.edc default_colors.in.edc
-   $(EDJE_CC) $(EDJE_FLAGS) \
+   $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/black.edc \
$(top_builddir)/data/themes/black.edj
 
 solarized.edj: Makefile default.edc
-   $(EDJE_CC) $(EDJE_FLAGS) \
+   $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
-DSOLARIZED=1 \
$(top_srcdir)/data/themes/default.edc \
$(top_builddir)/data/themes/solarized.edj
 
 solarized_light.edj: Makefile default.edc
-   $(EDJE_CC) $(EDJE_FLAGS) \
+   $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
-DSOLARIZED=1 -DSOLARIZED_LIGHT=1 \
$(top_srcdir)/data/themes/default.edc \
$(top_builddir)/data/themes/solarized_light.edj
 
 mustang.edj: Makefile mustang.edc mild.edc default_colors.in.edc
-   $(EDJE_CC) $(EDJE_FLAGS) \
+   $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/themes/mustang.edc \
$(top_builddir)/data/themes/mustang.edj
 

-- 




Re: [E-devel] [EGIT] [core/efl] master 09/09: ecore: Use Eina_Spinlock for Ecore_Thread.

2013-10-11 Thread Gustavo Sverzut Barbieri
On Thu, Oct 10, 2013 at 11:28 PM, Cedric Bail cedric.b...@samsung.com wrote:
 cedric pushed a commit to branch master.

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

 commit 7caef271dc7d52b119d3ca607ec8721fc2660b5e
 Author: Cedric Bail cedric.b...@samsung.com
 Date:   Thu Oct 10 18:02:00 2013 +0900

 ecore: Use Eina_Spinlock for Ecore_Thread.
 ---
  ChangeLog|   1 +
  NEWS |   2 +
  src/lib/ecore/ecore_thread.c | 156 
 ++-
  3 files changed, 84 insertions(+), 75 deletions(-)

 diff --git a/ChangeLog b/ChangeLog
 index 4109be5..58d181b 100644
 --- a/ChangeLog
 +++ b/ChangeLog
 @@ -5,6 +5,7 @@
 Eina_Chained_Mempool.
 * Eet: replace Eina_Lock by Eina_Spinlock in Eet_Dictionnary.
 * Evas: replace Eina_Lock by Eina_Spinlock in Evas_ScaleCache, 
 Evas_Async_Events and Image_Entry.

this is internal, why does it matter to say we changed an internal
implementation?



-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (19) 9225-2202
Contact: http://www.gustavobarbieri.com.br/contact

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 09/09: ecore: Use Eina_Spinlock for Ecore_Thread.

2013-10-11 Thread Michael Blumenkrantz
On Fri, 11 Oct 2013 11:41:46 -0300
Gustavo Sverzut Barbieri barbi...@gmail.com wrote:

 On Thu, Oct 10, 2013 at 11:28 PM, Cedric Bail cedric.b...@samsung.com wrote:
  cedric pushed a commit to branch master.
 
  http://git.enlightenment.org/core/efl.git/commit/?id=7caef271dc7d52b119d3ca607ec8721fc2660b5e
 
  commit 7caef271dc7d52b119d3ca607ec8721fc2660b5e
  Author: Cedric Bail cedric.b...@samsung.com
  Date:   Thu Oct 10 18:02:00 2013 +0900
 
  ecore: Use Eina_Spinlock for Ecore_Thread.
  ---
   ChangeLog|   1 +
   NEWS |   2 +
   src/lib/ecore/ecore_thread.c | 156 
  ++-
   3 files changed, 84 insertions(+), 75 deletions(-)
 
  diff --git a/ChangeLog b/ChangeLog
  index 4109be5..58d181b 100644
  --- a/ChangeLog
  +++ b/ChangeLog
  @@ -5,6 +5,7 @@
  Eina_Chained_Mempool.
  * Eet: replace Eina_Lock by Eina_Spinlock in Eet_Dictionnary.
  * Evas: replace Eina_Lock by Eina_Spinlock in Evas_ScaleCache, 
  Evas_Async_Events and Image_Entry.
 
 this is internal, why does it matter to say we changed an internal
 implementation?
 
 
 

so people know where the bugs are coming from.

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: eina - and e3fl in general - stop using eina_error_get/set - useless really

2013-10-11 Thread Gustavo Sverzut Barbieri
On Fri, Oct 11, 2013 at 4:50 AM, Carsten Haitzler ras...@rasterman.com wrote:
 raster pushed a commit to branch master.

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

 commit 69e27abdc37f222183ce27f4ce0e3fe2a45ca590
 Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
 Date:   Fri Oct 11 16:49:13 2013 +0900

 eina - and e3fl in general - stop using eina_error_get/set - useless 
 really

while it's not the best thing to use and many places forget to set the
error, knowing which error happened may be useful  -- in the same
lines when you get an EINTR/EAGAIN from syscalls. By just not getting
the results we want we fail to provide context on why it failed :-(

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 09/09: ecore: Use Eina_Spinlock for Ecore_Thread.

2013-10-11 Thread David Seikel
On Fri, 11 Oct 2013 15:44:54 +0100 Michael Blumenkrantz
michael.blumenkra...@gmail.com wrote:

 On Fri, 11 Oct 2013 11:41:46 -0300
 Gustavo Sverzut Barbieri barbi...@gmail.com wrote:
 
  On Thu, Oct 10, 2013 at 11:28 PM, Cedric Bail
  cedric.b...@samsung.com wrote:
   cedric pushed a commit to branch master.
  
   http://git.enlightenment.org/core/efl.git/commit/?id=7caef271dc7d52b119d3ca607ec8721fc2660b5e
  
   commit 7caef271dc7d52b119d3ca607ec8721fc2660b5e
   Author: Cedric Bail cedric.b...@samsung.com
   Date:   Thu Oct 10 18:02:00 2013 +0900
  
   ecore: Use Eina_Spinlock for Ecore_Thread.
   ---
ChangeLog|   1 +
NEWS |   2 +
src/lib/ecore/ecore_thread.c | 156
   ++- 3 files changed, 84
   insertions(+), 75 deletions(-)
  
   diff --git a/ChangeLog b/ChangeLog
   index 4109be5..58d181b 100644
   --- a/ChangeLog
   +++ b/ChangeLog
   @@ -5,6 +5,7 @@
   Eina_Chained_Mempool.
   * Eet: replace Eina_Lock by Eina_Spinlock in
   Eet_Dictionnary.
   * Evas: replace Eina_Lock by Eina_Spinlock in
   Evas_ScaleCache, Evas_Async_Events and Image_Entry.
  
  this is internal, why does it matter to say we changed an internal
  implementation?
  
  
  
 
 so people know where the bugs are coming from.

That's easy, we follow the rule, they come from Cedric.  B-)

-- 
A big old stinking pile of genius that no one wants
coz there are too many silver coated monkeys in the world.


signature.asc
Description: PGP signature
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 09/09: ecore: Use Eina_Spinlock for Ecore_Thread.

2013-10-11 Thread Gustavo Lima Chaves
* Gustavo Sverzut Barbieri barbi...@gmail.com [2013-10-11 11:41:46 -0300]:

 On Thu, Oct 10, 2013 at 11:28 PM, Cedric Bail cedric.b...@samsung.com wrote:
  cedric pushed a commit to branch master.
 
  http://git.enlightenment.org/core/efl.git/commit/?id=7caef271dc7d52b119d3ca607ec8721fc2660b5e
 
  commit 7caef271dc7d52b119d3ca607ec8721fc2660b5e
  Author: Cedric Bail cedric.b...@samsung.com
  Date:   Thu Oct 10 18:02:00 2013 +0900
 
  ecore: Use Eina_Spinlock for Ecore_Thread.
  ---
   ChangeLog|   1 +
   NEWS |   2 +
   src/lib/ecore/ecore_thread.c | 156 
  ++-
   3 files changed, 84 insertions(+), 75 deletions(-)
 
  diff --git a/ChangeLog b/ChangeLog
  index 4109be5..58d181b 100644
  --- a/ChangeLog
  +++ b/ChangeLog
  @@ -5,6 +5,7 @@
  Eina_Chained_Mempool.
  * Eet: replace Eina_Lock by Eina_Spinlock in Eet_Dictionnary.
  * Evas: replace Eina_Lock by Eina_Spinlock in Evas_ScaleCache, 
  Evas_Async_Events and Image_Entry.

And more importantly, can you PLEASE commit you API additions already
documented?  It's fucking annoying (sorry, no other term fits better
here) to have all this legacy behavior of never (or
barely/badly/scarcely) documented functions.

 
 this is internal, why does it matter to say we changed an internal
 implementation?
 
 
 
 -- 
 Gustavo Sverzut Barbieri
 --
 Mobile: +55 (19) 9225-2202
 Contact: http://www.gustavobarbieri.com.br/contact
 
 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

-- 
Gustavo Lima Chaves
Senior Developer @ Intel - Open Source Technology Center

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 09/09: ecore: Use Eina_Spinlock for Ecore_Thread.

2013-10-11 Thread Michael Blumenkrantz
On Fri, 11 Oct 2013 11:56:59 -0300
Gustavo Lima Chaves gl...@profusion.mobi wrote:

 * Gustavo Sverzut Barbieri barbi...@gmail.com [2013-10-11 11:41:46 -0300]:
 
  On Thu, Oct 10, 2013 at 11:28 PM, Cedric Bail cedric.b...@samsung.com 
  wrote:
   cedric pushed a commit to branch master.
  
   http://git.enlightenment.org/core/efl.git/commit/?id=7caef271dc7d52b119d3ca607ec8721fc2660b5e
  
   commit 7caef271dc7d52b119d3ca607ec8721fc2660b5e
   Author: Cedric Bail cedric.b...@samsung.com
   Date:   Thu Oct 10 18:02:00 2013 +0900
  
   ecore: Use Eina_Spinlock for Ecore_Thread.
   ---
ChangeLog|   1 +
NEWS |   2 +
src/lib/ecore/ecore_thread.c | 156 
   ++-
3 files changed, 84 insertions(+), 75 deletions(-)
  
   diff --git a/ChangeLog b/ChangeLog
   index 4109be5..58d181b 100644
   --- a/ChangeLog
   +++ b/ChangeLog
   @@ -5,6 +5,7 @@
   Eina_Chained_Mempool.
   * Eet: replace Eina_Lock by Eina_Spinlock in Eet_Dictionnary.
   * Evas: replace Eina_Lock by Eina_Spinlock in Evas_ScaleCache, 
   Evas_Async_Events and Image_Entry.
 
 And more importantly, can you PLEASE commit you API additions already
 documented?  It's fucking annoying (sorry, no other term fits better
 here) to have all this legacy behavior of never (or
 barely/badly/scarcely) documented functions.
 
  
  this is internal, why does it matter to say we changed an internal
  implementation?

imo it would be good to adopt a policy where any new api that's added without 
documentation gets reverted immediately until the documentation is added. it's 
2013, we've done releases before, this behavior is totally unacceptable.

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 09/09: ecore: Use Eina_Spinlock for Ecore_Thread.

2013-10-11 Thread Tom Hacohen
On 11/10/13 16:00, Michael Blumenkrantz wrote:
 On Fri, 11 Oct 2013 11:56:59 -0300
 Gustavo Lima Chaves gl...@profusion.mobi wrote:

 * Gustavo Sverzut Barbieri barbi...@gmail.com [2013-10-11 11:41:46 -0300]:

 On Thu, Oct 10, 2013 at 11:28 PM, Cedric Bail cedric.b...@samsung.com 
 wrote:
 cedric pushed a commit to branch master.

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

 commit 7caef271dc7d52b119d3ca607ec8721fc2660b5e
 Author: Cedric Bail cedric.b...@samsung.com
 Date:   Thu Oct 10 18:02:00 2013 +0900

  ecore: Use Eina_Spinlock for Ecore_Thread.
 ---
   ChangeLog|   1 +
   NEWS |   2 +
   src/lib/ecore/ecore_thread.c | 156 
 ++-
   3 files changed, 84 insertions(+), 75 deletions(-)

 diff --git a/ChangeLog b/ChangeLog
 index 4109be5..58d181b 100644
 --- a/ChangeLog
 +++ b/ChangeLog
 @@ -5,6 +5,7 @@
  Eina_Chained_Mempool.
  * Eet: replace Eina_Lock by Eina_Spinlock in Eet_Dictionnary.
  * Evas: replace Eina_Lock by Eina_Spinlock in Evas_ScaleCache, 
 Evas_Async_Events and Image_Entry.

 And more importantly, can you PLEASE commit you API additions already
 documented?  It's fucking annoying (sorry, no other term fits better
 here) to have all this legacy behavior of never (or
 barely/badly/scarcely) documented functions.


 this is internal, why does it matter to say we changed an internal
 implementation?

 imo it would be good to adopt a policy where any new api that's added without 
 documentation gets reverted immediately until the documentation is added. 
 it's 2013, we've done releases before, this behavior is totally unacceptable.

Yes, unit tests as well. Our code coverage should increase over time, 
not decrease.

--
Tom.


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 09/09: ecore: Use Eina_Spinlock for Ecore_Thread.

2013-10-11 Thread Michael Blumenkrantz
On Fri, 11 Oct 2013 16:12:39 +0100
Tom Hacohen tom.haco...@samsung.com wrote:

 On 11/10/13 16:00, Michael Blumenkrantz wrote:
  On Fri, 11 Oct 2013 11:56:59 -0300
  Gustavo Lima Chaves gl...@profusion.mobi wrote:
 
  * Gustavo Sverzut Barbieri barbi...@gmail.com [2013-10-11 11:41:46 
  -0300]:
 
  On Thu, Oct 10, 2013 at 11:28 PM, Cedric Bail cedric.b...@samsung.com 
  wrote:
  cedric pushed a commit to branch master.
 
  http://git.enlightenment.org/core/efl.git/commit/?id=7caef271dc7d52b119d3ca607ec8721fc2660b5e
 
  commit 7caef271dc7d52b119d3ca607ec8721fc2660b5e
  Author: Cedric Bail cedric.b...@samsung.com
  Date:   Thu Oct 10 18:02:00 2013 +0900
 
   ecore: Use Eina_Spinlock for Ecore_Thread.
  ---
ChangeLog|   1 +
NEWS |   2 +
src/lib/ecore/ecore_thread.c | 156 
  ++-
3 files changed, 84 insertions(+), 75 deletions(-)
 
  diff --git a/ChangeLog b/ChangeLog
  index 4109be5..58d181b 100644
  --- a/ChangeLog
  +++ b/ChangeLog
  @@ -5,6 +5,7 @@
   Eina_Chained_Mempool.
   * Eet: replace Eina_Lock by Eina_Spinlock in Eet_Dictionnary.
   * Evas: replace Eina_Lock by Eina_Spinlock in Evas_ScaleCache, 
  Evas_Async_Events and Image_Entry.
 
  And more importantly, can you PLEASE commit you API additions already
  documented?  It's fucking annoying (sorry, no other term fits better
  here) to have all this legacy behavior of never (or
  barely/badly/scarcely) documented functions.
 
 
  this is internal, why does it matter to say we changed an internal
  implementation?
 
  imo it would be good to adopt a policy where any new api that's added 
  without documentation gets reverted immediately until the documentation is 
  added. it's 2013, we've done releases before, this behavior is totally 
  unacceptable.
 
 Yes, unit tests as well. Our code coverage should increase over time, 
 not decrease.
 
 --
 Tom.
 

I assume you mean the coverage percentage, and I agree.

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] [core/elementary] Problem of sub object delete during resize object set

2013-10-11 Thread 조재현
Dear all,
 
Hello~ This is Jaehyun Cho.
I need your opinions and ideas related to setting resize object :-) 
 
As you might know if you set the resize object of an object by calling 
elm_widget_resize_object_set,
the previous resize object is removed from the sub object relationship and the 
smart member as well.
 
Therefore, you need to add the sub object relationship and the smart member 
again if you do not want to
remove the relationships.In this case, the sub object's theme can be re-loaded 
even though the parent object's
and the sub object's themes are the same.
 
I discussed about this with Hermet and SeoZ and found 3 possible ways to 
resolve the above case.
Our solutions are the following and I need your opinions. 
 
1. Add one more argument in elm_widget_resize_object_set to identify whether 
remove sub object or not.
   (e.g. Eina_Bool preserve)
- One line is inserted in elm_widget_resize_object_set.
 
- Need to change all the elm_widget_resize_object_set function.
 
2. Add a new internal function for setting resize object without removing sub 
object and smart member.
 - The new function is called in elm_widget_resize_object_set.
 - elm_widget_resize_object_set removes the sub object and the smart member. 
 
3. Add a new internal function for setting resize object as NULL without 
removing sub object and smart member.
- More simple than 2. 
 - The new function can be called in elm_widget_resize_object_set.
 
If you have any opinion about the above solutions or any better idea, please 
reply this email.
 
Thank you.
Jaehyun Cho. 
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Creating enlightenment module with C++

2013-10-11 Thread Felipe Magno de Almeida
On Fri, Oct 11, 2013 at 3:06 AM, Carsten Haitzler ras...@rasterman.com wrote:
 On Fri, 11 Oct 2013 00:03:00 + Felipe Magno de Almeida
 felipe.m.alme...@gmail.com said:

 Hello,

 Currently, writing modules for enlightenment using C++ is not possible
 without modifying headers from enlightenment.

 How is the policy for these headers w.r.t C++ compatibility?

 The most common problems are:
 * Lack of extern C;

 you can always:

 extern C {
 #include e.h
 }
 in your c++ module.

Yes. I can. However, EFL already does this in its headers. Is this
unwanted for enlightenment? I can provide a patch.

 beware. you MUST also ensure your module symbols for init/shutdown etc. are 
 not
 mangled.

 * The use of C++ keywords, e.g., class (replaced for klass);

 like above. you can split your module into the c++ and c sections, having the 
 c
 sections wrap/access e and expose to the c++ section. :) the c++ section never
 sees e includes. :)

Yes I can. But then I would be writing a wrapper in C for
C-without-C++-keywords, which doesn't add much benefit. I can't really
make the wrapper be much different from the E API since most user code
would be in C++ anyway. For example, using e_box from C++ through a C
wrapper, the C wrapper couldn't add any value or abstraction. However,
these modifications aren't hard at all to do and mantain in the E
headers, without requiring the C++ user to make lots of redundant C
headers.

 * Functions and macros defined in the header with implicit conversion
 from unrelated pointer types;
 * Typedefs before definition or declaration of the typedef'ed UDT.

 as above. you can split. create a c interface shim to e that doesnt expose
 these things and exposes a c++ friendly interface... and you need to do this
 split anyway to ensure the module init/shutdown etc. apis are not mangled...

I would rather send patches to make it compatible if there are no
objections. Most keywords can be easily replaced (class/klass) in
headers and inline functions can just use the necessary casts. Not
that hard. And the typedef thing isn't even allowed in C99, it is a
GNU extension.

Though I understand these modifications won't matter if it isn't
constantly tested and maintained, but I wouldn't mind taking this
responsibility.

 so... why would you want a c++ module? (like ALL of it entirely in c++?)

RAII, templates, better type-checking. :). The most important part to
have in C++ is actually at the borders, interacting with C, so the
rest of the C++ code could have some level of RAII, so not being able
to #include the C headers makes using C++ *much harder* because it
would involve repeating the C API in code without a few idiosyncrasies
and maintaining these as E evolves.

 Regards,
 --
 Felipe Magno de Almeida

Regards,
-- 
Felipe Magno de Almeida

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: ecore/wayland: Do not generate subsurface source files.

2013-10-11 Thread Rafael Antognolli
antognolli pushed a commit to branch master.

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

commit c4f1e67686d05fa29215a173d40be6f973f91840
Author: Rafael Antognolli rafael.antogno...@intel.com
Date:   Fri Oct 11 14:10:30 2013 -0300

ecore/wayland: Do not generate subsurface source files.

Add them to the tree, so they don't need to be generated again on each
build. Also remove the autofoo code used for generating them.
---
 configure.ac   |   1 -
 src/Makefile_Ecore_Wayland.am  |  18 +--
 src/lib/ecore_wayland/.gitignore   |   2 -
 src/lib/ecore_wayland/subsurface-client-protocol.h | 167 +
 src/lib/ecore_wayland/subsurface-protocol.c|  71 +
 5 files changed, 239 insertions(+), 20 deletions(-)

diff --git a/configure.ac b/configure.ac
index 8938381..7433177 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1008,7 +1008,6 @@ AC_ARG_ENABLE([wayland],
 
 if test ${want_wayland} = yes; then
EFL_PKG_CHECK_STRICT([wayland-client])
-   AC_PATH_PROG([wayland_scanner], [wayland-scanner], 
[AC_MSG_ERROR(wayland-scanner is needed to compile ecore_wayland protocol)])
 fi
 
 # Fb
diff --git a/src/Makefile_Ecore_Wayland.am b/src/Makefile_Ecore_Wayland.am
index b2c66a1..f11c3a5 100644
--- a/src/Makefile_Ecore_Wayland.am
+++ b/src/Makefile_Ecore_Wayland.am
@@ -15,29 +15,13 @@ lib/ecore_wayland/ecore_wl_input.c \
 lib/ecore_wayland/ecore_wl_output.c \
 lib/ecore_wayland/ecore_wl_window.c \
 lib/ecore_wayland/ecore_wl_subsurf.c \
-lib/ecore_wayland/ecore_wl_private.h
-
-lib_ecore_wayland_libecore_wayland_la_BUILT_SOURCES = \
+lib/ecore_wayland/ecore_wl_private.h \
 lib/ecore_wayland/subsurface-protocol.c \
 lib/ecore_wayland/subsurface-client-protocol.h
 
-CLEANFILES += $(lib_ecore_wayland_libecore_wayland_la_BUILT_SOURCES)
-
-lib_ecore_wayland_libecore_wayland_la_SOURCES += 
$(lib_ecore_wayland_libecore_wayland_la_BUILT_SOURCES)
-
-BUILT_SOURCES += $(lib_ecore_wayland_libecore_wayland_la_BUILT_SOURCES)
-
 lib_ecore_wayland_libecore_wayland_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl 
@ECORE_WAYLAND_CFLAGS@
 lib_ecore_wayland_libecore_wayland_la_LIBADD = @ECORE_WAYLAND_LIBS@
 lib_ecore_wayland_libecore_wayland_la_DEPENDENCIES = 
@ECORE_WAYLAND_INTERNAL_LIBS@
 lib_ecore_wayland_libecore_wayland_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
 
-wayland_protocoldir = $(top_srcdir)/data/ecore/ecore_wayland/protocol
-
-lib/ecore_wayland/subsurface-protocol.c: $(wayland_protocoldir)/subsurface.xml
-   $(AM_V_GEN)$(wayland_scanner) code  $  $@
-
-lib/ecore_wayland/subsurface-client-protocol.h: 
$(wayland_protocoldir)/subsurface.xml
-   $(AM_V_GEN)$(wayland_scanner) client-header  $  $@
-
 endif
diff --git a/src/lib/ecore_wayland/.gitignore b/src/lib/ecore_wayland/.gitignore
deleted file mode 100644
index ce73bef..000
--- a/src/lib/ecore_wayland/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-subsurface-protocol.c
-subsurface-client-protocol.h
diff --git a/src/lib/ecore_wayland/subsurface-client-protocol.h 
b/src/lib/ecore_wayland/subsurface-client-protocol.h
new file mode 100644
index 000..5161589
--- /dev/null
+++ b/src/lib/ecore_wayland/subsurface-client-protocol.h
@@ -0,0 +1,167 @@
+/* 
+ * Copyright © 2012-2013 Collabora, Ltd.
+ * 
+ * Permission to use, copy, modify, distribute, and sell this
+ * software and its documentation for any purpose is hereby granted
+ * without fee, provided that the above copyright notice appear in
+ * all copies and that both that copyright notice and this permission
+ * notice appear in supporting documentation, and that the name of
+ * the copyright holders not be used in advertising or publicity
+ * pertaining to distribution of the software without specific,
+ * written prior permission.  The copyright holders make no
+ * representations about the suitability of this software for any
+ * purpose.  It is provided as is without express or implied
+ * warranty.
+ * 
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+
+#ifndef SUBSURFACE_CLIENT_PROTOCOL_H
+#define SUBSURFACE_CLIENT_PROTOCOL_H
+
+#ifdef  __cplusplus
+extern C {
+#endif
+
+#include stdint.h
+#include stddef.h
+#include wayland-client.h
+
+struct wl_client;
+struct wl_resource;
+
+struct wl_subcompositor;
+struct wl_subsurface;
+
+extern const struct wl_interface wl_subcompositor_interface;
+extern const struct wl_interface wl_subsurface_interface;
+
+#ifndef WL_SUBCOMPOSITOR_ERROR_ENUM
+#define 

[EGIT] [legacy/eldbus] master 03/18: eldbus: Mark introspection of parent object as dirty when adding a child object

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=00409211c03ca0dd9e073c6ed1ef9a75099b98b0

commit 00409211c03ca0dd9e073c6ed1ef9a75099b98b0
Author: José Roberto de Souza jose.so...@intel.com
Date:   Mon Aug 19 15:24:17 2013 -0300

eldbus: Mark introspection of parent object as dirty when adding a child 
object
---
 src/lib/eldbus_service.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/eldbus_service.c b/src/lib/eldbus_service.c
index 8f5ec2a..5bf4351 100644
--- a/src/lib/eldbus_service.c
+++ b/src/lib/eldbus_service.c
@@ -676,6 +676,7 @@ _eldbus_service_object_add(Eldbus_Connection *conn, const 
char *path)
  {
 obj-parent-children = eina_inlist_append(obj-parent-children,
EINA_INLIST_GET(obj));
+obj-parent-introspection_dirty = EINA_TRUE;
 return obj;
  }
 

-- 




[EGIT] [legacy/eldbus] master 01/18: eldbus: Fix copy and paste error.

2013-10-11 Thread Stefan Schmidt
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=6337d4e1ed381b7681519c0d5b23708a29cfbd90

commit 6337d4e1ed381b7681519c0d5b23708a29cfbd90
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Fri Aug 9 10:27:54 2013 +0100

eldbus: Fix copy and paste error.

We are in the remove case here. The interfaces_added looks like a missed 
change
from the copy and paste of the add case.

CID 1039671
---
 src/lib/eldbus_object.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eldbus_object.c b/src/lib/eldbus_object.c
index 9b75175..faef28f 100644
--- a/src/lib/eldbus_object.c
+++ b/src/lib/eldbus_object.c
@@ -421,7 +421,7 @@ eldbus_object_event_callback_add(Eldbus_Object *obj, 
Eldbus_Object_Event_Type ty
   
ELDBUS_FDO_INTERFACE_OBJECT_MANAGER,
   InterfacesRemoved,
   _cb_interfaces_removed, obj);
-   EINA_SAFETY_ON_NULL_RETURN(obj-interfaces_added);
+   EINA_SAFETY_ON_NULL_RETURN(obj-interfaces_removed);
eldbus_signal_handler_match_extra_set(obj-interfaces_removed,
 arg0, obj-path, NULL);
break;

-- 




[EGIT] [legacy/eldbus] master 05/18: eldbus: Send property changed signals before close connection

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=12f7da5d2256fba99498efba8fa3916540f18ddb

commit 12f7da5d2256fba99498efba8fa3916540f18ddb
Author: José Roberto de Souza jose.so...@intel.com
Date:   Fri Aug 23 16:54:12 2013 -0300

eldbus: Send property changed signals before close connection
---
 src/lib/eldbus_core.c|   7 ++
 src/lib/eldbus_service.c | 207 ---
 2 files changed, 115 insertions(+), 99 deletions(-)

diff --git a/src/lib/eldbus_core.c b/src/lib/eldbus_core.c
index 3b1e6af..509c2ea 100644
--- a/src/lib/eldbus_core.c
+++ b/src/lib/eldbus_core.c
@@ -1135,6 +1135,13 @@ _eldbus_connection_free(Eldbus_Connection *conn)
conn-refcount = 1;
eldbus_cbs_free_dispatch((conn-cbs_free), conn);
 
+   /**
+* Flush all messages in outgoing queue, also this will send all
+* ObjectManager and Property changed signals of all paths that
+* this connection is server.
+*/
+   dbus_connection_flush(conn-dbus_conn);
+
EINA_INLIST_FOREACH_SAFE(conn-pendings, list, p)
  eldbus_pending_cancel(p);
 
diff --git a/src/lib/eldbus_service.c b/src/lib/eldbus_service.c
index 40a86b0..9402e33 100644
--- a/src/lib/eldbus_service.c
+++ b/src/lib/eldbus_service.c
@@ -974,6 +974,101 @@ fail:
return NULL;
 }
 
+static Eina_Bool
+_idler_propschanged(void *data)
+{
+   Eldbus_Service_Interface *iface = data;
+   Eldbus_Message *msg;
+   Eldbus_Message_Iter *main_iter, *dict, *array_invalidate;
+   Eina_Hash *added = NULL;
+   Property *prop;
+
+   iface-idler_propschanged = NULL;
+
+   added = eina_hash_string_small_new(NULL);
+   msg = eldbus_message_signal_new(iface-obj-path, properties_iface-name,
+  properties_iface-signals[0].name);
+   EINA_SAFETY_ON_NULL_GOTO(msg, error);
+
+   main_iter = eldbus_message_iter_get(msg);
+   if (!eldbus_message_iter_arguments_append(main_iter, sa{sv}, iface-name, 
dict))
+ {
+eldbus_message_unref(msg);
+goto error;
+ }
+
+   if (!iface-props_changed)
+ goto invalidate;
+   while ((prop = eina_array_pop(iface-props_changed)))
+ {
+Eldbus_Message_Iter *entry, *var;
+Eldbus_Message *error_reply = NULL;
+Eina_Bool ret;
+Eldbus_Property_Get_Cb getter = NULL;
+
+if (eina_hash_find(added, prop-property-name))
+  continue;
+eina_hash_add(added, prop-property-name, prop);
+
+if (prop-property-get_func)
+  getter = prop-property-get_func;
+else if (iface-get_func)
+  getter = iface-get_func;
+
+if (!getter || prop-is_invalidate)
+  continue;
+
+EINA_SAFETY_ON_FALSE_GOTO(
+eldbus_message_iter_arguments_append(dict, {sv}, entry), 
error);
+
+eldbus_message_iter_basic_append(entry, 's', prop-property-name);
+var = eldbus_message_iter_container_new(entry, 'v',
+   prop-property-type);
+
+ret = getter(iface, prop-property-name, var, NULL, error_reply);
+if (!ret)
+  {
+ eldbus_message_unref(msg);
+ if (error_reply)
+   {
+  ERR(Error reply was set without pass any input message.);
+  eldbus_message_unref(error_reply);
+   }
+ ERR(Getter of property %s returned error., 
prop-property-name);
+ goto error;
+  }
+
+eldbus_message_iter_container_close(entry, var);
+eldbus_message_iter_container_close(dict, entry);
+ }
+invalidate:
+   eldbus_message_iter_container_close(main_iter, dict);
+
+   eldbus_message_iter_arguments_append(main_iter, as, array_invalidate);
+
+   if (!iface-prop_invalidated)
+ goto end;
+   while ((prop = eina_array_pop(iface-prop_invalidated)))
+ {
+if (!prop-is_invalidate)
+  continue;
+eldbus_message_iter_basic_append(array_invalidate, 's',
+prop-property-name);
+ }
+end:
+   eldbus_message_iter_container_close(main_iter, array_invalidate);
+
+   eldbus_service_signal_send(iface, msg);
+error:
+   if (added)
+ eina_hash_free(added);
+   if (iface-props_changed)
+ eina_array_flush(iface-props_changed);
+   if (iface-prop_invalidated)
+ eina_array_flush(iface-prop_invalidated);
+   return ECORE_CALLBACK_CANCEL;
+}
+
 static void
 _interface_free(Eldbus_Service_Interface *interface)
 {
@@ -985,6 +1080,15 @@ _interface_free(Eldbus_Service_Interface *interface)
interface == objmanager)
  return;
 
+   /**
+* flush props changes before remove interface
+*/
+   if (interface-idler_propschanged)
+ {
+ecore_idler_del(interface-idler_propschanged);
+_idler_propschanged(interface);
+ }
+
eina_hash_free(interface-methods);
while ((sig = eina_array_pop(interface-sign_of_signals)))
  eina_stringshare_del(sig);
@@ -992,8 

[EGIT] [legacy/eldbus] master 04/18: eldbus: Correctly append name of interface removed

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=b2577f99f74d54bf5bb12155241dcb69b7379d3b

commit b2577f99f74d54bf5bb12155241dcb69b7379d3b
Author: José Roberto de Souza jose.so...@intel.com
Date:   Fri Aug 23 16:00:44 2013 -0300

eldbus: Correctly append name of interface removed
---
 src/lib/eldbus_service.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/eldbus_service.c b/src/lib/eldbus_service.c
index 5bf4351..40a86b0 100644
--- a/src/lib/eldbus_service.c
+++ b/src/lib/eldbus_service.c
@@ -750,8 +750,8 @@ _object_manager_iface_removed_emit(Eldbus_Service_Object 
*obj,
const char *name;
Eldbus_Message_Iter *iter, *array;
Eldbus_Message *sig = eldbus_message_signal_new(parent-path,
- 
ELDBUS_FDO_INTERFACE_OBJECT_MANAGER,
- InterfacesRemoved);
+   
ELDBUS_FDO_INTERFACE_OBJECT_MANAGER,
+   InterfacesRemoved);
EINA_SAFETY_ON_NULL_RETURN(sig);
 
iter = eldbus_message_iter_get(sig);
@@ -759,7 +759,7 @@ _object_manager_iface_removed_emit(Eldbus_Service_Object 
*obj,
 
EINA_LIST_FOREACH(obj-iface_removed, l, name)
  {
-eldbus_message_iter_arguments_append(array, name);
+eldbus_message_iter_arguments_append(array, s, name);
 eina_stringshare_del(name);
  }
eldbus_message_iter_container_close(iter, array);

-- 




[EGIT] [legacy/eldbus] master 07/18: eldbus: Empty list of interfaces add/del if there is no parent object manager

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=d85289a3d8a5d179b1f36ba40b93455f9e13b4c1

commit d85289a3d8a5d179b1f36ba40b93455f9e13b4c1
Author: José Roberto de Souza jose.so...@intel.com
Date:   Fri Aug 23 19:47:40 2013 -0300

eldbus: Empty list of interfaces add/del if there is no parent object 
manager
---
 src/lib/eldbus_service.c | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/lib/eldbus_service.c b/src/lib/eldbus_service.c
index 2d9c6dd..11e6322 100644
--- a/src/lib/eldbus_service.c
+++ b/src/lib/eldbus_service.c
@@ -786,7 +786,15 @@ _object_manager_changes_process(void *data)
obj-idler_iface_changed = NULL;
 
if (!parent)
- return EINA_FALSE;
+ {
+const char *name;
+
+obj-iface_added = eina_list_free(obj-iface_added);
+EINA_LIST_FREE(obj-iface_removed, name)
+  eina_stringshare_del(name);
+
+return EINA_FALSE;
+ }
 
if (obj-iface_added)
  _object_manager_iface_added_emit(obj, parent);

-- 




[EGIT] [legacy/eldbus] master 18/18: Merge branch 'backports'

2013-10-11 Thread Etrunko
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=026514f3613091344e20d0bd53bcf81c8e634060

commit 026514f3613091344e20d0bd53bcf81c8e634060
Merge: be1e479 c3003e0
Author: Eduardo Lima (Etrunko) eduardo.l...@intel.com
Date:   Fri Oct 11 16:57:14 2013 -0300

Merge branch 'backports'

 src/lib/Eldbus.h |   1 +
 src/lib/eldbus_core.c|  12 +-
 src/lib/eldbus_freedesktop.c |  14 ++
 src/lib/eldbus_freedesktop.h |  13 +-
 src/lib/eldbus_object.c  |   2 +-
 src/lib/eldbus_pending.c |   8 +-
 src/lib/eldbus_proxy.c   |  46 ---
 src/lib/eldbus_proxy.h   |   6 +
 src/lib/eldbus_service.c | 307 ++-
 9 files changed, 261 insertions(+), 148 deletions(-)

-- 




[EGIT] [legacy/eldbus] master 10/18: eldbus: Send all object manager signals of all childrens before delete path or detach object manager

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=a43c90dae90abd93a3bfaa7dfe9dd9502b8041d9

commit a43c90dae90abd93a3bfaa7dfe9dd9502b8041d9
Author: José Roberto de Souza jose.so...@intel.com
Date:   Mon Aug 26 14:57:27 2013 -0300

eldbus: Send all object manager signals of all childrens before delete path 
or detach object manager
---
 src/lib/eldbus_service.c | 60 
 1 file changed, 51 insertions(+), 9 deletions(-)

diff --git a/src/lib/eldbus_service.c b/src/lib/eldbus_service.c
index 8c44e81..490b045 100644
--- a/src/lib/eldbus_service.c
+++ b/src/lib/eldbus_service.c
@@ -1136,23 +1136,60 @@ _interface_free(Eldbus_Service_Interface *interface)
free(interface);
 }
 
+static void _children_ifaces_add_removed_flush(Eldbus_Service_Object *obj)
+{
+   Eldbus_Service_Object *children;
+
+   EINA_INLIST_FOREACH(obj-children, children)
+ {
+/**
+ * if there a object manager in some child
+ * that object manager is responsible for they
+ * children objects
+ */
+if (!obj-objmanager)
+  _children_ifaces_add_removed_flush(children);
+ }
+
+   if (obj-idler_iface_changed)
+ {
+ecore_idler_del(obj-idler_iface_changed);
+_object_manager_changes_process(obj);
+ }
+}
+
 static void
 _object_free(Eldbus_Service_Object *obj)
 {
Eina_Iterator *iterator;
Eldbus_Service_Interface *iface;
 
-   /* Flush ObjectManager interface before the entire object goes away */
-   if (obj-idler_iface_changed)
+   if (obj-objmanager)
  {
-ecore_idler_del(obj-idler_iface_changed);
-_object_manager_changes_process(obj);
+Eldbus_Service_Object *children;
+
+/**
+ * Flush the iface_add/removed of all children objects
+ * that this object is the ObjectManager
+ */
+EINA_INLIST_FOREACH(obj-children, children)
+  _children_ifaces_add_removed_flush(children);
  }
 
iterator = eina_hash_iterator_data_new(obj-interfaces);
EINA_ITERATOR_FOREACH(iterator, iface)
  _interface_free(iface);
 
+   /**
+* Flush our iface_add/removed if this object are
+* children of some other path with ObjectManager
+*/
+   if (obj-idler_iface_changed)
+ {
+ecore_idler_del(obj-idler_iface_changed);
+_object_manager_changes_process(obj);
+ }
+
while (obj-children)
  {
 Eldbus_Service_Object *child;
@@ -1171,6 +1208,7 @@ _object_free(Eldbus_Service_Object *obj)
  child-parent = NULL;
   }
  }
+
if (obj-parent)
  obj-parent-children = eina_inlist_remove(obj-parent-children,
EINA_INLIST_GET(obj));
@@ -1458,16 +1496,20 @@ 
eldbus_service_object_manager_attach(Eldbus_Service_Interface *iface)
 EAPI Eina_Bool
 eldbus_service_object_manager_detach(Eldbus_Service_Interface *iface)
 {
-   Eldbus_Service_Object *obj;
+   Eldbus_Service_Object *obj, *children;
Eina_Bool ret;
 
ELDBUS_SERVICE_INTERFACE_CHECK_RETVAL(iface, EINA_FALSE);
obj = iface-obj;
+   if (!obj-objmanager)
+ return EINA_TRUE;
 
-   /* Flush our iface_added/iface_removed before our ObjectManager goes away */
-   if (obj-idler_iface_changed)
- ecore_idler_del(obj-idler_iface_changed);
-   _object_manager_changes_process(obj);
+   /**
+* Flush the iface_add/removed of all children objects
+* that this object is the ObjectManager
+*/
+   EINA_INLIST_FOREACH(obj-children, children)
+ _children_ifaces_add_removed_flush(children);
 
ret = eina_hash_del(obj-interfaces, objmanager-name, NULL);
obj-objmanager = NULL;

-- 




[EGIT] [legacy/eldbus] master 15/18: eldbus: Add timeout message error as a macro

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=d301daf536becedc8b869b2d918c6d0db73f5bb4

commit d301daf536becedc8b869b2d918c6d0db73f5bb4
Author: José Roberto de Souza jose.so...@intel.com
Date:   Fri Aug 30 10:52:04 2013 -0300

eldbus: Add timeout message error as a macro
---
 src/lib/Eldbus.h | 1 +
 src/lib/eldbus_pending.c | 8 
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/lib/Eldbus.h b/src/lib/Eldbus.h
index e49061d..fe05f2e 100644
--- a/src/lib/Eldbus.h
+++ b/src/lib/Eldbus.h
@@ -126,6 +126,7 @@ extern C {
 #define ELDBUS_FDO_INTERFACE_INTROSPECTABLE 
org.freedesktop.DBus.Introspectable
 #define ELDBUS_FDO_INTEFACE_PEER org.freedesktop.DBus.Peer
 #define ELDBUS_ERROR_PENDING_CANCELED org.enlightenment.DBus.Canceled
+#define ELDBUS_ERROR_PENDING_TIMEOUT org.enlightenment.DBus.Timeout
 
 typedef struct _Eldbus_Version
 {
diff --git a/src/lib/eldbus_pending.c b/src/lib/eldbus_pending.c
index 4174ac1..bf561bb 100644
--- a/src/lib/eldbus_pending.c
+++ b/src/lib/eldbus_pending.c
@@ -51,8 +51,8 @@ cb_pending(DBusPendingCall *dbus_pending, void *user_data)
 INF(timeout to pending %p, pending);
 dbus_pending_call_cancel(dbus_pending);
 msg = eldbus_message_error_new(pending-msg_sent,
-  org.enlightenment.DBus.Timeout,
-  This call was not completed.);
+   ELDBUS_ERROR_PENDING_TIMEOUT,
+   This call was not completed in time.);
 eldbus_pending_dispatch(pending, msg);
 return;
  }
@@ -218,8 +218,8 @@ eldbus_pending_cancel(Eldbus_Pending *pending)
dbus_pending_call_cancel(pending-dbus_pending);
 
error_message = eldbus_message_error_new(pending-msg_sent,
-   ELDBUS_ERROR_PENDING_CANCELED,
-   Canceled by user.);
+ELDBUS_ERROR_PENDING_CANCELED,
+Canceled by user.);
eldbus_pending_dispatch(pending, error_message);
 }
 

-- 




[EGIT] [legacy/eldbus] master 13/18: eldbus: Make properties_monitor() return a boolean indicating if props are already cached

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=9d1f37cd6b8f0952d90bc80e68da86e7d463d8fe

commit 9d1f37cd6b8f0952d90bc80e68da86e7d463d8fe
Author: José Roberto de Souza jose.so...@intel.com
Date:   Fri Aug 30 10:15:35 2013 -0300

eldbus: Make properties_monitor() return a boolean indicating if props are 
already cached
---
 src/lib/eldbus_freedesktop.h |  9 +++--
 src/lib/eldbus_proxy.c   | 35 ++-
 2 files changed, 25 insertions(+), 19 deletions(-)

diff --git a/src/lib/eldbus_freedesktop.h b/src/lib/eldbus_freedesktop.h
index 46406e6..5644d44 100644
--- a/src/lib/eldbus_freedesktop.h
+++ b/src/lib/eldbus_freedesktop.h
@@ -98,9 +98,14 @@ EAPI Eldbus_Pending
*eldbus_object_introspect(Eldbus_Object *obj, Eldbus_
  * After enable you can call eldbus_proxy_property_local_get() or
  * eldbus_proxy_property_local_get_all() to get cached properties.
  *
- * @note After enable, it will asynchrony get the properties values.
+ * @param proxy bus+path+interface that the properties belong
+ * @param enable enable or disable properties monitor
+ * @return EINA_TRUE if already have cached properties
+ * EINA_FALSE if it will asynchrony get the properties.
+ * You should listen for a ELDBUS_PROXY_EVENT_PROPERTY_LOADED
+ * to know when properties finish to load.
  */
-EAPI void eldbus_proxy_properties_monitor(Eldbus_Proxy *proxy, Eina_Bool 
enable) EINA_ARG_NONNULL(1);
+EAPI Eina_Bool eldbus_proxy_properties_monitor(Eldbus_Proxy *proxy, Eina_Bool 
enable) EINA_ARG_NONNULL(1);
 
 EAPI Eldbus_Pending*eldbus_proxy_property_get(Eldbus_Proxy *proxy, 
const char *name, Eldbus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 
2, 3);
 EAPI Eldbus_Pending*eldbus_proxy_property_set(Eldbus_Proxy *proxy, 
const char *name, const char *sig, const void *value, Eldbus_Message_Cb cb, 
const void *data) EINA_ARG_NONNULL(1, 2, 3, 4);
diff --git a/src/lib/eldbus_proxy.c b/src/lib/eldbus_proxy.c
index 4b2565d..9f02751 100644
--- a/src/lib/eldbus_proxy.c
+++ b/src/lib/eldbus_proxy.c
@@ -757,28 +757,15 @@ _props_get_all(void *data, const Eldbus_Message *msg, 
Eldbus_Pending *pending EI
  event);
 }
 
-EAPI void
+EAPI Eina_Bool
 eldbus_proxy_properties_monitor(Eldbus_Proxy *proxy, Eina_Bool enable)
 {
-   ELDBUS_PROXY_CHECK(proxy);
+   ELDBUS_PROXY_CHECK_RETVAL(proxy, EINA_FALSE);
if (proxy-monitor_enabled == enable)
- return;
+ return proxy-props ? !!eina_hash_population(proxy-props) : EINA_FALSE;
 
proxy-monitor_enabled = enable;
-   if (enable)
- {
-if (!proxy-props)
-  proxy-props = eina_hash_string_superfast_new(_props_cache_free);
-eldbus_proxy_property_get_all(proxy, _props_get_all, proxy);
-
-if (proxy-properties_changed)
-  return;
-proxy-properties_changed =
- eldbus_proxy_properties_changed_callback_add(proxy,
- 
_properties_changed,
- proxy);
- }
-   else
+   if (!enable)
  {
 Eldbus_Proxy_Context_Event *ce_prop_changed, *ce_prop_removed;
 ce_prop_changed = proxy-event_handlers + 
ELDBUS_PROXY_EVENT_PROPERTY_CHANGED;
@@ -794,7 +781,21 @@ eldbus_proxy_properties_monitor(Eldbus_Proxy *proxy, 
Eina_Bool enable)
  eldbus_signal_handler_unref(proxy-properties_changed);
  proxy-properties_changed = NULL;
   }
+return EINA_TRUE;
  }
+
+   if (!proxy-props)
+ proxy-props = eina_hash_string_superfast_new(_props_cache_free);
+
+   eldbus_proxy_property_get_all(proxy, _props_get_all, proxy);
+
+   if (proxy-properties_changed)
+ return !!eina_hash_population(proxy-props);
+   proxy-properties_changed =
+eldbus_proxy_properties_changed_callback_add(proxy,
+ _properties_changed,
+ proxy);
+   return !!eina_hash_population(proxy-props);
 }
 
 EAPI Eina_Value *

-- 




[EGIT] [legacy/eldbus] master 08/18: eldbus: Only a explicit call should unregister a object path

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=f038e764fbf13f8e6039a98db406db94211d4c52

commit f038e764fbf13f8e6039a98db406db94211d4c52
Author: José Roberto de Souza jose.so...@intel.com
Date:   Fri Aug 23 20:06:56 2013 -0300

eldbus: Only a explicit call should unregister a object path
---
 src/lib/eldbus_service.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/lib/eldbus_service.c b/src/lib/eldbus_service.c
index 11e6322..6388dd6 100644
--- a/src/lib/eldbus_service.c
+++ b/src/lib/eldbus_service.c
@@ -1469,8 +1469,5 @@ 
eldbus_service_object_manager_detach(Eldbus_Service_Interface *iface)
ret = eina_hash_del(obj-interfaces, objmanager-name, NULL);
obj-objmanager = NULL;
obj-introspection_dirty = EINA_TRUE;
-   //properties + introspectable
-   if (eina_hash_population(iface-obj-interfaces)  3)
- eldbus_service_object_unregister(iface);
return ret;
 }

-- 




[EGIT] [legacy/eldbus] master 12/18: eldbus: Add a new proxy event to notify when properties are cached

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=5dd315ea6c88ddfb0ce429bb4e1d4824e646884e

commit 5dd315ea6c88ddfb0ce429bb4e1d4824e646884e
Author: José Roberto de Souza jose.so...@intel.com
Date:   Fri Aug 30 10:15:10 2013 -0300

eldbus: Add a new proxy event to notify when properties are cached
---
 src/lib/eldbus_proxy.c | 11 ---
 src/lib/eldbus_proxy.h |  6 ++
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/lib/eldbus_proxy.c b/src/lib/eldbus_proxy.c
index c0fceef..4b2565d 100644
--- a/src/lib/eldbus_proxy.c
+++ b/src/lib/eldbus_proxy.c
@@ -333,7 +333,7 @@ _property_changed_iter(void *data, const void *key, 
Eldbus_Message_Iter *var)
event.value = value;
event.proxy = proxy;
_eldbus_proxy_event_callback_call(proxy, 
ELDBUS_PROXY_EVENT_PROPERTY_CHANGED,
-event);
+ event);
eina_value_free(st_value);
eina_value_flush(stack_value);
 }
@@ -689,7 +689,7 @@ eldbus_proxy_property_get_all(Eldbus_Proxy *proxy, 
Eldbus_Message_Cb cb, const v
 {
ELDBUS_PROXY_CHECK_RETVAL(proxy, NULL);
return eldbus_proxy_call(proxy-obj-properties, GetAll, cb, data, -1,
-   s, proxy-interface);
+s, proxy-interface);
 }
 
 EAPI Eldbus_Signal_Handler *
@@ -698,7 +698,7 @@ eldbus_proxy_properties_changed_callback_add(Eldbus_Proxy 
*proxy, Eldbus_Signal_
Eldbus_Signal_Handler *sh;
ELDBUS_PROXY_CHECK_RETVAL(proxy, NULL);
sh = eldbus_proxy_signal_handler_add(proxy-obj-properties,
-   PropertiesChanged, cb, data);
+PropertiesChanged, cb, data);
EINA_SAFETY_ON_NULL_RETURN_VAL(sh, NULL);
eldbus_signal_handler_match_extra_set(sh, arg0, proxy-interface, NULL);
return sh;
@@ -733,6 +733,7 @@ _props_get_all(void *data, const Eldbus_Message *msg, 
Eldbus_Pending *pending EI
Eldbus_Proxy *proxy = data;
Eldbus_Message_Iter *dict;
const char *name, *error_msg;
+   Eldbus_Proxy_Event_Property_Loaded event;
 
if (eldbus_message_error_get(msg, name, error_msg))
  {
@@ -750,6 +751,10 @@ _props_get_all(void *data, const Eldbus_Message *msg, 
Eldbus_Pending *pending EI
 return;
  }
eldbus_message_iter_dict_iterate(dict, sv, _property_iter, proxy);
+
+   event.proxy = proxy;
+   _eldbus_proxy_event_callback_call(proxy, ELDBUS_PROXY_EVENT_PROPERTY_LOADED,
+ event);
 }
 
 EAPI void
diff --git a/src/lib/eldbus_proxy.h b/src/lib/eldbus_proxy.h
index 9249948..5752001 100644
--- a/src/lib/eldbus_proxy.h
+++ b/src/lib/eldbus_proxy.h
@@ -111,6 +111,7 @@ typedef enum
ELDBUS_PROXY_EVENT_PROPERTY_CHANGED = 0,
ELDBUS_PROXY_EVENT_PROPERTY_REMOVED,
ELDBUS_PROXY_EVENT_DEL,
+   ELDBUS_PROXY_EVENT_PROPERTY_LOADED,
ELDBUS_PROXY_EVENT_LAST/** sentinel, not a real event type */
 } Eldbus_Proxy_Event_Type;
 
@@ -121,6 +122,11 @@ typedef struct _Eldbus_Proxy_Event_Property_Changed
const Eina_Value *value;
 } Eldbus_Proxy_Event_Property_Changed;
 
+typedef struct _Eldbus_Proxy_Event_Property_Loaded
+{
+   const Eldbus_Proxy *proxy;
+} Eldbus_Proxy_Event_Property_Loaded;
+
 typedef struct _Eldbus_Proxy_Event_Property_Removed
 {
const char  *interface;

-- 




[EGIT] [legacy/eldbus] master 06/18: eldbus: Use EINA_LIST_FREE instead of EINA_LIST_FOREACH to send interfaces add

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=b9c0846711efdd6e5e204878de7fe472ad89b6e5

commit b9c0846711efdd6e5e204878de7fe472ad89b6e5
Author: José Roberto de Souza jose.so...@intel.com
Date:   Fri Aug 23 19:45:12 2013 -0300

eldbus: Use EINA_LIST_FREE instead of EINA_LIST_FOREACH to send interfaces 
add
---
 src/lib/eldbus_service.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/eldbus_service.c b/src/lib/eldbus_service.c
index 9402e33..2d9c6dd 100644
--- a/src/lib/eldbus_service.c
+++ b/src/lib/eldbus_service.c
@@ -715,7 +715,6 @@ static void
 _object_manager_iface_added_emit(Eldbus_Service_Object *obj,
  Eldbus_Service_Object *parent)
 {
-   Eina_List *l;
Eldbus_Service_Interface *iface;
Eldbus_Message_Iter *iter, *array;
Eldbus_Message *sig = eldbus_message_signal_new(parent-path,
@@ -726,7 +725,7 @@ _object_manager_iface_added_emit(Eldbus_Service_Object *obj,
eldbus_message_iter_arguments_append(iter, oa{sa{sv}}, obj-path,
array);
 
-   EINA_LIST_FOREACH(obj-iface_added, l, iface)
+   EINA_LIST_FREE(obj-iface_added, iface)
  {
 if (!_propmgr_iface_props_append(iface, array))
   {
@@ -737,6 +736,7 @@ _object_manager_iface_added_emit(Eldbus_Service_Object *obj,
  }
eldbus_message_iter_container_close(iter, array);
eldbus_connection_send(parent-conn, sig, NULL, NULL, -1);
+   return;
 
 done:
obj-iface_added = eina_list_free(obj-iface_added);

-- 




[EGIT] [legacy/eldbus] master 02/18: eldbus: Improve error message when connection get fail

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=61f2bfe7098752962c17fb5c68166c41fa038ce6

commit 61f2bfe7098752962c17fb5c68166c41fa038ce6
Author: José Roberto de Souza jose.so...@intel.com
Date:   Tue Aug 13 15:37:42 2013 -0300

eldbus: Improve error message when connection get fail
---
 src/lib/eldbus_core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/eldbus_core.c b/src/lib/eldbus_core.c
index bd73659..3b1e6af 100644
--- a/src/lib/eldbus_core.c
+++ b/src/lib/eldbus_core.c
@@ -997,7 +997,8 @@ _connection_get(Eldbus_Connection_Type type, const char 
*address)
if (!conn-dbus_conn || dbus_error_is_set(err))
  {
 free(conn);
-ERR(Error connecting to bus: %s, err.message);
+ERR(Error connecting to bus of type %d. error name: %s error message: 
%s,
+type, err.name, err.message);
 return NULL;
  }
 

-- 




[EGIT] [legacy/eldbus] master 16/18: eldbus: Check if interface of signal match with signal handler

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=24bdf4a430066505a0ed24a1918a1f980298b937

commit 24bdf4a430066505a0ed24a1918a1f980298b937
Author: José Roberto de Souza jose.so...@intel.com
Date:   Mon Sep 2 17:07:16 2013 -0300

eldbus: Check if interface of signal match with signal handler

Thanks fgau for pointing this issue.
---
 src/lib/eldbus_core.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/eldbus_core.c b/src/lib/eldbus_core.c
index 509c2ea..a81a60a 100644
--- a/src/lib/eldbus_core.c
+++ b/src/lib/eldbus_core.c
@@ -876,6 +876,8 @@ cb_signal_dispatcher(Eldbus_Connection *conn, DBusMessage 
*msg)
if (!dbus_message_has_sender(msg, sh-sender)) continue;
   }
 if (sh-path  !dbus_message_has_path(msg, sh-path)) continue;
+if (sh-interface  !dbus_message_has_interface(msg, sh-interface))
+  continue;
 if (sh-member  !dbus_message_has_member(msg, sh-member)) continue;
 if (!extra_arguments_check(msg, sh)) continue;
 

-- 




[EGIT] [legacy/eldbus] master 09/18: eldbus: ecore_idler_del() return is the data

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=d51647f0df0409342ec485b9efbbfc569d660379

commit d51647f0df0409342ec485b9efbbfc569d660379
Author: José Roberto de Souza jose.so...@intel.com
Date:   Fri Aug 23 20:44:43 2013 -0300

eldbus: ecore_idler_del() return is the data
---
 src/lib/eldbus_service.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/eldbus_service.c b/src/lib/eldbus_service.c
index 6388dd6..8c44e81 100644
--- a/src/lib/eldbus_service.c
+++ b/src/lib/eldbus_service.c
@@ -1115,7 +1115,10 @@ _interface_free(Eldbus_Service_Interface *interface)
  * Let's not send any signal */
 obj-iface_added = eina_list_remove_list(obj-iface_added, l);
 if (!obj-iface_added  !obj-iface_removed  
obj-idler_iface_changed)
-  obj-idler_iface_changed = ecore_idler_del(obj-idler_iface_changed);
+  {
+ ecore_idler_del(obj-idler_iface_changed);
+ obj-idler_iface_changed = NULL;
+  }
  }
else
  {

-- 




[EGIT] [legacy/eldbus] master 17/18: eldbus: Use FDO error message to timeout

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=c3003e0b016334cb4251564499037459811928d7

commit c3003e0b016334cb4251564499037459811928d7
Author: José Roberto de Souza jose.so...@intel.com
Date:   Tue Sep 10 18:09:43 2013 -0300

eldbus: Use FDO error message to timeout
---
 src/lib/Eldbus.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/Eldbus.h b/src/lib/Eldbus.h
index fe05f2e..cc069a0 100644
--- a/src/lib/Eldbus.h
+++ b/src/lib/Eldbus.h
@@ -126,7 +126,7 @@ extern C {
 #define ELDBUS_FDO_INTERFACE_INTROSPECTABLE 
org.freedesktop.DBus.Introspectable
 #define ELDBUS_FDO_INTEFACE_PEER org.freedesktop.DBus.Peer
 #define ELDBUS_ERROR_PENDING_CANCELED org.enlightenment.DBus.Canceled
-#define ELDBUS_ERROR_PENDING_TIMEOUT org.enlightenment.DBus.Timeout
+#define ELDBUS_ERROR_PENDING_TIMEOUT org.freedesktop.DBus.Error.NoReply
 
 typedef struct _Eldbus_Version
 {

-- 




[EGIT] [legacy/eldbus] master 14/18: eldbus: Add eldbus_object_manager_interfaces_added/removed()

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=a5cfb3e7bbc899043331953d000892b971b314ed

commit a5cfb3e7bbc899043331953d000892b971b314ed
Author: José Roberto de Souza jose.so...@intel.com
Date:   Fri Aug 30 10:23:28 2013 -0300

eldbus: Add eldbus_object_manager_interfaces_added/removed()
---
 src/lib/eldbus_freedesktop.c | 14 ++
 src/lib/eldbus_freedesktop.h |  4 
 2 files changed, 18 insertions(+)

diff --git a/src/lib/eldbus_freedesktop.c b/src/lib/eldbus_freedesktop.c
index 2862753..f0a79bd 100644
--- a/src/lib/eldbus_freedesktop.c
+++ b/src/lib/eldbus_freedesktop.c
@@ -81,6 +81,20 @@ eldbus_object_managed_objects_get(Eldbus_Object *obj, 
Eldbus_Message_Cb cb, cons
return p;
 }
 
+EAPI Eldbus_Signal_Handler *
+eldbus_object_manager_interfaces_added(Eldbus_Object *obj, Eldbus_Signal_Cb 
cb, const void *cb_data)
+{
+   return eldbus_object_signal_handler_add(obj, 
ELDBUS_FDO_INTERFACE_OBJECT_MANAGER,
+   InterfacesAdded, cb, cb_data);
+}
+
+EAPI Eldbus_Signal_Handler *
+eldbus_object_manager_interfaces_removed(Eldbus_Object *obj, Eldbus_Signal_Cb 
cb, const void *cb_data)
+{
+   return eldbus_object_signal_handler_add(obj, 
ELDBUS_FDO_INTERFACE_OBJECT_MANAGER,
+   InterfacesRemoved, cb, cb_data);
+}
+
 EAPI Eldbus_Pending *
 eldbus_hello(Eldbus_Connection *conn, Eldbus_Message_Cb cb, const void 
*cb_data)
 {
diff --git a/src/lib/eldbus_freedesktop.h b/src/lib/eldbus_freedesktop.h
index 5644d44..8a66b06 100644
--- a/src/lib/eldbus_freedesktop.h
+++ b/src/lib/eldbus_freedesktop.h
@@ -139,6 +139,10 @@ EAPI const Eina_Hash  
*eldbus_proxy_property_local_get_all(Eldbus_Proxy *pro
 
 EAPI Eldbus_Pending*eldbus_object_managed_objects_get(Eldbus_Object 
*obj, Eldbus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
 
+EAPI Eldbus_Signal_Handler 
*eldbus_object_manager_interfaces_added(Eldbus_Object *obj, Eldbus_Signal_Cb 
cb, const void *cb_data) EINA_ARG_NONNULL(1);
+
+EAPI Eldbus_Signal_Handler 
*eldbus_object_manager_interfaces_removed(Eldbus_Object *obj, Eldbus_Signal_Cb 
cb, const void *cb_data) EINA_ARG_NONNULL(1);
+
 /**
  * @}
  */

-- 




[EGIT] [legacy/eldbus] master 11/18: eldbus: Handle correclty the last unref of a object path or conn in service callback

2013-10-11 Thread José Roberto de Souza
etrunko pushed a commit to branch master.

http://git.enlightenment.org/legacy/eldbus.git/commit/?id=5022c1dbe783173e3d9f4c3768ed37a906707a89

commit 5022c1dbe783173e3d9f4c3768ed37a906707a89
Author: José Roberto de Souza jose.so...@intel.com
Date:   Mon Aug 26 16:11:31 2013 -0300

eldbus: Handle correclty the last unref of a object path or conn in service 
callback

This allow user remove the last reference of service object path or last
last reference of connection be removed inside of a method callback.
---
 src/lib/eldbus_service.c | 15 +++
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/lib/eldbus_service.c b/src/lib/eldbus_service.c
index 490b045..4c793c8 100644
--- a/src/lib/eldbus_service.c
+++ b/src/lib/eldbus_service.c
@@ -1264,16 +1264,17 @@ _object_unregister(DBusConnection *conn EINA_UNUSED, 
void *user_data)
 }
 
 static DBusHandlerResult
-_object_handler(DBusConnection *conn EINA_UNUSED, DBusMessage *msg, void 
*user_data)
+_object_handler(DBusConnection *dbus_conn EINA_UNUSED, DBusMessage *msg, void 
*user_data)
 {
Eldbus_Service_Object *obj;
Eldbus_Service_Interface *iface;
const Eldbus_Method *method;
-   Eldbus_Message *eldbus_msg;
-   Eldbus_Message *reply;
+   Eldbus_Message *eldbus_msg, *reply;
+   Eldbus_Connection *conn;
 
obj = user_data;
if (!obj) return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+   conn = obj-conn;
 
DBG(Connection@%p Got message:\n
 Type: %s\n
@@ -1299,6 +1300,9 @@ _object_handler(DBusConnection *conn EINA_UNUSED, 
DBusMessage *msg, void *user_d
dbus_message_ref(eldbus_msg-dbus_msg);
dbus_message_iter_init(eldbus_msg-dbus_msg, 
eldbus_msg-iterator-dbus_iterator);
 
+   eldbus_init();
+   eldbus_connection_ref(conn);
+
if (!_have_signature(method-in, eldbus_msg))
  reply = eldbus_message_error_new(eldbus_msg, DBUS_ERROR_INVALID_SIGNATURE,
   See introspectable to know the expected 
signature);
@@ -1318,7 +1322,10 @@ _object_handler(DBusConnection *conn EINA_UNUSED, 
DBusMessage *msg, void *user_d
 
eldbus_message_unref(eldbus_msg);
if (reply)
- _eldbus_connection_send(obj-conn, reply, NULL, NULL, -1);
+ _eldbus_connection_send(conn, reply, NULL, NULL, -1);
+
+   eldbus_connection_unref(conn);
+   eldbus_shutdown();
 
return DBUS_HANDLER_RESULT_HANDLED;
 }

-- 




Re: [E-devel] [EGIT] [core/efl] master 01/01: eina - and e3fl in general - stop using eina_error_get/set - useless really

2013-10-11 Thread The Rasterman
On Fri, 11 Oct 2013 11:53:40 -0300 Gustavo Sverzut Barbieri
barbi...@gmail.com said:

 On Fri, Oct 11, 2013 at 4:50 AM, Carsten Haitzler ras...@rasterman.com
 wrote:
  raster pushed a commit to branch master.
 
  http://git.enlightenment.org/core/efl.git/commit/?id=69e27abdc37f222183ce27f4ce0e3fe2a45ca590
 
  commit 69e27abdc37f222183ce27f4ce0e3fe2a45ca590
  Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
  Date:   Fri Oct 11 16:49:13 2013 +0900
 
  eina - and e3fl in general - stop using eina_error_get/set - useless
  really
 
 while it's not the best thing to use and many places forget to set the
 error, knowing which error happened may be useful  -- in the same
 lines when you get an EINTR/EAGAIN from syscalls. By just not getting
 the results we want we fail to provide context on why it failed :-(

i know. problem is that our current usage is broken anyway. i\eina has lots of
locks etc. to be threadsafe... but the eina_error system simply isn't and pretty
much cannot be, so it's already broken when you use eina from  1 thread. so i
just made it always not working. at least it's consistently broken. :)

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


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 09/09: ecore: Use Eina_Spinlock for Ecore_Thread.

2013-10-11 Thread The Rasterman
On Sat, 12 Oct 2013 00:55:36 +1000 David Seikel onef...@gmail.com said:

 On Fri, 11 Oct 2013 15:44:54 +0100 Michael Blumenkrantz
 michael.blumenkra...@gmail.com wrote:
 
  On Fri, 11 Oct 2013 11:41:46 -0300
  Gustavo Sverzut Barbieri barbi...@gmail.com wrote:
  
   On Thu, Oct 10, 2013 at 11:28 PM, Cedric Bail
   cedric.b...@samsung.com wrote:
cedric pushed a commit to branch master.
   
http://git.enlightenment.org/core/efl.git/commit/?id=7caef271dc7d52b119d3ca607ec8721fc2660b5e
   
commit 7caef271dc7d52b119d3ca607ec8721fc2660b5e
Author: Cedric Bail cedric.b...@samsung.com
Date:   Thu Oct 10 18:02:00 2013 +0900
   
ecore: Use Eina_Spinlock for Ecore_Thread.
---
 ChangeLog|   1 +
 NEWS |   2 +
 src/lib/ecore/ecore_thread.c | 156
++- 3 files changed, 84
insertions(+), 75 deletions(-)
   
diff --git a/ChangeLog b/ChangeLog
index 4109be5..58d181b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,7 @@
Eina_Chained_Mempool.
* Eet: replace Eina_Lock by Eina_Spinlock in
Eet_Dictionnary.
* Evas: replace Eina_Lock by Eina_Spinlock in
Evas_ScaleCache, Evas_Async_Events and Image_Entry.
   
   this is internal, why does it matter to say we changed an internal
   implementation?
   
   
   
  
  so people know where the bugs are coming from.
 
 That's easy, we follow the rule, they come from Cedric.  B-)

you took the words right out of my mouth... :)

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


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [core/elementary] Problem of sub object delete during resize object set

2013-10-11 Thread The Rasterman
On Sat, 12 Oct 2013 01:05:00 +0900 (KST) 조재현 jae_hyun_...@naver.com said:

 Dear all,
  
 Hello~ This is Jaehyun Cho.
 I need your opinions and ideas related to setting resize object :-) 
  
 As you might know if you set the resize object of an object by calling
 elm_widget_resize_object_set, the previous resize object is removed from the
 sub object relationship and the smart member as well. 
 Therefore, you need to add the sub object relationship and the smart member
 again if you do not want to remove the relationships.In this case, the sub
 object's theme can be re-loaded even though the parent object's and the sub
 object's themes are the same. 

i's only orphaned if the new resize object != old resize object...

 I discussed about this with Hermet and SeoZ and found 3 possible ways to
 resolve the above case. Our solutions are the following and I need your
 opinions. 
 1. Add one more argument in elm_widget_resize_object_set to identify whether
 remove sub object or not. (e.g. Eina_Bool preserve)
 - One line is inserted in elm_widget_resize_object_set.
  
 - Need to change all the elm_widget_resize_object_set function.

add the parameter. that'd be my go. elm's widget api is *NOT* stable. well
advertised. :)

 2. Add a new internal function for setting resize object without removing sub
 object and smart member.
  - The new function is called in elm_widget_resize_object_set.
  - elm_widget_resize_object_set removes the sub object and the smart member. 
  
 3. Add a new internal function for setting resize object as NULL without
 removing sub object and smart member.
 - More simple than 2. 
  - The new function can be called in elm_widget_resize_object_set.
 
 If you have any opinion about the above solutions or any better idea, please
 reply this email. 
 Thank you.
 Jaehyun Cho. 
 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


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


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [core/elementary] Problem of sub object delete during resize object set

2013-10-11 Thread Daniel Juyung Seo
On Sat, Oct 12, 2013 at 10:47 AM, Carsten Haitzler ras...@rasterman.comwrote:

 On Sat, 12 Oct 2013 01:05:00 +0900 (KST) 조재현 jae_hyun_...@naver.com
 said:

  Dear all,
 
  Hello~ This is Jaehyun Cho.
  I need your opinions and ideas related to setting resize object :-)
 
  As you might know if you set the resize object of an object by calling
  elm_widget_resize_object_set, the previous resize object is removed from
 the
  sub object relationship and the smart member as well.
  Therefore, you need to add the sub object relationship and the smart
 member
  again if you do not want to remove the relationships.In this case, the
 sub
  object's theme can be re-loaded even though the parent object's and the
 sub
  object's themes are the same.

 i's only orphaned if the new resize object != old resize object...

  I discussed about this with Hermet and SeoZ and found 3 possible ways to
  resolve the above case. Our solutions are the following and I need your
  opinions.
  1. Add one more argument in elm_widget_resize_object_set to identify
 whether
  remove sub object or not. (e.g. Eina_Bool preserve)
  - One line is inserted in elm_widget_resize_object_set.
 
  - Need to change all the elm_widget_resize_object_set function.

 add the parameter. that'd be my go. elm's widget api is *NOT* stable. well
 advertised. :)


+1
elm_widget is elementary internal API. So you can break it.

Daniel Juyung Seo (SeoZ)


  2. Add a new internal function for setting resize object without
 removing sub
  object and smart member.
   - The new function is called in elm_widget_resize_object_set.
   - elm_widget_resize_object_set removes the sub object and the smart
 member.
 
  3. Add a new internal function for setting resize object as NULL without
  removing sub object and smart member.
  - More simple than 2.
   - The new function can be called in elm_widget_resize_object_set.
 
  If you have any opinion about the above solutions or any better idea,
 please
  reply this email.
  Thank you.
  Jaehyun Cho.
 
 --
  October Webinars: Code for Performance
  Free Intel webinars can help you accelerate application performance.
  Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
 from
  the latest Intel processors and coprocessors. See abstracts and register
 
 
 http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


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



 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
 from
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 09/09: ecore: Use Eina_Spinlock for Ecore_Thread.

2013-10-11 Thread Daniel Juyung Seo
+1
When I review code, I request test cases orexamples and documentation.
Always always.

Thanks.

Daniel Juyung Seo (SeoZ)


On Sat, Oct 12, 2013 at 12:00 AM, Michael Blumenkrantz 
michael.blumenkra...@gmail.com wrote:

 On Fri, 11 Oct 2013 11:56:59 -0300
 Gustavo Lima Chaves gl...@profusion.mobi wrote:

  * Gustavo Sverzut Barbieri barbi...@gmail.com [2013-10-11 11:41:46
 -0300]:
 
   On Thu, Oct 10, 2013 at 11:28 PM, Cedric Bail cedric.b...@samsung.com
 wrote:
cedric pushed a commit to branch master.
   
   
 http://git.enlightenment.org/core/efl.git/commit/?id=7caef271dc7d52b119d3ca607ec8721fc2660b5e
   
commit 7caef271dc7d52b119d3ca607ec8721fc2660b5e
Author: Cedric Bail cedric.b...@samsung.com
Date:   Thu Oct 10 18:02:00 2013 +0900
   
ecore: Use Eina_Spinlock for Ecore_Thread.
---
 ChangeLog|   1 +
 NEWS |   2 +
 src/lib/ecore/ecore_thread.c | 156
 ++-
 3 files changed, 84 insertions(+), 75 deletions(-)
   
diff --git a/ChangeLog b/ChangeLog
index 4109be5..58d181b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,7 @@
Eina_Chained_Mempool.
* Eet: replace Eina_Lock by Eina_Spinlock in Eet_Dictionnary.
* Evas: replace Eina_Lock by Eina_Spinlock in
 Evas_ScaleCache, Evas_Async_Events and Image_Entry.
 
  And more importantly, can you PLEASE commit you API additions already
  documented?  It's fucking annoying (sorry, no other term fits better
  here) to have all this legacy behavior of never (or
  barely/badly/scarcely) documented functions.
 
  
   this is internal, why does it matter to say we changed an internal
   implementation?

 imo it would be good to adopt a policy where any new api that's added
 without documentation gets reverted immediately until the documentation is
 added. it's 2013, we've done releases before, this behavior is totally
 unacceptable.


 --
 October Webinars: Code for Performance
 Free Intel webinars can help you accelerate application performance.
 Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
 from
 the latest Intel processors and coprocessors. See abstracts and register 
 http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] [RFC] configure options for maintainers

2013-10-11 Thread Jérôme Pinot
Hi,

During the Enlightenment French League^W^W dinner, we had this idea of
having a configure option for the EFL to setup a string identifying the
compiler/maintainer/distribution of the build. Several projects use this
kind of string, for instance TexLive, LibreOffice or POV-Ray. It can be
use to find quickly the maintainer, to generate automatic bug reports
and most important, blame someone else (not you, no, really).

There are several way to accomplish this during configuration:

POV-Ray uses the COMPILED_BY=Main Tainer f...@bar.org environment
variable

TexLive uses --with-banner-add=Tex Live 2013/MyDistro Main Tainer
f...@bar.org

LibreOffice uses several options:
--with-distro=MyDistro
--with-vendor=Main Tainer f...@bar.org
--with-build-version=42

It seems to me that the LibreOffice options are better.

What do you think about this?

-- 
Jérôme Pinot
http://ngc891.blogdns.net/


signature.asc
Description: Digital signature
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register 
http://pubads.g.doubleclick.net/gampad/clk?id=60134071iu=/4140/ostg.clktrk___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [apps/terminology] master 01/01: warning--

2013-10-11 Thread Rasterman
raster pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=8eba17574229d6a0229ef7f65ee622650f24ed6b

commit 8eba17574229d6a0229ef7f65ee622650f24ed6b
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Sat Oct 12 14:18:08 2013 +0900

warning--
---
 src/bin/options_theme.c   | 2 +-
 src/bin/options_themepv.c | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/bin/options_theme.c b/src/bin/options_theme.c
index eb077af..84e06e9 100644
--- a/src/bin/options_theme.c
+++ b/src/bin/options_theme.c
@@ -52,8 +52,8 @@ _cb_op_theme_content_get(void *data, Evas_Object *obj, const 
char *part)
  o = options_theme_preview_add(obj, config, buf,
128 * elm_config_scale_get(),
64 * elm_config_scale_get());
+ return o;
   }
-return o;
  }
 
return NULL;
diff --git a/src/bin/options_themepv.c b/src/bin/options_themepv.c
index d5e7c8a..49daa8a 100644
--- a/src/bin/options_themepv.c
+++ b/src/bin/options_themepv.c
@@ -97,7 +97,6 @@ options_theme_preview_add(Evas_Object *parent, Config 
*config, const char *file,
 {
Evas_Object *o, *oo, *obase, *oe, *obg;
Evas *evas;
-   int tw, th;
Evas_Coord ww, hh, y;
 
obase = elm_grid_add(parent);

-- 




[EGIT] [apps/terminology] master 01/01: make theme auto-reload emit signals to configure stuff properly!

2013-10-11 Thread Rasterman
raster pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=cc0f075b2742b767c63a29fb34d7137288953976

commit cc0f075b2742b767c63a29fb34d7137288953976
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Sat Oct 12 14:31:03 2013 +0900

make theme auto-reload emit signals to configure stuff properly!
---
 src/bin/main.c  | 63 ++---
 src/bin/utils.c |  7 +++
 2 files changed, 45 insertions(+), 25 deletions(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index b8260e9..41a1b2f 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -1998,32 +1998,8 @@ main_term_free(Term *term)
 }
 
 static void
-main_term_bg_redo(Term *term)
+main_term_bg_config(Term *term)
 {
-   Evas_Object *o;
-
-   if (term-tabcount_spacer)
- {
-evas_object_del(term-tabcount_spacer);
-term-tabcount_spacer = NULL;
- }
-   evas_object_del(term-base);
-   evas_object_del(term-bg);
-   
-   term-base = o = edje_object_add(evas_object_evas_get(term-wn-win));
-   theme_apply(o, term-config, terminology/core);
-
-   theme_auto_reload_enable(o);
-   evas_object_show(o);
-
-   term-bg = o = edje_object_add(evas_object_evas_get(term-wn-win));
-   evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   evas_object_size_hint_fill_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   theme_apply(o, term-config, terminology/background);
-
-   theme_auto_reload_enable(o);
-   evas_object_show(o);
-
if (term-config-translucent)
  {
 edje_object_signal_emit(term-bg, translucent,on, terminology);
@@ -2089,6 +2065,39 @@ main_term_bg_redo(Term *term)
  }
 }
 
+static void
+main_term_bg_redo(Term *term)
+{
+   Evas_Object *o;
+
+   if (term-tabcount_spacer)
+ {
+evas_object_del(term-tabcount_spacer);
+term-tabcount_spacer = NULL;
+ }
+   evas_object_del(term-base);
+   evas_object_del(term-bg);
+   
+   term-base = o = edje_object_add(evas_object_evas_get(term-wn-win));
+   theme_apply(o, term-config, terminology/core);
+
+   theme_auto_reload_enable(o);
+   evas_object_data_set(o, theme_reload_func, main_term_bg_config);
+   evas_object_data_set(o, theme_reload_func_data, term);
+   evas_object_show(o);
+
+   term-bg = o = edje_object_add(evas_object_evas_get(term-wn-win));
+   evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_fill_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   theme_apply(o, term-config, terminology/background);
+
+   theme_auto_reload_enable(o);
+   evas_object_data_set(o, theme_reload_func, main_term_bg_config);
+   evas_object_data_set(o, theme_reload_func_data, term);
+   evas_object_show(o);
+   main_term_bg_config(term);
+}
+
 static Term *
 main_term_new(Win *wn, Config *config, const char *cmd,
   Eina_Bool login_shell, const char *cd,
@@ -2112,6 +2121,8 @@ main_term_new(Win *wn, Config *config, const char *cmd,
theme_apply(o, term-config, terminology/core);
 
theme_auto_reload_enable(o);
+   evas_object_data_set(o, theme_reload_func, main_term_bg_config);
+   evas_object_data_set(o, theme_reload_func_data, term);
evas_object_show(o);
 
term-bg = o = edje_object_add(evas_object_evas_get(wn-win));
@@ -2126,6 +2137,8 @@ main_term_new(Win *wn, Config *config, const char *cmd,
  }
 
theme_auto_reload_enable(o);
+   evas_object_data_set(o, theme_reload_func, main_term_bg_config);
+   evas_object_data_set(o, theme_reload_func_data, term);
evas_object_show(o);
 
if (term-config-translucent)
diff --git a/src/bin/utils.c b/src/bin/utils.c
index 027254e..67fb71c 100644
--- a/src/bin/utils.c
+++ b/src/bin/utils.c
@@ -43,7 +43,14 @@ theme_reload(Evas_Object *edje)
 static void
 theme_reload_cb(void *data EINA_UNUSED, Evas_Object *obj, const char *emission 
EINA_UNUSED, const char *source EINA_UNUSED)
 {
+   void (*func) (void *d);
+   void *func_data;
+   
theme_reload(obj);
+   func = evas_object_data_get(obj, theme_reload_func);
+   func_data = evas_object_data_get(obj, theme_reload_func_data);
+   printf(%p %p\n, func, func_data);
+   if (func) func(func_data);
 }
 
 void

-- 




[EGIT] [themes/dark] master 01/01: popup.edc: fixed popup item click callback.

2013-10-11 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

http://git.enlightenment.org/themes/dark.git/commit/?id=15b64f17dac101d5e23e3dd878380efff23e4931

commit 15b64f17dac101d5e23e3dd878380efff23e4931
Author: Daniel Juyung Seo juyung@samsung.com
Date:   Sat Oct 12 14:12:21 2013 +0900

popup.edc: fixed popup item click callback.
---
 edje/edc/elm/popup.edc | 4 
 1 file changed, 4 insertions(+)

diff --git a/edje/edc/elm/popup.edc b/edje/edc/elm/popup.edc
index 5da47c8..b568549 100644
--- a/edje/edc/elm/popup.edc
+++ b/edje/edc/elm/popup.edc
@@ -447,5 +447,9 @@ group { name: elm/popup/item/popup/default;
  signal: mouse,up,1; source: event;
  action: SIGNAL_EMIT elm,state,unselected elm;
   }
+  program {
+ signal: mouse,clicked,1; source: event;
+ action: SIGNAL_EMIT elm,action,click elm;
+  }
}
 }

-- 




[EGIT] [core/elementary] master 02/02: elc_popup.c: fixed up signal names according to the latest change.

2013-10-11 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

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

commit 8512dc3acc919624697c119d549b910e0de7b8a0
Author: Daniel Juyung Seo seojuyu...@gmail.com
Date:   Sat Oct 12 14:10:16 2013 +0900

elc_popup.c: fixed up signal names according to the latest change.

This is a continuous job of raster's change, 
f9adb79740555c8e39e9d32ff2a755693dbea8dc.
---
 src/lib/elc_popup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c
index 700a5d8..078a022 100644
--- a/src/lib/elc_popup.c
+++ b/src/lib/elc_popup.c
@@ -870,7 +870,7 @@ _item_new(Elm_Popup_Item *it)
  CRITICAL(Failed to set layout!);
else
  {
-elm_layout_signal_callback_add(VIEW(it), elm,action,click, ,
+elm_layout_signal_callback_add(VIEW(it), elm,action,click, *,
_item_select_cb, it);
 evas_object_size_hint_align_set(VIEW(it), EVAS_HINT_FILL, 
EVAS_HINT_FILL);
 evas_object_show(VIEW(it));

-- 




[EGIT] [core/elementary] master 01/02: popup.edc: unbork default popup for the moment.

2013-10-11 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

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

commit 7cd1f805dffb8a21939643db011afbf367a180f7
Author: Daniel Juyung Seo seojuyu...@gmail.com
Date:   Sat Oct 12 13:13:13 2013 +0900

popup.edc: unbork default popup for the moment.

This was broken by raster's recent popup theme api break.
Even though default theme will be replaced by dark theme, I will keep 
default theme working.
---
 data/themes/widgets/popup.edc | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/data/themes/widgets/popup.edc b/data/themes/widgets/popup.edc
index e5a06a1..3fec359 100644
--- a/data/themes/widgets/popup.edc
+++ b/data/themes/widgets/popup.edc
@@ -460,7 +460,7 @@ group { name: elm/popup/content/default;
}
 }
 
-   group { name: elm/popup/item/default;
+   group { name: elm/popup/item/popup/default;
   script {
  public item_state = POPUP_ITEM_STATE_ENABLED;
   }
@@ -664,7 +664,7 @@ group { name: elm/popup/content/default;
  program { name: item_unclick;
 signal: mouse,up,1;
 source: over1;
-action: SIGNAL_EMIT elm,action,click ;
+action: SIGNAL_EMIT elm,action,click elm;
  }
  program { name: disable;
 signal: elm,state,item,disabled;
@@ -785,7 +785,7 @@ group { name: elm/popup/content/default;
   }
}
 
-group { name: elm/popup/buttons1/default;
+group { name: elm/popup/buttons1/popup/default;
data.item: action_area_height 140;
parts{
   part{ name:elm.swallow.content.button1;
@@ -799,7 +799,7 @@ group { name: elm/popup/buttons1/default;
}
 }
 
-group { name: elm/popup/buttons2/default;
+group { name: elm/popup/buttons2/popup/default;
data.item: action_area_height 140;
parts{
   part{ name:elm.swallow.content.button1;
@@ -845,7 +845,7 @@ group { name: elm/popup/buttons2/default;
}
 }
 
-group { name: elm/popup/buttons3/default;
+group { name: elm/popup/buttons3/popup/default;
data.item: action_area_height 140;
parts{
   part{ name:elm.swallow.content.button1;

--