Re: [E-devel] Removing part_xxx Eo API from Elm.Widget

2016-11-03 Thread Jean-Philippe André
On 3 November 2016 at 23:14, Daniel Hirt  wrote:

> Hi,
>
> Continuing the efl_part work, I couldn't find a valid reason to keep the
> part logic in widgets that are not layouts.
> All I see is internal usage of elm_widget_part_xxx.
>
> I plan to remove the part_xxx property from Elm.Widget and keep it only
> in Elm.Layout.
>
> This doesn't concern Edje.Object. Only referring to widgets here.
>
> Any objections? Anyone thinks it should stay in Eo?
>

I agree.
Our elm_widget API is not stable, while elm_object is stable API. For EO we
don't actually have elm_object so we need to clean up elm_widget as best as
we can to expose it in EO land. Thus, part APIs should use Efl.Part only.

-- 
Jean-Philippe André
--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 02/05: ecore: add check to make sure that the order of future_get and value_set can be switched.

2016-11-03 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit a614303fb6507ed827a05beb6002815dc19f4b25
Author: Cedric BAIL 
Date:   Thu Nov 3 17:58:58 2016 -0700

ecore: add check to make sure that the order of future_get and value_set 
can be switched.
---
 src/tests/ecore/ecore_test_promise.c | 40 
 1 file changed, 40 insertions(+)

diff --git a/src/tests/ecore/ecore_test_promise.c 
b/src/tests/ecore/ecore_test_promise.c
index 7b402e4..4a527e3 100644
--- a/src/tests/ecore/ecore_test_promise.c
+++ b/src/tests/ecore/ecore_test_promise.c
@@ -463,6 +463,45 @@ START_TEST(efl_test_promise_future_success)
 }
 END_TEST
 
+// Test value set before future_get
+START_TEST(efl_test_promise_future_success_before_get)
+{
+   Efl_Promise *p;
+   Efl_Future *f;
+   Future_Ok fo = { EINA_FALSE, EINA_FALSE, EINA_FALSE };
+   Eina_Bool deadf = EINA_FALSE, deadp = EINA_FALSE;
+   int progress = 7;
+   int value = 42;
+
+   ecore_init();
+
+   p = efl_add(EFL_PROMISE_CLASS, ecore_main_loop_get());
+   fail_if(!p);
+
+   efl_promise_value_set(p, , NULL);
+
+   efl_future_use(, efl_promise_future_get(p));
+   fail_if(!f);
+
+   efl_event_callback_add(f, EFL_EVENT_DEL, _death, );
+   efl_event_callback_add(p, EFL_EVENT_DEL, _death, );
+
+   fail_if(deadp || deadf);
+
+   fail_if(!efl_future_then(f, _then, _cancel, _progress, ));
+
+   fail_if(f);
+   fail_if(!fo.then || fo.cancel || fo.progress);
+   fail_if(!deadf || deadp);
+
+   efl_del(p);
+
+   fail_if(!deadp);
+
+   ecore_shutdown();
+}
+END_TEST
+
 START_TEST(efl_test_promise_future_cancel)
 {
Efl_Promise *p;
@@ -1224,6 +1263,7 @@ void ecore_test_ecore_promise(TCase *tc)
tcase_add_test(tc, efl_test_promise_future_optional_cancel);
tcase_add_test(tc, efl_test_promise_all);
tcase_add_test(tc, efl_test_promise_all_after_value_set);
+   tcase_add_test(tc, efl_test_promise_future_success_before_get);
tcase_add_test(tc, efl_test_promise_race);
tcase_add_test(tc, efl_test_future_link);
tcase_add_test(tc, efl_test_recursive_mess);

-- 




[EGIT] [core/efl] master 01/05: ecore: add test for efl_future_then after value_set

2016-11-03 Thread Vitor Sousa
cedric pushed a commit to branch master.

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

commit 10e4e6525067b2eeb0b054c2448b3f1c197d21aa
Author: Vitor Sousa 
Date:   Tue Nov 1 21:09:04 2016 -0200

ecore: add test for efl_future_then after value_set
---
 src/tests/ecore/ecore_test_promise.c | 44 
 1 file changed, 44 insertions(+)

diff --git a/src/tests/ecore/ecore_test_promise.c 
b/src/tests/ecore/ecore_test_promise.c
index ffd2300..7b402e4 100644
--- a/src/tests/ecore/ecore_test_promise.c
+++ b/src/tests/ecore/ecore_test_promise.c
@@ -1048,6 +1048,49 @@ START_TEST(efl_test_promise_all)
 }
 END_TEST
 
+START_TEST(efl_test_promise_all_after_value_set)
+{
+   Efl_Promise *p1, *p2, *p3;
+   Efl_Future *all = NULL, *f1, *f2, *f3;
+   Future_Ok donea = { EINA_FALSE, EINA_FALSE, EINA_FALSE };
+
+   ecore_init();
+
+   p1 = efl_add(EFL_PROMISE_CLASS, ecore_main_loop_get());
+   p2 = efl_add(EFL_PROMISE_CLASS, ecore_main_loop_get());
+   p3 = efl_add(EFL_PROMISE_CLASS, ecore_main_loop_get());
+   fail_if(!p1 || !p2 || !p3);
+
+   f1 = efl_ref(efl_promise_future_get(p1));
+   f2 = efl_ref(efl_promise_future_get(p2));
+   f3 = efl_ref(efl_promise_future_get(p3));
+
+   efl_promise_value_set(p1, [0], NULL);
+   efl_promise_value_set(p2, [1], NULL);
+   efl_promise_value_set(p3, [2], NULL);
+
+   efl_future_use(, efl_future_all(f1, f2, f3));
+
+   fail_if(!all);
+
+   fail_if(!efl_future_then(all, _then_all, _cancel, _progress, ));
+
+   fail_if(!donea.then || donea.cancel || donea.progress);
+
+   fail_if(all);
+
+   efl_unref(f1);
+   efl_unref(f2);
+   efl_unref(f3);
+
+   efl_del(p1);
+   efl_del(p2);
+   efl_del(p3);
+
+   ecore_shutdown();
+}
+END_TEST
+
 static void
 _then_race(void *data, const Efl_Event *ev)
 {
@@ -1180,6 +1223,7 @@ void ecore_test_ecore_promise(TCase *tc)
tcase_add_test(tc, efl_test_promise_future_optional_success);
tcase_add_test(tc, efl_test_promise_future_optional_cancel);
tcase_add_test(tc, efl_test_promise_all);
+   tcase_add_test(tc, efl_test_promise_all_after_value_set);
tcase_add_test(tc, efl_test_promise_race);
tcase_add_test(tc, efl_test_future_link);
tcase_add_test(tc, efl_test_recursive_mess);

-- 




[EGIT] [core/efl] master 03/05: ecore: cleanup test

2016-11-03 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit a7ff7ceebbe8134e264f8d4e976bf4fccb19f8fa
Author: Cedric BAIL 
Date:   Thu Nov 3 18:00:01 2016 -0700

ecore: cleanup test
---
 src/tests/ecore/ecore_test_promise.c | 10 +++---
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/tests/ecore/ecore_test_promise.c 
b/src/tests/ecore/ecore_test_promise.c
index 4a527e3..c744945 100644
--- a/src/tests/ecore/ecore_test_promise.c
+++ b/src/tests/ecore/ecore_test_promise.c
@@ -1100,9 +1100,9 @@ START_TEST(efl_test_promise_all_after_value_set)
p3 = efl_add(EFL_PROMISE_CLASS, ecore_main_loop_get());
fail_if(!p1 || !p2 || !p3);
 
-   f1 = efl_ref(efl_promise_future_get(p1));
-   f2 = efl_ref(efl_promise_future_get(p2));
-   f3 = efl_ref(efl_promise_future_get(p3));
+   f1 = efl_promise_future_get(p1);
+   f2 = efl_promise_future_get(p2);
+   f3 = efl_promise_future_get(p3);
 
efl_promise_value_set(p1, [0], NULL);
efl_promise_value_set(p2, [1], NULL);
@@ -1118,10 +1118,6 @@ START_TEST(efl_test_promise_all_after_value_set)
 
fail_if(all);
 
-   efl_unref(f1);
-   efl_unref(f2);
-   efl_unref(f3);
-
efl_del(p1);
efl_del(p2);
efl_del(p3);

-- 




[EGIT] [core/efl] master 04/05: ecore: make call to future_get and value_set irrelevant as they should be.

2016-11-03 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 59a635d251047f34da5b8edc7f956600b77167e8
Author: Cedric BAIL 
Date:   Thu Nov 3 18:01:43 2016 -0700

ecore: make call to future_get and value_set irrelevant as they should be.
---
 src/lib/ecore/efl_promise.c | 9 +
 1 file changed, 9 insertions(+)

diff --git a/src/lib/ecore/efl_promise.c b/src/lib/ecore/efl_promise.c
index 2d3b613..fdaf2ea 100644
--- a/src/lib/ecore/efl_promise.c
+++ b/src/lib/ecore/efl_promise.c
@@ -525,6 +525,15 @@ _efl_promise_future_get(Eo *obj, Efl_Promise_Data *pd 
EINA_UNUSED)
fd->promise = efl_data_xref(obj, EFL_PROMISE_CLASS, f);
fd->promise->futures = eina_list_append(fd->promise->futures, fd);
 
+   // The promise has already been fullfilled, prepare the propagation
+   if (fd->promise->message)
+ {
+fd->message = fd->promise->message;
+EINA_REFCOUNT_REF(fd->message);
+
+_efl_loop_future_propagate(f, fd);
+ }
+
return f;
 }
 

-- 




[EGIT] [core/efl] master 05/05: ecore: fix efl_future_all/race to be setup on already fulfilled future.

2016-11-03 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 832873259ccc98bf615e4976db92749232f355e8
Author: Cedric BAIL 
Date:   Thu Nov 3 18:02:20 2016 -0700

ecore: fix efl_future_all/race to be setup on already fulfilled future.
---
 src/lib/ecore/efl_promise.c | 85 +++--
 1 file changed, 66 insertions(+), 19 deletions(-)

diff --git a/src/lib/ecore/efl_promise.c b/src/lib/ecore/efl_promise.c
index fdaf2ea..18f18da 100644
--- a/src/lib/ecore/efl_promise.c
+++ b/src/lib/ecore/efl_promise.c
@@ -725,10 +725,13 @@ struct _Efl_Promise_Composite
 
Efl_Future *(*future_get)(void *item);
 
+   Eina_Error error;
+
Eina_Bool failed : 1;
Eina_Bool progress_triggered : 1;
Eina_Bool future_triggered : 1;
Eina_Bool done : 1;
+   Eina_Bool building : 1;
 };
 
 static Efl_Future *
@@ -920,6 +923,26 @@ _efl_accessor_all_free(Efl_Accessor_All *ac)
 }
 
 static void
+_real_then_all(Efl_Promise_All *all)
+{
+   Efl_Accessor_All *ac;
+
+   ac = calloc(1, sizeof (Efl_Accessor_All));
+   if (!ac) return ; // We do now the promise and all here
+
+   EINA_MAGIC_SET(>accessor, EINA_MAGIC_ACCESSOR);
+
+   ac->accessor.version = EINA_ACCESSOR_VERSION;
+   ac->accessor.get_at = FUNC_ACCESSOR_GET_AT(_efl_accessor_all_get_at);
+   ac->accessor.get_container = 
FUNC_ACCESSOR_GET_CONTAINER(_efl_accessor_all_get_container);
+   ac->accessor.free = FUNC_ACCESSOR_FREE(_efl_accessor_all_free);
+   ac->all = all;
+   ac->promise = efl_ref(all->promise);
+
+   efl_promise_value_set(all->promise, >accessor, 
EINA_FREE_CB(eina_accessor_free));
+}
+
+static void
 _then_all(void *data, const Efl_Event *ev)
 {
Efl_Future_Event_Success *success = ev->info;
@@ -942,27 +965,22 @@ _then_all(void *data, const Efl_Event *ev)
 done &= !!fa->d;
  }
 
+   if (all->building) return ;
+
if (done)
  {
-Efl_Accessor_All *ac;
-
-ac = calloc(1, sizeof (Efl_Accessor_All));
-if (!ac) return ; // We do now the promise and all here
-
-EINA_MAGIC_SET(>accessor, EINA_MAGIC_ACCESSOR);
-
-ac->accessor.version = EINA_ACCESSOR_VERSION;
-ac->accessor.get_at = FUNC_ACCESSOR_GET_AT(_efl_accessor_all_get_at);
-ac->accessor.get_container = 
FUNC_ACCESSOR_GET_CONTAINER(_efl_accessor_all_get_container);
-ac->accessor.free = FUNC_ACCESSOR_FREE(_efl_accessor_all_free);
-ac->all = all;
-ac->promise = efl_ref(all->promise);
-
-efl_promise_value_set(all->promise, >accessor, 
EINA_FREE_CB(eina_accessor_free));
+_real_then_all(all);
  }
 }
 
 static void
+_real_fail_all(Efl_Promise_All *all, Eina_Error error)
+{
+   efl_promise_failed_set(all->promise, error);
+   _efl_promise_all_free(all);
+}
+
+static void
 _fail_all(void *data, const Efl_Event *ev)
 {
Efl_Future_Event_Failure *fail = ev->info;
@@ -974,6 +992,12 @@ _fail_all(void *data, const Efl_Event *ev)
if (all->failed) return ;
all->failed = EINA_TRUE;
 
+   if (all->building)
+ {
+all->error = fail->error;
+return ;
+ }
+
efl_ref(all->promise);
 
// In case of one fail, the entire promise will fail and
@@ -992,8 +1016,7 @@ _fail_all(void *data, const Efl_Event *ev)
   }
  }
 
-   efl_promise_failed_set(all->promise, fail->error);
-   _efl_promise_all_free(all);
+   _real_fail_all(all, fail->error);
efl_unref(all->promise);
 }
 
@@ -1044,6 +1067,8 @@ _efl_future_all_new(Eo *provider)
all->promise = efl_add(EFL_PROMISE_CLASS, loop);
if (!all->promise) goto on_error;
 
+   all->building = EINA_TRUE;
+
return all;
 
  on_error:
@@ -1054,6 +1079,7 @@ _efl_future_all_new(Eo *provider)
 static inline Efl_Future *
 _efl_future_all_done(Efl_Promise_All *all)
 {
+   Efl_Future *r;
Efl_Future_All *fa;
Eina_Array_Iterator iterator;
unsigned int i;
@@ -1063,7 +1089,25 @@ _efl_future_all_done(Efl_Promise_All *all)
 
efl_event_callback_array_add(all->promise, efl_all_callbacks(), all);
 
-   return efl_promise_future_get(all->promise);
+   r = efl_promise_future_get(all->promise);
+
+   all->building = EINA_FALSE;
+
+   if (all->failed)
+ {
+_real_fail_all(all, all->error);
+ }
+   else
+ {
+Eina_Bool done = EINA_TRUE;
+
+EINA_ARRAY_ITER_NEXT(>members, i, fa, iterator)
+  done &= !!fa->d;
+
+if (done) _real_then_all(all);
+ }
+
+   return r;
 }
 
 static Eina_Bool
@@ -1242,16 +1286,19 @@ _efl_future_race_new(Eo *provider)
 static inline Efl_Future *
 _efl_future_race_done(Efl_Promise_Race *race)
 {
+   Efl_Future *r;
Efl_Future *fn;
Eina_Array_Iterator iterator;
unsigned int i;
 
+   r = efl_promise_future_get(race->promise);
+
EINA_ARRAY_ITER_NEXT(>members, i, fn, iterator)
  _efl_loop_future_internal_then(fn, _then_race, _fail_race, _progress, 
race);
 

Re: [E-devel] eina freeq?

2016-11-03 Thread The Rasterman
On Thu, 3 Nov 2016 11:24:14 -0200 Gustavo Sverzut Barbieri 
said:

> I guessed mempool and eina_trash did that 

nah - mempool i don't think has a "purgatory" for pointers. they are released
back into the pool. trash is actually a cache for storing ptrs but it never
actually frees anything. it doesn't know how to. you have to manually clean
trash yourself and call some kind of free func when you do the clean. trash
doesn't store free funcs at all.

> --
> Gustavo Sverzut Barbieri
> 
> > Em 3 de nov de 2016, às 05:53, Carsten Haitzler (The Rasterman)
> >  escreveu:
> > 
> > On Thu, 03 Nov 2016 09:35:21 +0200 Daniel Zaoui 
> > said:
> > 
> >> Well, my Lord, I hate that idea. Do you want to make all EFL asynchronous?
> > 
> > this isn't async. it's just deferred. we already do this for evas objects
> > with delete_me. we do it for timers/animators and mark them for deletion
> > later. it's nothing new. this is just more generic/extensive
> > 
> >>> From my point of view, seems to be like a hack cause some problems (e.g
> >>> Eo) are hard to solve.
> >> 
> >> My comments below.
> >> 
> >> On Thu, 03 Nov 2016 16:11:24 +0900
> >> Carsten Haitzler  (The Rasterman) wrote:
> >> 
> >>> here's an idea. it's very very very very simple
> >>> 
> >>> create an eina_freeq(). instead of calling free() or whatever free
> >>> function on something immediately, call:
> >>> 
> >>>fq = eina_freeq_main_get();
> >>>eina_freeq_ptr_add(fq, pointer, size, free);
> >>> 
> >>> or
> >>> 
> >>>fq = eina_freeq_global_get();
> >>>eina_freeq_ptr_add(fq, l, sizeof(Eina_List),
> >>> _eina_list_mempool_list_free);
> >>> 
> >>> etc.
> >>> 
> >>> and the free queue will "add this to the end" to be freed some time
> >>> later. the idea of size is so it could make intelligent choice like
> >>> to free very large chunks earlier than smaller allocations. the
> >>> mainloop would drive this actual freeing. or more specifically your
> >>> LOCAL loop would. need to add some kind of loop method that returns
> >>> the "free queue" FOR your loop/thread. or wherever you want it
> >>> actually freed. probably have a main free queue driven by the
> >>> mainloop (and cleared up on eina_shutdown) etc.
> >>> 
> >>> why?
> >>> 
> >>> 1. move overhead of doing actual frees out of critical code into idle
> >>> time
> >>> 2. improve stability by keeping memory eg for eo objects or eina
> >>> list nodes in a "free queue purgatory" for a while so if someone does
> >>> bad things like "use after free" the IMPACT is far smaller as they
> >>> mess with memory in the free queue not being used.
> >> 
> >> Stability has to be improved with refs and other design technics, not with
> >> delay. More, we can't use anymore Valgrind. And this will be PITA to debug.
> >> The same kind of debug with async events where the frame before is
> >> ecore_loop...
> > 
> > we can use valgrind. just have freeq free immediately. env vars can switch
> > behavior around. :) so valgrind - can work trivially.
> > 
> >> btw, the third point didn't leave your head ;-)
> > 
> > oh yeah.. it got lost on the way to the kbd. :)
> > 
> >>> 4. be able to fill memory about to be freed with patterns (eg 0x55 or
> >>> 0xaa) so after free the memory is guaranteed to have a pattern to
> >>> know it was freed (optional debug only for mem regions of size > 0
> >>> and maybe less than some max size).
> >> 
> >> meow (I think this is what you say when you don't know if it is a good
> >> feature or not :-).
> >> 
> >>> 5. optional - checksum the memory when added to free queue then check
> >>> checksum on actual free to warn of some code "being bad" and
> >>> scribbling over freed memory. at least we get warnings of lurking
> >>> bugs if we turn this on...
> >> 
> >> Valgrind does it better.
> > 
> > the problem is we have people who will NOT RUN STUFF UNDER VALGRIND.
> > 
> > 1. for example valgrind doesnt work on openbsd. at all.
> > 2. good luck with valgrind on something like an rpi ... go and make lunch
> > while you wait for your app to start. make coffee in between clicks.the bug
> > you were looking for likely disappeared because timing changed so
> > drastically you cant catch it. i've seen this happen before.
> > 3. people run/test and they do not want to slow things down to 1/50th of the
> > speed. they CAN'T, so having a pattern means its a very low cost and
> > coredumps can tell us far more information on what is going on. you cant
> > force testers in qa to "run it under valgrind". they dont even know what it
> > is, nor can they even do it. the speed impact along vetoes it. the impact
> > of memset() for smallish things (eg < 1k) is going to be MASSIVELY less.
> > 4. this doesn't replace valgrind. it augments it for when valgrind is just
> > not viable. it at least gives us a CLUE. JP just was telling me of an issue
> > where a Eina_List * ptr in an evas object is 0x1 ... it should never be

[EGIT] [core/efl] master 01/01: examples/edje: cosmetic fixes in a couple examples

2016-11-03 Thread Bruno Dilly
bdilly pushed a commit to branch master.

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

commit fcf9f55150cff6aef23779782e17f603f6c7db10
Author: Bruno Dilly 
Date:   Thu Nov 3 18:44:36 2016 -0200

examples/edje: cosmetic fixes in a couple examples

Fix usage messages, remove unused defines
---
 src/examples/edje/edje-box2.c |  4 ++--
 src/examples/edje/edje-drag.c | 11 ---
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/src/examples/edje/edje-box2.c b/src/examples/edje/edje-box2.c
index aa5aaf7..21a7115 100644
--- a/src/examples/edje/edje-box2.c
+++ b/src/examples/edje/edje-box2.c
@@ -30,8 +30,8 @@
 
 static const char commands[] = \
   "commands are:\n"
-  "\tShift - remove box\n"
-  "\tCtrl - insert box\n"
+  "\tShift + any key - remove box\n"
+  "\tCtrl + any key - insert box\n"
   "\tEsc - exit\n"
   "\th - print help\n";
 
diff --git a/src/examples/edje/edje-drag.c b/src/examples/edje/edje-drag.c
index 6098fd9..fcf1ab1 100644
--- a/src/examples/edje/edje-drag.c
+++ b/src/examples/edje/edje-drag.c
@@ -26,14 +26,9 @@
 #define WIDTH  300
 #define HEIGHT 300
 
-#define RECTW 30
-#define RECTH 30
-
-#define NRECTS 20
-
 static const char commands[] = \
   "commands are:\n"
-  "\tDdown - set drag step to 1\n"
+  "\tDown - set drag step to 1\n"
   "\tUp - set drag step to -1\n"
   "\tm - set drag value to 0.5\n"
   "\tPrior - set drag page to -1\n"
@@ -158,7 +153,9 @@ main(int argc EINA_UNUSED, char *argv[] EINA_UNUSED)
 
edje_obj = edje_object_add(evas);
 
-   edje_object_file_set(edje_obj, edje_file, "example/group");
+   if (!edje_object_file_set(edje_obj, edje_file, "example/group"))
+ printf("failed to set file %s.\n", edje_file);
+
evas_object_move(edje_obj, 0, 0);
evas_object_resize(edje_obj, WIDTH, HEIGHT);
evas_object_show(edje_obj);

-- 




[EGIT] [core/efl] master 01/01: eina-cxx: eolian-cxx: Fix correct usage of is_eolian_object traits

2016-11-03 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

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

commit 137dd4864d07e6c3398f049377bdeb140063d631
Author: Felipe Magno de Almeida 
Date:   Thu Nov 3 17:59:20 2016 -0200

eina-cxx: eolian-cxx: Fix correct usage of is_eolian_object traits
---
 src/bindings/cxx/eina_cxx/eina_accessor.hh|   8 +-
 src/bindings/cxx/eina_cxx/eina_array.hh   |   4 +-
 src/bindings/cxx/eina_cxx/eina_deleter.hh |   6 ++
 src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh |  22 +
 src/bindings/cxx/eina_cxx/eina_iterator.hh|   6 +-
 src/bindings/cxx/eina_cxx/eina_list.hh|   4 +-
 src/bindings/cxx/eina_cxx/eina_ptrlist.hh |   9 +-
 src/bindings/cxx/eina_cxx/eina_type_traits.hh |   4 +-
 src/bindings/cxx/eina_cxx/eina_workarounds.hh | 100 +++---
 src/bindings/cxx/eo_cxx/eo_cxx_interop.hh |   7 +-
 src/lib/eolian_cxx/grammar/klass_def.hpp  |   4 +
 src/lib/eolian_cxx/grammar/type_impl.hpp  |  72 ++--
 src/tests/eina_cxx/eina_cxx_test_accessor.cc  |   7 ++
 src/tests/eina_cxx/eina_cxx_test_ptrarray.cc  |   7 ++
 src/tests/eina_cxx/eina_cxx_test_ptrlist.cc   |   7 ++
 15 files changed, 154 insertions(+), 113 deletions(-)

diff --git a/src/bindings/cxx/eina_cxx/eina_accessor.hh 
b/src/bindings/cxx/eina_cxx/eina_accessor.hh
index 58c0b98..4aefc51 100644
--- a/src/bindings/cxx/eina_cxx/eina_accessor.hh
+++ b/src/bindings/cxx/eina_cxx/eina_accessor.hh
@@ -165,7 +165,7 @@ template 
 struct accessor;
 
 template 
-struct accessor::value, T>::type>
+struct accessor::type>
   : accessor_common_base
 {
   typedef accessor_common_base _base_type;
@@ -277,7 +277,7 @@ struct accessor::value, T>::type>
+struct accessor::type>
   : accessor_common_base
 {
   typedef accessor_common_base _base_type;
@@ -419,7 +419,7 @@ struct accessor_iterator;
  * Random access iterator for eina::accessor.
  */
 template 
-struct accessor_iterator::value, T>::type>
+struct accessor_iterator::type>
 {
   typedef T value_type; /**< Type of the elements. */
   typedef value_type* pointer; /**< Pointer to element type. */
@@ -571,7 +571,7 @@ struct accessor_iterator::value, T>::type>
+struct accessor_iterator::type>
 {
   typedef T value_type; /**< Type of the elements. */
   typedef value_type* pointer; /**< Pointer to element type. */
diff --git a/src/bindings/cxx/eina_cxx/eina_array.hh 
b/src/bindings/cxx/eina_cxx/eina_array.hh
index f9677a2..0c9bd59 100644
--- a/src/bindings/cxx/eina_cxx/eina_array.hh
+++ b/src/bindings/cxx/eina_cxx/eina_array.hh
@@ -230,7 +230,7 @@ struct _eo_array_access_traits : _ptr_array_access_traits
 };
 
 template 
-class array::value>::type>
+class array::type>
   : ptr_array::value
   , eo_clone_allocator, CloneAllocator>::type>
@@ -497,7 +497,7 @@ public:
 };
 
 template 
-class range_array::value>::type>
+class range_array::type>
   : range_ptr_array
 {
   typedef range_ptr_array _base_type;
diff --git a/src/bindings/cxx/eina_cxx/eina_deleter.hh 
b/src/bindings/cxx/eina_cxx/eina_deleter.hh
index 65f8da0..2520f5d 100644
--- a/src/bindings/cxx/eina_cxx/eina_deleter.hh
+++ b/src/bindings/cxx/eina_cxx/eina_deleter.hh
@@ -3,6 +3,8 @@
 
 #include 
 
+#include 
+
 namespace efl { namespace eina {
 
 struct malloc_deleter
@@ -13,6 +15,10 @@ struct malloc_deleter
 object->~T();
 free(object);
   }
+  void operator()(Eina_Binbuf* /*object*/) const
+  {
+// how to free binbuf?
+  }
 };
 
 template 
diff --git a/src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh 
b/src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh
index 3e96e8f..13efd42 100644

[EGIT] [core/enlightenment] master 01/01: move bryces to E_LAYER_DESKTOP_TOP when not above windows

2016-11-03 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=353ad6be117bb84c20c7c30c2028404dedb55270

commit 353ad6be117bb84c20c7c30c2028404dedb55270
Author: Mike Blumenkrantz 
Date:   Thu Nov 3 12:53:27 2016 -0400

move bryces to E_LAYER_DESKTOP_TOP when not above windows

moderately sure this won't conflict with anything important...

fix T4819
---
 src/bin/e_bryce.c| 4 ++--
 src/bin/e_bryce_editor.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/bin/e_bryce.c b/src/bin/e_bryce.c
index d4641ae..613e033 100644
--- a/src/bin/e_bryce.c
+++ b/src/bin/e_bryce.c
@@ -370,7 +370,7 @@ _bryce_site_hints(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj, void *event
 static E_Comp_Object_Type
 _bryce_shadow_type(const Bryce *b)
 {
-   if ((b->layer == E_LAYER_DESKTOP) || b->noshadow)
+   if ((b->layer == E_LAYER_DESKTOP_TOP) || b->noshadow)
  return E_COMP_OBJECT_TYPE_NONE;
return E_COMP_OBJECT_TYPE_POPUP;
 }
@@ -1281,7 +1281,7 @@ e_bryce_init(void)
}
  b->version = bryce_version;
  if (!e_comp_zone_number_get(b->zone)) continue;
- b->layer = E_CLAMP(b->layer, E_LAYER_DESKTOP, 
E_LAYER_CLIENT_ABOVE);
+ b->layer = E_CLAMP(b->layer, E_LAYER_DESKTOP_TOP, 
E_LAYER_CLIENT_ABOVE);
  _bryce_create(b, e_comp->elm);
  evas_object_show(b->bryce);
   }
diff --git a/src/bin/e_bryce_editor.c b/src/bin/e_bryce_editor.c
index 8406f2c..9592b6e 100644
--- a/src/bin/e_bryce_editor.c
+++ b/src/bin/e_bryce_editor.c
@@ -105,7 +105,7 @@ _editor_bryce_add(Evas_Object *obj)
e_bryce_style_set(b, bi->style);
e_bryce_autohide_set(b, bi->autohide);
e_bryce_autosize_set(b, bi->autosize);
-   evas_object_layer_set(b, bi->stack_under ? E_LAYER_DESKTOP : 
E_LAYER_CLIENT_ABOVE);
+   evas_object_layer_set(b, bi->stack_under ? E_LAYER_DESKTOP_TOP : 
E_LAYER_CLIENT_ABOVE);
evas_object_del(obj);
 }
 
@@ -194,7 +194,7 @@ _editor_style_click(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj, void *eve
evas_object_smart_callback_add(ck, "changed", _editor_stacking, bi);
if (bryce)
  {
-bi->stack_under = evas_object_layer_get(bryce) == E_LAYER_DESKTOP;
+bi->stack_under = evas_object_layer_get(bryce) == E_LAYER_DESKTOP_TOP;
 elm_check_state_set(ck, bi->stack_under);
  }
elm_box_pack_end(box, ck);

-- 




[EGIT] [core/enlightenment] master 02/02: add special case for returning pixmap argb of unusable wl cursor pixmaps

2016-11-03 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=03ad3620c76470524b252824fb389845e951426d

commit 03ad3620c76470524b252824fb389845e951426d
Author: Mike Blumenkrantz 
Date:   Thu Nov 3 12:28:24 2016 -0400

add special case for returning pixmap argb of unusable wl cursor pixmaps

this is usually called before the surface commits, so ensure that the
most likely case is returned as the default until the commit occurs

fixes black rect flickerings around the cursor
---
 src/bin/e_pixmap.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c
index 1e591d9..a7031cc 100644
--- a/src/bin/e_pixmap.c
+++ b/src/bin/e_pixmap.c
@@ -899,7 +899,10 @@ e_pixmap_image_is_argb(const E_Pixmap *cp)
 #endif
   case E_PIXMAP_TYPE_WL:
 #ifdef HAVE_WAYLAND
-return cp->image_argb;
+if (cp->usable)
+  return cp->image_argb;
+if (((E_Comp_Wl_Client_Data*)cp->client->comp_data)->cursor)
+  return EINA_TRUE;
 #endif
 default: break;
  }

-- 




[EGIT] [core/enlightenment] master 01/02: add more parens for previous pixmap commit

2016-11-03 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=13f408f1e1320e89aa01948b3f24f14efdbe1d44

commit 13f408f1e1320e89aa01948b3f24f14efdbe1d44
Author: Mike Blumenkrantz 
Date:   Thu Nov 3 12:28:06 2016 -0400

add more parens for previous pixmap commit
---
 src/bin/e_pixmap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c
index 916a962..1e591d9 100644
--- a/src/bin/e_pixmap.c
+++ b/src/bin/e_pixmap.c
@@ -880,7 +880,7 @@ e_pixmap_image_exists(const E_Pixmap *cp)
 #endif
 #ifdef HAVE_WAYLAND
return (!!cp->data) ||
- cp->buffer && ((e_comp->gl && (!cp->buffer->shm_buffer)) || 
cp->buffer->dmabuf_buffer);
+ (cp->buffer && ((e_comp->gl && (!cp->buffer->shm_buffer)) || 
cp->buffer->dmabuf_buffer));
 #endif
 
return EINA_FALSE;

-- 




[EGIT] [core/enlightenment] master 01/01: avoid crash when calling e_pixmap_image_exists on wl pixmaps without buffers

2016-11-03 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=669f00e2e20372a119123c520007de04b2831fd3

commit 669f00e2e20372a119123c520007de04b2831fd3
Author: Mike Blumenkrantz 
Date:   Thu Nov 3 12:24:25 2016 -0400

avoid crash when calling e_pixmap_image_exists on wl pixmaps without buffers
---
 src/bin/e_pixmap.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c
index b6fda25..916a962 100644
--- a/src/bin/e_pixmap.c
+++ b/src/bin/e_pixmap.c
@@ -879,7 +879,8 @@ e_pixmap_image_exists(const E_Pixmap *cp)
  return !!cp->image;
 #endif
 #ifdef HAVE_WAYLAND
-   return (!!cp->data) || (e_comp->gl && (!cp->buffer->shm_buffer)) || 
cp->buffer->dmabuf_buffer;
+   return (!!cp->data) ||
+ cp->buffer && ((e_comp->gl && (!cp->buffer->shm_buffer)) || 
cp->buffer->dmabuf_buffer);
 #endif
 
return EINA_FALSE;

-- 




[EGIT] [core/efl] master 13/20: evas_canvas3d_mesh: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 137afa68adf51da265615f5886e62acd453cc7a1
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:07:46 2016 +0100

evas_canvas3d_mesh: remove pointers
---
 src/lib/evas/canvas/evas_canvas3d_mesh.eo | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_canvas3d_mesh.eo 
b/src/lib/evas/canvas/evas_canvas3d_mesh.eo
index 8fb7e53..957b795 100644
--- a/src/lib/evas/canvas/evas_canvas3d_mesh.eo
+++ b/src/lib/evas/canvas/evas_canvas3d_mesh.eo
@@ -104,8 +104,8 @@ class Evas.Canvas3D.Mesh (Evas.Canvas3D.Object, Efl.File)
  ]]
  params {
 @in frame: int; [[ The number of the key frame.]]
-@in vertex: Eina.Inarray*;
-@in index: Eina.Inarray*;
+@in vertex: ptr(Eina.Inarray);
+@in index: ptr(Eina.Inarray);
  }
   }
 

-- 




[EGIT] [core/efl] master 10/20: efl_canvas_text: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit cbe42ac34d5efde73ea5044f72feeed206dbb865
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:05:00 2016 +0100

efl_canvas_text: remove pointers
---
 src/lib/evas/canvas/efl_canvas_text.eo | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_text.eo 
b/src/lib/evas/canvas/efl_canvas_text.eo
index 18d90f9..d860be0 100644
--- a/src/lib/evas/canvas/efl_canvas_text.eo
+++ b/src/lib/evas/canvas/efl_canvas_text.eo
@@ -201,7 +201,7 @@ class Efl.Canvas.Text (Efl.Canvas.Object, Efl.Text)
 legacy: null;
  }
  keys {
-annotation: Efl.Canvas.Text.Annotation *; [[Given annotation]]
+annotation: ptr(Efl.Canvas.Text.Annotation); [[Given annotation]]
  }
  values {
 format: string; [[The new format for the given annotation]]
@@ -217,7 +217,7 @@ class Efl.Canvas.Text (Efl.Canvas.Object, Efl.Text)
   @in start: const(Efl.Canvas.Text.Cursor); [[Start of range]]
   @in end:   const(Efl.Canvas.Text.Cursor); [[End of range]]
  }
- return: free(own(iterator),
+ return: free(own(iterator),
  eina_iterator_free); [[Handle of the Annotation]]
   }
   annotation_insert {
@@ -234,7 +234,7 @@ class Efl.Canvas.Text (Efl.Canvas.Object, Efl.Text)
   @in end:   Efl.Canvas.Text.Cursor; [[End of range]]
   @in format: string;
  }
- return: Efl.Canvas.Text.Annotation *; [[Handle of inserted 
annotation]]
+ return: ptr(Efl.Canvas.Text.Annotation); [[Handle of inserted 
annotation]]
   }
   annotation_del {
  [[Deletes given annotation.
@@ -246,7 +246,7 @@ class Efl.Canvas.Text (Efl.Canvas.Object, Efl.Text)
  ]]
  legacy: null;
  params {
-@in annotation: Efl.Canvas.Text.Annotation *; [[Annotation to be
+@in annotation: ptr(Efl.Canvas.Text.Annotation); [[Annotation to be
 removed]]
  }
  return: bool; [[$true on success, $false otherwise.]]
@@ -318,7 +318,7 @@ class Efl.Canvas.Text (Efl.Canvas.Object, Efl.Text)
@since 1.18
  ]]
  legacy: null;
- return: own(char*); [[The text in the given range]]
+ return: own(ptr(char)); [[The text in the given range]]
  params {
 @in cur1: const(Efl.Canvas.Text.Cursor); [[Start of range]]
 @in cur2: const(Efl.Canvas.Text.Cursor); [[End of range]]
@@ -333,7 +333,7 @@ class Efl.Canvas.Text (Efl.Canvas.Object, Efl.Text)
  ]]
  legacy: null;
  params {
-@in an: const(Efl.Canvas.Text.Annotation)*; [[Given annotation to 
query]]
+@in an: ptr(const(Efl.Canvas.Text.Annotation)); [[Given annotation 
to query]]
 @out x: Evas.Coord; [[x coordinate of the annotation]]
 @out y: Evas.Coord; [[y coordinate of the annotation]]
 @out w: Evas.Coord; [[w coordinate of the annotation]]
@@ -351,7 +351,7 @@ class Efl.Canvas.Text (Efl.Canvas.Object, Efl.Text)
  ]]
  legacy: null;
  params {
- @in annotation: const(Efl.Canvas.Text.Annotation)*; [[Annotation
+ @in annotation: ptr(const(Efl.Canvas.Text.Annotation)); 
[[Annotation
  handle to query]]
  @in start: Efl.Canvas.Text.Cursor; [[Cursor to be set to the start
  position of the annotation in the text]]

-- 




[EGIT] [core/efl] master 14/20: evas_canvas3d_primitive: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 418f68020faf511f658cfcc11403895b81e9f523
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:08:10 2016 +0100

evas_canvas3d_primitive: remove pointer
---
 src/lib/evas/canvas/evas_canvas3d_primitive.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_canvas3d_primitive.eo 
b/src/lib/evas/canvas/evas_canvas3d_primitive.eo
index 18e43ff..97134c7 100644
--- a/src/lib/evas/canvas/evas_canvas3d_primitive.eo
+++ b/src/lib/evas/canvas/evas_canvas3d_primitive.eo
@@ -108,7 +108,7 @@ class Evas.Canvas3D.Primitive (Evas.Canvas3D.Object)
Default surface is $null]]
  }
  values {
-surface: Evas.Canvas3D.Surface_Func *; [[Pointer to customers 
surface function.]]
+surface: ptr(Evas.Canvas3D.Surface_Func); [[Pointer to customers 
surface function.]]
  }
   }
   @property tex_scale {

-- 




[EGIT] [core/efl] master 09/20: efl_canvas_text_cursor: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit d433f1e73cf6bc9c8afe4bea6f5432b17ddf7812
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:04:00 2016 +0100

efl_canvas_text_cursor: remove pointers
---
 src/lib/evas/canvas/efl_canvas_text_cursor.eo | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_text_cursor.eo 
b/src/lib/evas/canvas/efl_canvas_text_cursor.eo
index 7b789c1..47d22e1 100644
--- a/src/lib/evas/canvas/efl_canvas_text_cursor.eo
+++ b/src/lib/evas/canvas/efl_canvas_text_cursor.eo
@@ -183,7 +183,7 @@ class Efl.Canvas.Text.Cursor (Efl.Object)
 legacy: null;
  }
  values {
-annotation: Efl.Canvas.Text.Annotation *;
+annotation: ptr(Efl.Canvas.Text.Annotation);
  }
   }
   object_item_insert {
@@ -198,7 +198,7 @@ class Efl.Canvas.Text.Cursor (Efl.Object)
 @in format: string; [[Format of the inserted item.
 See Format styles.]]
  }
- return: Efl.Canvas.Text.Annotation *; [[The annotation handle of the
+ return: ptr(Efl.Canvas.Text.Annotation); [[The annotation handle of 
the
  inserted item.]]
   }
}

-- 




[EGIT] [core/efl] master 05/20: ector_renderer_gl: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 792c1f2308f3839d0cbeb6315858e8edd32a4f12
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:00:28 2016 +0100

ector_renderer_gl: remove pointer
---
 src/lib/ector/gl/ector_renderer_gl.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ector/gl/ector_renderer_gl.eo 
b/src/lib/ector/gl/ector_renderer_gl.eo
index 3a9dcd6..82fb387 100644
--- a/src/lib/ector/gl/ector_renderer_gl.eo
+++ b/src/lib/ector/gl/ector_renderer_gl.eo
@@ -7,7 +7,7 @@ abstract Ector.Renderer.GL (Ector.Renderer)
  return: bool;
 params {
@in flags: uint64;
-   @in vertex: GLshort*;
+   @in vertex: ptr(GLshort);
@in vertex_count: uint;
@in mul_col: uint;
 }

-- 




[EGIT] [core/efl] master 20/20: evas_textgrid: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 4fa4be2b14149483fa7aa58b6d0c6e3bf4ed542d
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:13:30 2016 +0100

evas_textgrid: remove pointers
---
 src/lib/evas/canvas/evas_textgrid.eo | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_textgrid.eo 
b/src/lib/evas/canvas/evas_textgrid.eo
index 974fd17..30de3d2 100644
--- a/src/lib/evas/canvas/evas_textgrid.eo
+++ b/src/lib/evas/canvas/evas_textgrid.eo
@@ -126,7 +126,7 @@ class Evas.Textgrid (Efl.Canvas.Object, Efl.Text.Properties)
 
  params {
 @in y: int; [[The row index of the grid.]]
-@in row: const(Evas.Textgrid.Cell)*; [[The string as a sequence of 
#Evas_Textgrid_Cell.]]
+@in row: ptr(const(Evas.Textgrid.Cell)); [[The string as a 
sequence of #Evas_Textgrid_Cell.]]
  }
   }
   cellrow_get @const {
@@ -139,7 +139,7 @@ class Evas.Textgrid (Efl.Canvas.Object, Efl.Text.Properties)
See also @.cellrow_set, @.size.set and @.update_add.
 
@since 1.7]]
- return: Evas.Textgrid.Cell*; [[A pointer to the first cell of the 
given row.]]
+ return: ptr(Evas.Textgrid.Cell); [[A pointer to the first cell of the 
given row.]]
  params {
 @in y: int; [[The row index of the grid.]]
  }

-- 




[EGIT] [core/efl] master 08/20: ecore_exe: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 8841f7e781bbe24ff38a43c3faa496331713efcf
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:03:14 2016 +0100

ecore_exe: remove pointers
---
 src/lib/ecore/ecore_exe.eo | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore/ecore_exe.eo b/src/lib/ecore/ecore_exe.eo
index 18e6502..b300b7b 100644
--- a/src/lib/ecore/ecore_exe.eo
+++ b/src/lib/ecore/ecore_exe.eo
@@ -3,7 +3,7 @@
 struct Ecore.Exe.Event_Data.Line
 {
[[A structure that stores information of lines data from a child process.]]
-   line: char *; [[The bytes of a line of buffered data]]
+   line: ptr(char); [[The bytes of a line of buffered data]]
size: int; [[The size of the line buffer in bytes]]
 }
 
@@ -17,7 +17,7 @@ struct Ecore.Exe.Event_Data
exe: Efl.Object;  [[The handle to the process. FIXME: should actually be 
Ecore.Exe, workaround cyclic]]
data: void_ptr; [[the raw binary data from the child process that was 
received]]
size: int; [[the size of this data in bytes]]
-   lines: Ecore.Exe.Event_Data.Line *; [[an array of line data if line 
buffered, the last one has it's line member set to $NULL]]
+   lines: ptr(Ecore.Exe.Event_Data.Line); [[an array of line data if line 
buffered, the last one has it's line member set to $NULL]]
 }
 
 enum Ecore.Exe_Flags

-- 




[EGIT] [core/efl] master 16/20: evas_canvas3d_light: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit af459946792f9b029f033ce42ab3eae59b647c0b
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:09:22 2016 +0100

evas_canvas3d_light: remove pointer
---
 src/lib/evas/canvas/evas_canvas3d_light.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_canvas3d_light.eo 
b/src/lib/evas/canvas/evas_canvas3d_light.eo
index c5458d4..cb47805 100644
--- a/src/lib/evas/canvas/evas_canvas3d_light.eo
+++ b/src/lib/evas/canvas/evas_canvas3d_light.eo
@@ -193,7 +193,7 @@ class Evas.Canvas3D.Light (Evas.Canvas3D.Object)
 
See also @.projection_perspective_set, @.projection_ortho_set and 
@.projection_frustum_set]]
  params {
-   @in matrix: const(Evas.Real) *; [[Projection Matrix. Pointer to the 
array of 16 Evas.Real values in column major order.]]
+   @in matrix: ptr(const(Evas.Real)); [[Projection Matrix. Pointer to 
the array of 16 Evas.Real values in column major order.]]
  }
   }
 

-- 




[EGIT] [core/efl] master 04/20: ector_cairo_surface: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 4762516beb70c1389853979924454012447740ab
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:59:08 2016 +0100

ector_cairo_surface: remove pointer
---
 src/lib/ector/cairo/ector_cairo_surface.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ector/cairo/ector_cairo_surface.eo 
b/src/lib/ector/cairo/ector_cairo_surface.eo
index 9a89238..e06ae68 100644
--- a/src/lib/ector/cairo/ector_cairo_surface.eo
+++ b/src/lib/ector/cairo/ector_cairo_surface.eo
@@ -15,7 +15,7 @@ class Ector.Cairo.Surface (Efl.Object, Ector.Surface)
 get {
 }
 values {
-   ctx: cairo_t *; [[Cairo context]]
+   ctx: ptr(cairo_t); [[Cairo context]]
 }
   }
   symbol_get {

-- 




[EGIT] [core/efl] master 15/20: evas_canvas3d_node: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit db3bbe821fd8a6c594710cd559b5008bed3a1c74
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:08:54 2016 +0100

evas_canvas3d_node: remove pointers
---
 src/lib/evas/canvas/evas_canvas3d_node.eo | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/lib/evas/canvas/evas_canvas3d_node.eo 
b/src/lib/evas/canvas/evas_canvas3d_node.eo
index 4ecb412..541d97a 100644
--- a/src/lib/evas/canvas/evas_canvas3d_node.eo
+++ b/src/lib/evas/canvas/evas_canvas3d_node.eo
@@ -212,12 +212,12 @@ class Evas.Canvas3D.Node (Evas.Canvas3D.Object)
   bounding_box_get{
  [[Get axis-aligned bounding box (AABB) of the given node.]]
  params {
-@in x: Evas.Real *; [[Pointer to receive X coordinate of the first 
point of AABB.]]
-@in y: Evas.Real *; [[Pointer to receive Y coordinate of the first 
point of AABB.]]
-@in z: Evas.Real *; [[Pointer to receive Z coordinate of the first 
point of AABB.]]
-@in x2: Evas.Real *; [[Pointer to receive X coordinate of the 
second point of AABB.]]
-@in y2: Evas.Real *; [[Pointer to receive Y coordinate of the 
second point of AABB.]]
-@in z2: Evas.Real *; [[Pointer to receive Z coordinate of the 
second point of AABB.]]
+@in x: ptr(Evas.Real); [[Pointer to receive X coordinate of the 
first point of AABB.]]
+@in y: ptr(Evas.Real); [[Pointer to receive Y coordinate of the 
first point of AABB.]]
+@in z: ptr(Evas.Real); [[Pointer to receive Z coordinate of the 
first point of AABB.]]
+@in x2: ptr(Evas.Real); [[Pointer to receive X coordinate of the 
second point of AABB.]]
+@in y2: ptr(Evas.Real); [[Pointer to receive Y coordinate of the 
second point of AABB.]]
+@in z2: ptr(Evas.Real); [[Pointer to receive Z coordinate of the 
second point of AABB.]]
  }
   }
 
@@ -225,10 +225,10 @@ class Evas.Canvas3D.Node (Evas.Canvas3D.Object)
  [[Get bounding sphere of the given node.]]
  params {
 
-@in x: Evas.Real *; [[Pointer to receive X coordinate of the 
center of sphere.]]
-@in y: Evas.Real *; [[Pointer to receive Y coordinate of the 
center of sphere.]]
-@in z: Evas.Real *; [[Pointer to receive Z coordinate of center of 
sphere.]]
-@in r: Evas.Real *; [[Pointer to receive radius of center of 
sphere.]]
+@in x: ptr(Evas.Real); [[Pointer to receive X coordinate of the 
center of sphere.]]
+@in y: ptr(Evas.Real); [[Pointer to receive Y coordinate of the 
center of sphere.]]
+@in z: ptr(Evas.Real); [[Pointer to receive Z coordinate of center 
of sphere.]]
+@in r: ptr(Evas.Real); [[Pointer to receive radius of center of 
sphere.]]
  }
   }
 

-- 




[EGIT] [core/efl] master 17/20: efl_vg: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 01117bf898673ac93aa3d15831b21d80522de9dc
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:10:01 2016 +0100

efl_vg: remove pointer
---
 src/lib/evas/canvas/efl_vg.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/efl_vg.eo b/src/lib/evas/canvas/efl_vg.eo
index 3a776e5..2fb7330 100644
--- a/src/lib/evas/canvas/efl_vg.eo
+++ b/src/lib/evas/canvas/efl_vg.eo
@@ -41,7 +41,7 @@ abstract Efl.VG (Efl.Object, Efl.Gfx, Efl.Gfx.Stack)
   @since 1.14]]
  }
  values {
-m: const(Eina.Matrix3) *; [[transformation matrix.]]
+m: ptr(const(Eina.Matrix3)); [[transformation matrix.]]
  }
   }
   @property origin {

-- 




[EGIT] [core/efl] master 19/20: evas_box: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit df47f92236e40fe03f162f2fc22338716735eaf9
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:13:00 2016 +0100

evas_box: remove pointers
---
 src/lib/evas/canvas/evas_box.eo | 58 -
 1 file changed, 29 insertions(+), 29 deletions(-)

diff --git a/src/lib/evas/canvas/evas_box.eo b/src/lib/evas/canvas/evas_box.eo
index ceca8e6..9d4ec4e 100644
--- a/src/lib/evas/canvas/evas_box.eo
+++ b/src/lib/evas/canvas/evas_box.eo
@@ -127,7 +127,7 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
be set, by the evas_object_size_hint_{min,max}_set
functions.]]
  params {
-  priv: Evas_Object_Box_Data *;
+  priv: ptr(Evas_Object_Box_Data);
   data: void_ptr;
  }
   }
@@ -138,7 +138,7 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
evas_object_box_layout_horizontal. The description of its
behaviour can be derived from that function's documentation.]]
  params {
-  priv: Evas_Object_Box_Data *;
+  priv: ptr(Evas_Object_Box_Data);
   data: void_ptr;
  }
   }
@@ -184,7 +184,7 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
try to resize this child element to the exact height of its parent
(respecting the max hint on the child's height).]]
  params {
-  priv: Evas_Object_Box_Data *;
+  priv: ptr(Evas_Object_Box_Data);
   data: void_ptr;
  }
 
@@ -204,7 +204,7 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
evas_object_box_layout_flow_horizontal. The description of its
behaviour can be derived from that function's documentation.]]
  params {
-  priv: Evas_Object_Box_Data *;
+  priv: ptr(Evas_Object_Box_Data);
   data: void_ptr;
  }
   }
@@ -212,7 +212,7 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
  [[No description supplied by the EAPI.]]
  legacy: null;
  params {
-@in opt: Evas_Object_Box_Option *;
+@in opt: ptr(Evas_Object_Box_Option);
  }
   }
   insert_after {
@@ -229,7 +229,7 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
Note: This call will trigger the box's
_Evas_Object_Box_Api.insert_after smart function.]]
 
- return: Evas_Object_Box_Option *; [[A box option bound to the 
recently added box item or
+ return: ptr(Evas_Object_Box_Option); [[A box option bound to the 
recently added box item or
  $null, on errors]]
  params {
 @in child: Efl.Canvas.Object @nonull; [[A child Evas object to be 
made a member of $o.]]
@@ -277,7 +277,7 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
Note: This call will trigger the box's _Evas_Object_Box_Api.append
smart function.]]
 
- return: Evas_Object_Box_Option *; [[A box option bound to the 
recently added box item or
+ return: ptr(Evas_Object_Box_Option); [[A box option bound to the 
recently added box item or
  $null, on errors.]]
  params {
 @in child: Efl.Canvas.Object @nonull; [[A child Evas object to be 
made a member of $o.]]
@@ -313,7 +313,7 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
Note: This call will trigger the box's
_Evas_Object_Box_Api.prepend smart function.]]
 
- return: Evas_Object_Box_Option *; [[A box option bound to the 
recently added box item or
+ return: ptr(Evas_Object_Box_Option); [[A box option bound to the 
recently added box item or
  $null, on errors.]]
  params {
 @in child: Efl.Canvas.Object @nonull; [[A child Evas object to be 
made a member of $o.]]
@@ -331,7 +331,7 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
   internal_append {
  [[No description supplied by the EAPI.]]
  legacy: null;
- return: Evas_Object_Box_Option *;
+ return: ptr(Evas_Object_Box_Option);
  params {
 @in child: Efl.Canvas.Object;
  }
@@ -346,12 +346,12 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
 
  return: bool; [[$ture on success, $false on failure.]]
  params {
-@in opt: Evas_Object_Box_Option * @nonull; [[The box option 
structure bound to the child box element
+@in opt: ptr(Evas_Object_Box_Option) @nonull; [[The box option 
structure bound to the child box element
  to set a property 
on.]]
 @in property: int; [[The numerical ID of the given property.]]
-@in args: va_list *; [[The variable argument list implementing the 
value to

[EGIT] [core/efl] master 12/20: evas_canvas3d_camera: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit b347c05f11ae1149dca093a6d75ef8fdd5df3d14
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:07:15 2016 +0100

evas_canvas3d_camera: remove pointer
---
 src/lib/evas/canvas/evas_canvas3d_camera.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_canvas3d_camera.eo 
b/src/lib/evas/canvas/evas_canvas3d_camera.eo
index 18d22ae..1950549 100644
--- a/src/lib/evas/canvas/evas_canvas3d_camera.eo
+++ b/src/lib/evas/canvas/evas_canvas3d_camera.eo
@@ -11,7 +11,7 @@ class Evas.Canvas3D.Camera (Evas.Canvas3D.Object)
 
See also @.projection_perspective_set, @.projection_ortho_set and 
@.projection_frustum_set.]]
  params {
-   @in matrix: const(Evas.Real)*; [[Projection Matrix]]
+   @in matrix: ptr(const(Evas.Real)); [[Projection Matrix]]
  }
   }
 

-- 




[EGIT] [core/efl] master 18/20: efl_canvas_output: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 713df88b66d9cb0be1fa02105860043da0125a3e
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:10:40 2016 +0100

efl_canvas_output: remove pointer
---
 src/lib/evas/canvas/efl_canvas_output.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/efl_canvas_output.eo 
b/src/lib/evas/canvas/efl_canvas_output.eo
index cb7137f..f6c8e24 100644
--- a/src/lib/evas/canvas/efl_canvas_output.eo
+++ b/src/lib/evas/canvas/efl_canvas_output.eo
@@ -38,7 +38,7 @@ class Efl.Canvas.Output (Efl.Object, Efl.Gfx.Buffer)
 [[Gets the engine specific output parameters for a given output.]]
  }
  values {
-info: Evas.Engine_Info *; [[The engine parameters.]]
+info: ptr(Evas.Engine_Info); [[The engine parameters.]]
  }
   }
}

-- 




[EGIT] [core/efl] master 06/20: efl_loop: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit d773f33612f5da1e5540a366253dc977fdcf94ed
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:01:31 2016 +0100

efl_loop: remove pointers
---
 src/lib/ecore/efl_loop.eo | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore/efl_loop.eo b/src/lib/ecore/efl_loop.eo
index 2ea90f2..18279d0 100644
--- a/src/lib/ecore/efl_loop.eo
+++ b/src/lib/ecore/efl_loop.eo
@@ -33,7 +33,7 @@ class Efl.Loop (Efl.Object)
  ]]
  get {}
  values {
-version: const(Efl.Version)*;
+version: ptr(const(Efl.Version));
  }
   }
   @property efl_version {
@@ -43,7 +43,7 @@ class Efl.Loop (Efl.Object)
  ]]
  get {}
  values {
-version: const(Efl.Version)*;
+version: ptr(const(Efl.Version));
  }
   }
   iterate {

-- 




[EGIT] [core/efl] master 01/20: ector_buffer: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit bc8601690d5a8427153e37278ca4e321b11eb3ef
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:57:00 2016 +0100

ector_buffer: remove pointers
---
 src/lib/ector/ector_buffer.eo | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ector/ector_buffer.eo b/src/lib/ector/ector_buffer.eo
index cdee089..abe4ab7 100644
--- a/src/lib/ector/ector_buffer.eo
+++ b/src/lib/ector/ector_buffer.eo
@@ -100,12 +100,12 @@ mixin Ector.Buffer
 @in cspace: Efl.Gfx.Colorspace; [[Requested colorspace, may 
trigger conversion on the fly.]]
 @out length: uint; [[Length in bytes of the returned buffer]]
  }
- return: uint8*; [[A temporary memory buffer containing the pixels 
requested.]]
+ return: ptr(uint8); [[A temporary memory buffer containing the pixels 
requested.]]
   }
   span_free @virtual_pure {
  [[Must be called as soon as possible after span_get]]
  params {
-data: uint8*; [[Data to be freed]]
+data: ptr(uint8); [[Data to be freed]]
  }
   }
   @property flags {

-- 




[EGIT] [core/efl] master 03/20: ector_gl_surface: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 1b4cea9b0805c3e6295d8130643d701c1fd7bb92
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:58:41 2016 +0100

ector_gl_surface: remove pointers
---
 src/lib/ector/gl/ector_gl_surface.eo | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ector/gl/ector_gl_surface.eo 
b/src/lib/ector/gl/ector_gl_surface.eo
index 8d31f24..edefce1 100644
--- a/src/lib/ector/gl/ector_gl_surface.eo
+++ b/src/lib/ector/gl/ector_gl_surface.eo
@@ -14,7 +14,7 @@ class Ector.GL.Surface (Ector.GL.Buffer, Ector.Surface)
  return: bool;
 params {
@in flags: uint64;
-   @in vertex: GLshort *;
+   @in vertex: ptr(GLshort);
@in vertex_count: uint;
@in mul_col: uint;
 }
@@ -23,7 +23,7 @@ class Ector.GL.Surface (Ector.GL.Buffer, Ector.Surface)
  return: bool;
 params {
 @in op: Efl.Gfx.Render_Op;
-   @in clips: array; [[array of @Eina.Rectangle 
clip]]
+   @in clips: array; [[array of @Eina.Rectangle 
clip]]
 }
   }
}

-- 




[EGIT] [core/efl] master 07/20: efl_io_copier: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 54ad4f24d2119f7be59511178514202ee935ad07
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:02:24 2016 +0100

efl_io_copier: remove pointers
---
 src/lib/ecore/efl_io_copier.eo | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/lib/ecore/efl_io_copier.eo b/src/lib/ecore/efl_io_copier.eo
index 2967120..04a0a83 100644
--- a/src/lib/ecore/efl_io_copier.eo
+++ b/src/lib/ecore/efl_io_copier.eo
@@ -52,7 +52,7 @@ class Efl.Io.Copier (Efl.Loop_User, Efl.Io.Closer) {
[[Change line delimiter to use. If NULL or empty, no delimiter 
is to be used]]
 }
 values {
-slice: const(Eina.Slice)*; [[The contents may contain \0 and 
will be copied]]
+slice: ptr(const(Eina.Slice)); [[The contents may contain \0 
and will be copied]]
 }
 }
 
@@ -109,7 +109,7 @@ class Efl.Io.Copier (Efl.Loop_User, Efl.Io.Closer) {
  The buffer is then owned by caller, which should call
  eina_binbuf_free() when it's done.
]]
-   return: free(own(Eina.Binbuf*), eina_binbuf_free) @warn_unused;
+   return: free(own(ptr(Eina.Binbuf)), eina_binbuf_free) @warn_unused;
 }
 }
 
@@ -117,8 +117,8 @@ class Efl.Io.Copier (Efl.Loop_User, Efl.Io.Closer) {
 done; [[All available data was copied from source to destination]]
 error: Eina.Error; [[An error happened and the copy stopped]]
 progress; [[Total size changed or Data was read/written]]
-data: const(Eina.Slice)*; [[When data is read to internal buffer, it's 
emitted in this event. The memory is only valid during event callback 
dispatched and should not be modified.]]
-line: const(Eina.Slice)*; [[If @.line_delimiter is set, will be 
emitted with current line. The memory is only valid during event callback 
dispatched and should not be modified.]]
+data: ptr(const(Eina.Slice)); [[When data is read to internal buffer, 
it's emitted in this event. The memory is only valid during event callback 
dispatched and should not be modified.]]
+line: ptr(const(Eina.Slice)); [[If @.line_delimiter is set, will be 
emitted with current line. The memory is only valid during event callback 
dispatched and should not be modified.]]
 }
 
 implements {

-- 




[EGIT] [core/efl] master 02/20: ector_renderer: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 00abb62e5358046b3d403501d2db27d778810574
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:57:39 2016 +0100

ector_renderer: remove pointers
---
 src/lib/ector/ector_renderer.eo | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ector/ector_renderer.eo b/src/lib/ector/ector_renderer.eo
index 61fc3fb..0f3c66d 100644
--- a/src/lib/ector/ector_renderer.eo
+++ b/src/lib/ector/ector_renderer.eo
@@ -33,7 +33,7 @@ abstract Ector.Renderer (Efl.Object)
 get {
 }
 values {
-   m: const(Eina.Matrix3) *;
+   m: ptr(const(Eina.Matrix3));
 }
   }
   @property origin {
@@ -114,7 +114,7 @@ abstract Ector.Renderer (Efl.Object)
  return: bool @warn_unused;
 params {
@in op: Efl.Gfx.Render_Op;
-   @in clips: array; [[array of @Eina.Rectangle 
clip]]
+   @in clips: array; [[array of @Eina.Rectangle 
clip]]
@in mul_col: uint;
 }
   }

-- 




[EGIT] [core/efl] master 11/20: evas_canvas: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 06e0473a7989ea0332a93c7621b6601f4e1527e2
Author: Daniel Kolesa 
Date:   Thu Nov 3 17:06:28 2016 +0100

evas_canvas: remove pointers
---
 src/lib/evas/canvas/evas_canvas.eo | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/lib/evas/canvas/evas_canvas.eo 
b/src/lib/evas/canvas/evas_canvas.eo
index b1104b3..bd60468 100644
--- a/src/lib/evas/canvas/evas_canvas.eo
+++ b/src/lib/evas/canvas/evas_canvas.eo
@@ -114,7 +114,7 @@ class Evas.Canvas (Efl.Object, Efl.Canvas, Efl.Animator, 
Efl.Input.Interface)
 ]]
  }
  values {
-info: Evas.Engine_Info *; [[The pointer to the engine info to 
use.]]
+info: ptr(Evas.Engine_Info); [[The pointer to the engine info to 
use.]]
  }
   }
   @property focus {
@@ -182,7 +182,7 @@ class Evas.Canvas (Efl.Object, Efl.Canvas, Efl.Animator, 
Efl.Input.Interface)
   This is required to check for which locks are set at a given
   time with the \@ref evas_key_lock_is_set function.
 ]]
-return: const(Evas.Lock)* @warn_unused; [[
+return: ptr(const(Evas.Lock)) @warn_unused; [[
An Evas_Lock handle to query Evas' keys subsystem with
\@ref evas_key_lock_is_set, or $null on error.
 ]]
@@ -366,7 +366,7 @@ class Evas.Canvas (Efl.Object, Efl.Canvas, Efl.Animator, 
Efl.Input.Interface)
   See also @.key_modifier_add, @.key_modifier_del,
   @.key_modifier_on, @.key_modifier_off.
 ]]
-return: const(Evas.Modifier)* @warn_unused; [[
+return: ptr(const(Evas.Modifier)) @warn_unused; [[
An Evas_Modifier handle to query Evas' keys subsystem
with \@ref evas_key_modifier_is_set, or $null on error.
 ]]
@@ -571,7 +571,7 @@ class Evas.Canvas (Efl.Object, Efl.Canvas, Efl.Animator, 
Efl.Input.Interface)
 
@since 1.15
  ]]
- return: free(own(list), evas_render_updates_free)
+ return: free(own(list), evas_render_updates_free)
 @warn_unused; [[
 A newly allocated list of updated rectangles of the canvas
 ($Eina.Rectangle structs). Free this list with
@@ -856,7 +856,7 @@ class Evas.Canvas (Efl.Object, Efl.Canvas, Efl.Animator, 
Efl.Input.Interface)
 
  See the full @ref Example_Evas_Events "example".
  */
- return: free(own(list), evas_render_updates_free)
+ return: free(own(list), evas_render_updates_free)
 @warn_unused; [[
 A newly allocated list of updated rectangles of the canvas
 ($Eina.Rectangle structs). Free this list with

-- 




[EGIT] [core/enlightenment] master 01/01: determine wl pixmap argb solely based on image_argb flag

2016-11-03 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit e3590f6c3e290f7eaf53f2a523433c110eea71d9
Author: Mike Blumenkrantz 
Date:   Thu Nov 3 12:06:55 2016 -0400

determine wl pixmap argb solely based on image_argb flag

the existence of a buffer does not mean that the pixmap can stop being
argb

fixes random black rects
---
 src/bin/e_pixmap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c
index 4d28814..b6fda25 100644
--- a/src/bin/e_pixmap.c
+++ b/src/bin/e_pixmap.c
@@ -898,7 +898,7 @@ e_pixmap_image_is_argb(const E_Pixmap *cp)
 #endif
   case E_PIXMAP_TYPE_WL:
 #ifdef HAVE_WAYLAND
-return ((cp->buffer != NULL) && (cp->image_argb));
+return cp->image_argb;
 #endif
 default: break;
  }

-- 




[EGIT] [core/efl] master 07/09: efl_gfx_gradient: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 3b2fdfcc60edeff079b8f628d7d88a8dd191ecac
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:50:07 2016 +0100

efl_gfx_gradient: remove pointer
---
 src/lib/efl/interfaces/efl_gfx_gradient.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_gradient.eo 
b/src/lib/efl/interfaces/efl_gfx_gradient.eo
index 80a33b2..c8d4b3c 100644
--- a/src/lib/efl/interfaces/efl_gfx_gradient.eo
+++ b/src/lib/efl/interfaces/efl_gfx_gradient.eo
@@ -13,7 +13,7 @@ interface Efl.Gfx.Gradient
 [[Get the list of color stops.]]
  }
  values {
-colors: const(Efl.Gfx.Gradient.Stop) *; [[Color stops list]]
+colors: ptr(const(Efl.Gfx.Gradient.Stop)); [[Color stops list]]
 length: uint; [[Length of the list]]
  }
   }

-- 




[EGIT] [core/efl] master 02/09: efl_input_event: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 3c4e0ff76e84a7983a497e3588b1fc2c24aca8e1
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:43:52 2016 +0100

efl_input_event: remove pointer
---
 src/lib/evas/canvas/efl_input_event.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/efl_input_event.eo 
b/src/lib/evas/canvas/efl_input_event.eo
index 9bc90e7..884494d 100644
--- a/src/lib/evas/canvas/efl_input_event.eo
+++ b/src/lib/evas/canvas/efl_input_event.eo
@@ -68,7 +68,7 @@ mixin Efl.Input.Event
   instance_get @class @protected @virtual_pure {
  params {
 @in owner: Efl.Object;
-@out priv: void*;
+@out priv: void_ptr;
  }
  return: own(Efl.Input.Event);
   }

-- 




[EGIT] [core/efl] master 04/09: efl_gfx_buffer: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 0f20af41eabfd2c329bd0b32a41d834f28007859
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:46:31 2016 +0100

efl_gfx_buffer: remove pointers
---
 src/lib/efl/interfaces/efl_gfx_buffer.eo | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_buffer.eo 
b/src/lib/efl/interfaces/efl_gfx_buffer.eo
index 1b8f6b1..3d26624 100644
--- a/src/lib/efl/interfaces/efl_gfx_buffer.eo
+++ b/src/lib/efl/interfaces/efl_gfx_buffer.eo
@@ -159,7 +159,7 @@ interface Efl.Gfx.Buffer ()
valid anymore.
  ]]
  params {
-@in slice: const(Eina.Rw_Slice)*; [[Data slice returned by a 
previous call to map.]]
+@in slice: ptr(const(Eina.Rw_Slice)); [[Data slice returned by a 
previous call to map.]]
  }
  return: bool; [[$true on success, $false otherwise]]
   }
@@ -181,7 +181,7 @@ interface Efl.Gfx.Buffer ()
$slice should not be the return value of @.buffer_managed_get.
  ]]
  params {
-@in slice: const(Eina.Slice)* @nullable; [[If $null, allocates an 
empty buffer]]
+@in slice: ptr(const(Eina.Slice)) @nullable; [[If $null, allocates 
an empty buffer]]
 @in width: int; [[Width]]
 @in height: int; [[Height]]
 @in stride: int @optional; [[If 0, automatically guessed from the 
$width.]]
@@ -207,7 +207,7 @@ interface Efl.Gfx.Buffer ()
internally.
  ]]
  params {
-@in slice: const(Eina.Slice)* @nullable; [[If $null, detaches the 
previous buffer.]]
+@in slice: ptr(const(Eina.Slice)) @nullable; [[If $null, detaches 
the previous buffer.]]
 @in width: int; [[Width]]
 @in height: int; [[Height]]
 @in stride: int @optional; [[If 0, automatically guessed from the 
$width.]]

-- 




[EGIT] [core/efl] master 09/09: efl_io_buffer: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 61d87af9e63408c9e6aeaec1b06b601b55369a6d
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:52:08 2016 +0100

efl_io_buffer: remove pointer
---
 src/lib/efl/interfaces/efl_io_buffer.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/efl/interfaces/efl_io_buffer.eo 
b/src/lib/efl/interfaces/efl_io_buffer.eo
index 10672d2..1b3f11f 100644
--- a/src/lib/efl/interfaces/efl_io_buffer.eo
+++ b/src/lib/efl/interfaces/efl_io_buffer.eo
@@ -96,7 +96,7 @@ class Efl.Io.Buffer (Efl.Object, Efl.Io.Reader, 
Efl.Io.Writer, Efl.Io.Closer, Ef
 
   The returned memory must be freed with eina_binbuf_free().
 ]]
-return: free(own(Eina.Binbuf*), eina_binbuf_free) @warn_unused;
+return: free(own(ptr(Eina.Binbuf)), eina_binbuf_free) @warn_unused;
 }
 }
 

-- 




[EGIT] [core/efl] master 03/09: efl_config: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit d00c22934fe4f41ecff3c9b6281c29418f15fa8d
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:45:19 2016 +0100

efl_config: remove pointers
---
 src/lib/efl/interfaces/efl_config.eo | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_config.eo 
b/src/lib/efl/interfaces/efl_config.eo
index 0a5b119..2052c57 100644
--- a/src/lib/efl/interfaces/efl_config.eo
+++ b/src/lib/efl/interfaces/efl_config.eo
@@ -6,7 +6,7 @@ interface Efl.Config ()
   config_set {
  params {
 name: string; [[Configuration option name]]
-val: const(generic_value)*; [[Configuration option value]]
+val: ptr(const(generic_value)); [[Configuration option value]]
  }
  return: bool; [[$false in case of error: value type was invalid, the
  config can't be changed, config does not exist...]]
@@ -15,14 +15,14 @@ interface Efl.Config ()
  params {
 name: string; [[Configuration option name]]
  }
- return: free(own(generic_value *), eina_value_free); [[Configuration 
option value]]
+ return: free(own(ptr(generic_value)), eina_value_free); 
[[Configuration option value]]
   }
   config_list_get @const {
  [[Returns a list of generic values under a given key.]]
  params {
 @in name: string; [[Configuration option name]]
  }
- return: free(own(iterator), eina_iterator_free); [[
+ return: free(own(iterator), eina_iterator_free); 
[[
  List of configuration option values]]
   }
}

-- 




[EGIT] [core/efl] master 05/09: efl_gfx_shape: remove pointers

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 6e0e4a8fe5eef07ca547a85ab02e25ac0d2cfb76
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:48:50 2016 +0100

efl_gfx_shape: remove pointers
---
 src/lib/efl/interfaces/efl_gfx_shape.eo | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_shape.eo 
b/src/lib/efl/interfaces/efl_gfx_shape.eo
index 9cf053c..743c61e 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.eo
+++ b/src/lib/efl/interfaces/efl_gfx_shape.eo
@@ -65,7 +65,7 @@ mixin Efl.Gfx.Shape
  get {
  }
  values {
-dash: const(Efl.Gfx.Dash) *;
+dash: ptr(const(Efl.Gfx.Dash));
 length: uint;
  }
   }
@@ -131,8 +131,8 @@ mixin Efl.Gfx.Shape
  get {
  }
  values {
-op: const(Efl.Gfx.Path.Command_Type) *; [[Command list]]
-points: const(double) *; [[Point list]]
+op: ptr(const(Efl.Gfx.Path.Command_Type)); [[Command list]]
+points: ptr(const(double)); [[Point list]]
  }
   }
   @property path_length {

-- 




[EGIT] [core/efl] master 08/09: efl_model: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 73ceac1f6cd4a57f0c926c191640c1c3a5c93682
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:51:09 2016 +0100

efl_model: remove pointer
---
 src/lib/efl/interfaces/efl_model.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/efl/interfaces/efl_model.eo 
b/src/lib/efl/interfaces/efl_model.eo
index 1a654a5..e3d9359 100644
--- a/src/lib/efl/interfaces/efl_model.eo
+++ b/src/lib/efl/interfaces/efl_model.eo
@@ -47,7 +47,7 @@ interface Efl.Model ()
 ]]
params {
@in property: string; [[Property name]]
-   @in value: const(generic_value)*; [[New value]]
+   @in value: ptr(const(generic_value)); [[New value]]
}
return: future; [[Future returning the recorded 
value or error]]
 }

-- 




[EGIT] [core/efl] master 06/09: efl_file: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 6369ccb1d850a54f45417148bb8d776ca3feef74
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:49:39 2016 +0100

efl_file: remove pointer
---
 src/lib/efl/interfaces/efl_file.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/efl/interfaces/efl_file.eo 
b/src/lib/efl/interfaces/efl_file.eo
index 7696070..c8c4627 100644
--- a/src/lib/efl/interfaces/efl_file.eo
+++ b/src/lib/efl/interfaces/efl_file.eo
@@ -27,7 +27,7 @@ interface Efl.File {
   @since 1.10]]
  }
  values {
-f: const(Eina.File)*; [[The handler to an Eina_File that will be 
used as image source]]
+f: ptr(const(Eina.File)); [[The handler to an Eina_File that will 
be used as image source]]
 key: string @optional; [[The group that the image belongs to, in 
case 
it's an EET(including Edje case) 
file. This can be used
as a key inside evas image cache if 
this is a normal image

-- 




[EGIT] [core/efl] master 01/09: efl_gfx_types: remove pointer

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 50c9ef12df5af448e6ffe0cda88c8aadebd8c408
Author: Daniel Kolesa 
Date:   Thu Nov 3 16:42:44 2016 +0100

efl_gfx_types: remove pointer
---
 src/lib/efl/interfaces/efl_gfx_types.eot | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_types.eot 
b/src/lib/efl/interfaces/efl_gfx_types.eot
index 29841a6..05f3db3 100644
--- a/src/lib/efl/interfaces/efl_gfx_types.eot
+++ b/src/lib/efl/interfaces/efl_gfx_types.eot
@@ -126,7 +126,7 @@ struct Efl.Gfx.Stroke
   width: double; [[Stroke width]]
   centered: double; [[Stroke centered]]
   color: Efl.Gfx.Stroke.Color; [[Stroke color]]
-  dash: Efl.Gfx.Dash*; [[Stroke dash]]
+  dash: ptr(Efl.Gfx.Dash); [[Stroke dash]]
   dash_length: uint; [[Stroke dash length]]
   cap: Efl.Gfx.Cap; [[Stroke cap]]
   join: Efl.Gfx.Join; [[Stroke join]]

-- 




[EGIT] [core/enlightenment] master 01/01: return correct values from bryce post event callbacks

2016-11-03 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=33740ca30642a644d465e7a3c58a12a344fbd09d

commit 33740ca30642a644d465e7a3c58a12a344fbd09d
Author: Mike Blumenkrantz 
Date:   Thu Nov 3 11:44:23 2016 -0400

return correct values from bryce post event callbacks

I referenced elm scrollable for this when writing it. past me was a moron
for using reference code instead of reading the underlying implementation.

fixes scrolling
---
 src/bin/e_bryce.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/bin/e_bryce.c b/src/bin/e_bryce.c
index d224435..d4641ae 100644
--- a/src/bin/e_bryce.c
+++ b/src/bin/e_bryce.c
@@ -567,13 +567,13 @@ _bryce_mouse_down_post(void *data, Evas *e EINA_UNUSED)
 
ev = b->event_info;
b->event_info = NULL;
-   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_TRUE;
if (e_bindings_mouse_down_evas_event_handle(E_BINDING_CONTEXT_ANY, 
b->e_obj_inherit, ev))
- return EINA_TRUE;
-   if (ev->button != 3) return EINA_FALSE;
+ return EINA_FALSE;
+   if (ev->button != 3) return EINA_TRUE;
b->last_timestamp = ev->timestamp;
_bryce_act_menu_job(b);
-   return EINA_TRUE;
+   return EINA_FALSE;
 }
 
 static void
@@ -593,8 +593,8 @@ _bryce_mouse_up_post(void *data, Evas *e EINA_UNUSED)
 
ev = b->event_info;
b->event_info = NULL;
-   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
-   return !!e_bindings_mouse_up_evas_event_handle(E_BINDING_CONTEXT_ANY, 
b->e_obj_inherit, ev);
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_TRUE;
+   return !e_bindings_mouse_up_evas_event_handle(E_BINDING_CONTEXT_ANY, 
b->e_obj_inherit, ev);
 }
 
 static void
@@ -614,8 +614,8 @@ _bryce_mouse_wheel_post(void *data, Evas *e EINA_UNUSED)
 
ev = b->event_info;
b->event_info = NULL;
-   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
-   return !!e_bindings_wheel_evas_event_handle(E_BINDING_CONTEXT_ANY, 
b->e_obj_inherit, ev);
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_TRUE;
+   return !e_bindings_wheel_evas_event_handle(E_BINDING_CONTEXT_ANY, 
b->e_obj_inherit, ev);
 }
 
 static void

-- 




[EGIT] [core/efl] master 01/01: elm scrollable: return correct values from post event callbacks

2016-11-03 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit f1163107574a150cda7d1ef5e34f005e58b9680d
Author: Mike Blumenkrantz 
Date:   Thu Nov 3 11:42:26 2016 -0400

elm scrollable: return correct values from post event callbacks

post event callbacks must return 0 to stop processing when an event is
consumed, and 1 when processing should continue. this is the only place in
all of efl which used this functionality, and it did so incorrectly.

@fix

ref 248b6b1e2387176e3abec7176e916175f12a
ref D2393
---
 src/lib/elementary/elm_interface_scrollable.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/lib/elementary/elm_interface_scrollable.c 
b/src/lib/elementary/elm_interface_scrollable.c
index 38501b0..8465a04 100644
--- a/src/lib/elementary/elm_interface_scrollable.c
+++ b/src/lib/elementary/elm_interface_scrollable.c
@@ -1897,7 +1897,7 @@ _scroll_wheel_post_event_cb(void *data, Evas *e 
EINA_UNUSED)
pwx = sid->wx;
pwy = sid->wy;
 
-   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_TRUE;
if (evas_key_modifier_is_set(ev->modifiers, "Shift"))
  direction = !direction;
 
@@ -2025,7 +2025,7 @@ _scroll_wheel_post_event_cb(void *data, Evas *e 
EINA_UNUSED)
 sid->down.last_time_y_wheel = t;
  }
 
-   return EINA_TRUE;
+   return EINA_FALSE;
 }
 
 static void
@@ -2076,7 +2076,7 @@ _elm_scroll_post_event_up(void *data,
  elm_widget_drag_lock_y_set(sid->obj, EINA_FALSE);
   }
  }
-   return EINA_TRUE;
+   return EINA_FALSE;
 }
 
 static Eina_Bool
@@ -2931,7 +2931,7 @@ _elm_scroll_post_event_move(void *data,
  }
if (start) _elm_scroll_drag_start(sid);
 
-   return EINA_TRUE;
+   return EINA_FALSE;
 }
 
 static void

-- 




[EGIT] [core/enlightenment] master 01/01: cleanup unused variables and parameters for pager module

2016-11-03 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=99e89b708fc4aec321768feca9d191395aecbb45

commit 99e89b708fc4aec321768feca9d191395aecbb45
Author: Chris Michael 
Date:   Thu Nov 3 11:27:28 2016 -0400

cleanup unused variables and parameters for pager module

Signed-off-by: Chris Michael 
---
 src/modules/pager/gadget/pager.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/modules/pager/gadget/pager.c b/src/modules/pager/gadget/pager.c
index c01f5ca..3f3baaf 100644
--- a/src/modules/pager/gadget/pager.c
+++ b/src/modules/pager/gadget/pager.c
@@ -245,7 +245,6 @@ static void
 _pager_orient(Instance *inst, E_Gadget_Site_Orient orient)
 {
int aspect_w, aspect_h;
-   double aspect_ratio;
 
if (inst->o_pager)
  {
@@ -318,7 +317,6 @@ static Pager *
 _pager_new(Evas *evas)
 {
Pager *p;
-   E_Zone *zone;
 
p = E_NEW(Pager, 1);
p->inst = NULL;
@@ -814,7 +812,7 @@ _pager_cb_obj_show(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED
 }
 
 static void
-_pager_cb_move(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void 
*event_info EINA_UNUSED)
+_pager_cb_move(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UNUSED)
 {
Instance *inst = data;
Pager *p = inst->pager;
@@ -828,7 +826,7 @@ _pager_cb_move(void *data, Evas *e EINA_UNUSED, Evas_Object 
*obj, void *event_in
 }
 
 static Evas_Object *
-_pager_gadget_configure(Evas_Object *g)
+_pager_gadget_configure(Evas_Object *g EINA_UNUSED)
 {
if (!pager_config) return NULL;
if (cfg_dialog) return NULL;

-- 




Re: [E-devel] [EGIT] [core/efl] master 04/11: evas: Simplify GL masking and fix window rotation

2016-11-03 Thread The Rasterman
On Thu, 03 Nov 2016 01:35:39 -0700 Jean-Philippe ANDRÉ  
said:

NOPE! :) well done b0rker. :) 

before (ok)
  http://devs.enlightenment.org/~raster/maskmapok.png
vs after
  http://devs.enlightenment.org/~raster/maskmapbork.png

a cunning bork. :)

> jpeg pushed a commit to branch master.
> 
> http://git.enlightenment.org/core/efl.git/commit/?id=562528d28c376d5ff941f9db3ea5c4924c07e75f
> 
> commit 562528d28c376d5ff941f9db3ea5c4924c07e75f
> Author: Jean-Philippe Andre 
> Date:   Tue Nov 1 11:23:29 2016 +0900
> 
> evas: Simplify GL masking and fix window rotation
> 
> The original solution was really complex and relied on
> transforming the current gl_Position into the screen
> coordinate in pixels, and map that to the pixel position
> in the mask.
> 
> This new solution simply pushes the required vertices for
> the mask, based on its geometry. This fixes masks when used
> in a rotated window.
> 
> Why was it so hard to get right? :(
> 
> @fix
> ---
>  .../evas/engines/gl_common/evas_gl_context.c   | 66 
> +- .../engines/gl_common/shader/evas_gl_shaders.x |  5 +-
>  .../evas/engines/gl_common/shader/vertex.glsl  |  5 +-
>  3 files changed, 30 insertions(+), 46 deletions(-)
> 
> diff --git a/src/modules/evas/engines/gl_common/evas_gl_context.c
> b/src/modules/evas/engines/gl_common/evas_gl_context.c index a13b8b5..8e14150
> 100644
> --- a/src/modules/evas/engines/gl_common/evas_gl_context.c
> +++ b/src/modules/evas/engines/gl_common/evas_gl_context.c
> @@ -1357,7 +1357,7 @@ evas_gl_common_context_target_surface_set
> (Evas_Engine_GL_Context *gc,
>  #define COLOR_CNT  4
>  #define TEX_CNT2
>  #define SAM_CNT2
> -#define MASK_CNT   4
> +#define MASK_CNT   2
>  
>  #define PUSH_VERTEX(n, x, y, z) do { \
> gc->pipe[n].array.vertex[nv++] = x; \
> @@ -1380,11 +1380,9 @@ evas_gl_common_context_target_surface_set
> (Evas_Engine_GL_Context *gc,
>  #define PUSH_TEXA(n, u, v) do { \
> gc->pipe[n].array.texa[na++] = u; \
> gc->pipe[n].array.texa[na++] = v; } while(0)
> -#define PUSH_TEXM(n, u, v, w, z) do { \
> +#define PUSH_TEXM(n, u, v) do { \
> gc->pipe[n].array.mask[nm++] = u; \
> -   gc->pipe[n].array.mask[nm++] = v; \
> -   gc->pipe[n].array.mask[nm++] = w; \
> -   gc->pipe[n].array.mask[nm++] = z; } while(0)
> +   gc->pipe[n].array.mask[nm++] = v; } while(0)
>  #define PUSH_TEXSAM(n, x, y) do { \
> gc->pipe[n].array.texsam[ns++] = x; \
> gc->pipe[n].array.texsam[ns++] = y; } while(0)
> @@ -1398,6 +1396,12 @@ evas_gl_common_context_target_surface_set
> (Evas_Engine_GL_Context *gc, PUSH_TEXUV(pn, x1, y1); PUSH_TEXUV(pn, x2, y2);
> PUSH_TEXUV(pn, x4, y4);\ PUSH_TEXUV(pn, x2, y2); PUSH_TEXUV(pn, x3, y3);
> PUSH_TEXUV(pn, x4, y4); 
> +#define PUSH_6_TEXM(pn, x, y, w, h) do { \
> +   PUSH_TEXM(pn, x, y); PUSH_TEXM(pn, x + w, y); \
> +   PUSH_TEXM(pn, x, y + h); PUSH_TEXM(pn, x + w, y); \
> +   PUSH_TEXM(pn, x + w, y + h); PUSH_TEXM(pn, x, y + h); \
> +   } while (0)
> +
>  #define PUSH_6_TEXUV(pn, x1, y1, x2, y2)\
>PUSH_6_QUAD(pn, x1, y1, x2, y1, x2, y2, x1, y2);
>  
> @@ -1425,38 +1429,31 @@ evas_gl_common_context_target_surface_set
> (Evas_Engine_GL_Context *gc, 
>  static inline Eina_Bool
>  _push_mask(Evas_Engine_GL_Context *gc, const int pn, int nm, Evas_GL_Texture
> *mtex,
> -   int mx, int my, int mw, int mh, Shader_Sampling msam, int nms)
> +   int mx, int my, int mw, int mh, int x, int y, int w, int h,
> +   Shader_Sampling msam, int nms)
>  {
> -   double glmx, glmy, glmw, glmh, yinv = -1.f;
> +   double glmx, glmy, glmw, glmh;
> double gw = gc->w, gh = gc->h;
> -   int i, cnt = 6;
> -
> -   if (!((gc->pipe[0].shader.surface == gc->def_surface) ||
> - (!gc->pipe[0].shader.surface)))
> - {
> -gw = gc->pipe[0].shader.surface->w;
> -gh = gc->pipe[0].shader.surface->h;
> -yinv = 1.f;
> - }
> +   int cnt = 6;
>  
> if (!gw || !gh || !mw || !mh || !mtex->pt->w || !mtex->pt->h)
>   return EINA_FALSE;
>  
> -   /* vertex shader:
> -* vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) *
> 0.5, 0.5, 0.5) + vec4(0.5, 0.5, 0, 0);
> -* tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;
> -*/
> -   glmx = (double)((mtex->x * mw) - (mtex->w * mx)) / (double)(mw *
> mtex->pt->w);
> -   glmy = (double)((mtex->y * mh) - (mtex->h * my)) / (double)(mh *
> mtex->pt->h);
> -   glmw = (double)(gw * mtex->w) / (double)(mw * mtex->pt->w);
> -   glmh = (double)(gh * mtex->h) / (double)(mh * mtex->pt->h);
> -   glmh *= yinv;
> +   glmx = ((double) (x - mx) / mw) * mtex->w / mtex->pt->w + (double)
> mtex->x / mtex->pt->w;
> +   glmy = ((double) (y - my) / mh) * mtex->h / mtex->pt->h + (double)
> mtex->y / mtex->pt->h;
> +   glmw = (double) (w * mtex->w) / (mw * mtex->pt->w);
> +   glmh = (double) (h * mtex->h) / (mh * 

[E-devel] Removing part_xxx Eo API from Elm.Widget

2016-11-03 Thread Daniel Hirt
Hi,

Continuing the efl_part work, I couldn't find a valid reason to keep the
part logic in widgets that are not layouts.
All I see is internal usage of elm_widget_part_xxx.

I plan to remove the part_xxx property from Elm.Widget and keep it only
in Elm.Layout.

This doesn't concern Edje.Object. Only referring to widgets here.

Any objections? Anyone thinks it should stay in Eo?

--herdsman (Danny Hirt)

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: fix build for c++ after eolian api change

2016-11-03 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 7d654b20653d74382f7bb1024b281007f363ca7d
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Nov 3 22:48:09 2016 +0900

fix build for c++ after eolian api change
---
 src/bin/eolian_js/main.cc| 4 ++--
 src/lib/eolian_cxx/grammar/qualifier_def.hpp | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/eolian_js/main.cc b/src/bin/eolian_js/main.cc
index 14d4e65..bbac549 100644
--- a/src/bin/eolian_js/main.cc
+++ b/src/bin/eolian_js/main.cc
@@ -329,7 +329,7 @@ _function_is_generatable(const Eolian_Function *function, 
Eolian_Function_Type f
 if (!_type_is_generatable(tp, add_pointer))
   return false;
 
-if (eolian_type_is_ref(tp) && _function_belongs_to(function, 
"Efl.Object"))
+if (eolian_type_is_ptr(tp) && _function_belongs_to(function, 
"Efl.Object"))
   return false;
  }
 
@@ -687,7 +687,7 @@ int main(int argc, char** argv)
   EINA_CXX_DOM_LOG_ERR(eolian::js::domain) << "Could not get 
struct field name";
   continue;
}
- if (should_reject_ref && eolian_type_is_ref(field_type))
+ if (should_reject_ref && eolian_type_is_ptr(field_type))
{
   has_ref_field = true;
   break;
diff --git a/src/lib/eolian_cxx/grammar/qualifier_def.hpp 
b/src/lib/eolian_cxx/grammar/qualifier_def.hpp
index b43b2f1..526b609 100644
--- a/src/lib/eolian_cxx/grammar/qualifier_def.hpp
+++ b/src/lib/eolian_cxx/grammar/qualifier_def.hpp
@@ -76,7 +76,7 @@ inline qualifier_info qualifiers(Eolian_Type const* type)
 {
   qualifier_info is_own = ::eolian_type_is_own(type) ? qualifier_info::is_own 
: qualifier_info::is_none;
   qualifier_info is_const = ::eolian_type_is_const(type) ? 
qualifier_info::is_const : qualifier_info::is_none;
-  qualifier_info is_ref = ::eolian_type_is_ref(type) ? qualifier_info::is_ref 
: qualifier_info::is_none;
+  qualifier_info is_ref = ::eolian_type_is_ptr(type) ? qualifier_info::is_ref 
: qualifier_info::is_none;
   return is_own | is_const | is_ref;
 }
 

-- 




Re: [E-devel] eina freeq?

2016-11-03 Thread Gustavo Sverzut Barbieri
I guessed mempool and eina_trash did that 

--
Gustavo Sverzut Barbieri

> Em 3 de nov de 2016, às 05:53, Carsten Haitzler (The Rasterman) 
>  escreveu:
> 
> On Thu, 03 Nov 2016 09:35:21 +0200 Daniel Zaoui  
> said:
> 
>> Well, my Lord, I hate that idea. Do you want to make all EFL asynchronous?
> 
> this isn't async. it's just deferred. we already do this for evas objects with
> delete_me. we do it for timers/animators and mark them for deletion later. 
> it's
> nothing new. this is just more generic/extensive
> 
>>> From my point of view, seems to be like a hack cause some problems (e.g Eo)
>>> are hard to solve.
>> 
>> My comments below.
>> 
>> On Thu, 03 Nov 2016 16:11:24 +0900
>> Carsten Haitzler  (The Rasterman) wrote:
>> 
>>> here's an idea. it's very very very very simple
>>> 
>>> create an eina_freeq(). instead of calling free() or whatever free
>>> function on something immediately, call:
>>> 
>>>fq = eina_freeq_main_get();
>>>eina_freeq_ptr_add(fq, pointer, size, free);
>>> 
>>> or
>>> 
>>>fq = eina_freeq_global_get();
>>>eina_freeq_ptr_add(fq, l, sizeof(Eina_List),
>>> _eina_list_mempool_list_free);
>>> 
>>> etc.
>>> 
>>> and the free queue will "add this to the end" to be freed some time
>>> later. the idea of size is so it could make intelligent choice like
>>> to free very large chunks earlier than smaller allocations. the
>>> mainloop would drive this actual freeing. or more specifically your
>>> LOCAL loop would. need to add some kind of loop method that returns
>>> the "free queue" FOR your loop/thread. or wherever you want it
>>> actually freed. probably have a main free queue driven by the
>>> mainloop (and cleared up on eina_shutdown) etc.
>>> 
>>> why?
>>> 
>>> 1. move overhead of doing actual frees out of critical code into idle
>>> time
>>> 2. improve stability by keeping memory eg for eo objects or eina
>>> list nodes in a "free queue purgatory" for a while so if someone does
>>> bad things like "use after free" the IMPACT is far smaller as they
>>> mess with memory in the free queue not being used.
>> 
>> Stability has to be improved with refs and other design technics, not with
>> delay. More, we can't use anymore Valgrind. And this will be PITA to debug.
>> The same kind of debug with async events where the frame before is
>> ecore_loop...
> 
> we can use valgrind. just have freeq free immediately. env vars can switch
> behavior around. :) so valgrind - can work trivially.
> 
>> btw, the third point didn't leave your head ;-)
> 
> oh yeah.. it got lost on the way to the kbd. :)
> 
>>> 4. be able to fill memory about to be freed with patterns (eg 0x55 or
>>> 0xaa) so after free the memory is guaranteed to have a pattern to
>>> know it was freed (optional debug only for mem regions of size > 0
>>> and maybe less than some max size).
>> 
>> meow (I think this is what you say when you don't know if it is a good
>> feature or not :-).
>> 
>>> 5. optional - checksum the memory when added to free queue then check
>>> checksum on actual free to warn of some code "being bad" and
>>> scribbling over freed memory. at least we get warnings of lurking
>>> bugs if we turn this on...
>> 
>> Valgrind does it better.
> 
> the problem is we have people who will NOT RUN STUFF UNDER VALGRIND.
> 
> 1. for example valgrind doesnt work on openbsd. at all.
> 2. good luck with valgrind on something like an rpi ... go and make lunch 
> while
> you wait for your app to start. make coffee in between clicks.the bug you were
> looking for likely disappeared because timing changed so drastically you cant
> catch it. i've seen this happen before.
> 3. people run/test and they do not want to slow things down to 1/50th of the
> speed. they CAN'T, so having a pattern means its a very low cost and coredumps
> can tell us far more information on what is going on. you cant force testers 
> in
> qa to "run it under valgrind". they dont even know what it is, nor can they
> even do it. the speed impact along vetoes it. the impact of memset() for
> smallish things (eg < 1k) is going to be MASSIVELY less.
> 4. this doesn't replace valgrind. it augments it for when valgrind is just not
> viable. it at least gives us a CLUE. JP just was telling me of an issue where 
> a
> Eina_List * ptr in an evas object is 0x1 ... it should never be 0x1. it should
> be some valid ptr value or NULL. something scribbled to this memory when it
> should not have. LIKELY something like using a ptr after free and that ptr
> HAPPENED to point to this object memory. we have no clue who did it and
> valgrind can't catch this as its not freed ... YET. but if that memory WAS
> handled by a free queue this would be far less likely to happen as the "write
> to unused memory" would be less likely to affect a live real object. you want
> things to be as robust as possible with minimal if not zero cost when you are
> NOT running under valgrind. in fact i can detect if 

[EGIT] [core/efl] master 02/02: evas lang unicode tables - reduce memory by 24k+1324 bytes

2016-11-03 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 51b2789a353b81e7fd89781acae782b34908985b
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Nov 3 18:51:19 2016 +0900

evas lang unicode tables - reduce memory by 24k+1324 bytes

so bu5hman pointed out a compile warning from clang that

 { 0x2, 42711, EVAS_SCRIPT_HAN },

has 42711 exceeding a signed short. true. so this should be an
unsigned short. but this drew me to the fact the whole array could be
shorter by packing this short with the style memeber after it making
them pack into a nicely aligned 4 byte chunk next to the start unicode
value before it, thus chopping 1324 bytes off this table. even worse
the 8192 entry fast table above is using a full 32bits per entry where
they data they store is not even exceeding 7bits, so move this to an
unsigned char saving another 24k. this should reduce cache misses and
memory footprint and binary footprint of the evas .so files etc.

@fix + @optimize
---
 src/lib/evas/common/language/evas_script_table.h | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/lib/evas/common/language/evas_script_table.h 
b/src/lib/evas/common/language/evas_script_table.h
index dd77db0..e897474 100644
--- a/src/lib/evas/common/language/evas_script_table.h
+++ b/src/lib/evas/common/language/evas_script_table.h
@@ -14,7 +14,7 @@
 #define EVAS_SCRIPT_DIRECT_TABLE_LIMIT 8192
 
 static const
-Eina_Unicode _evas_script_fast_table[EVAS_SCRIPT_DIRECT_TABLE_LIMIT] = {
+unsigned char _evas_script_fast_table[EVAS_SCRIPT_DIRECT_TABLE_LIMIT] = {
   EVAS_SCRIPT_COMMON, EVAS_SCRIPT_COMMON, EVAS_SCRIPT_COMMON,
   EVAS_SCRIPT_COMMON, EVAS_SCRIPT_COMMON, EVAS_SCRIPT_COMMON,
   EVAS_SCRIPT_COMMON, EVAS_SCRIPT_COMMON, EVAS_SCRIPT_COMMON,
@@ -2749,9 +2749,9 @@ Eina_Unicode 
_evas_script_fast_table[EVAS_SCRIPT_DIRECT_TABLE_LIMIT] = {
 };
 
 static const struct {
-Eina_Unicode start;
-short len;
-Evas_Script_Type script;
+   Eina_Unicode start; // int - 4
+   unsigned short len; // short - 2
+   unsigned short script; // short 2 -- total. 8 bytes per entry
 } _evas_script_slow_table[] = {
  { 0x2000,12, EVAS_SCRIPT_COMMON },
  { 0x200c, 2, EVAS_SCRIPT_INHERITED },

-- 




[EGIT] [core/efl] master 01/01: eolian: rename is_ref API to is_ptr to match syntax

2016-11-03 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit f399e77a92fc6d2cf92ab097eebc984a039bf223
Author: Daniel Kolesa 
Date:   Thu Nov 3 14:21:57 2016 +0100

eolian: rename is_ref API to is_ptr to match syntax
---
 src/bindings/luajit/eolian.lua |  6 +++---
 src/lib/eolian/Eolian.h|  2 +-
 src/lib/eolian/database_type.c |  2 +-
 src/lib/eolian/database_type_api.c |  4 ++--
 src/lib/eolian/eo_parser.c |  4 ++--
 src/lib/eolian/eolian_database.h   |  2 +-
 src/tests/eolian/eolian_parsing.c  | 14 +++---
 7 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/src/bindings/luajit/eolian.lua b/src/bindings/luajit/eolian.lua
index b5c2f7f..ad9508c 100644
--- a/src/bindings/luajit/eolian.lua
+++ b/src/bindings/luajit/eolian.lua
@@ -306,7 +306,7 @@ ffi.cdef [[
 size_t eolian_type_array_size_get(const Eolian_Type *tp);
 Eina_Bool eolian_type_is_own(const Eolian_Type *tp);
 Eina_Bool eolian_type_is_const(const Eolian_Type *tp);
-Eina_Bool eolian_type_is_ref(const Eolian_Type *tp);
+Eina_Bool eolian_type_is_ptr(const Eolian_Type *tp);
 
 Eina_Bool eolian_typedecl_is_extern(const Eolian_Typedecl *tp);
 
@@ -668,8 +668,8 @@ M.Type = ffi.metatype("Eolian_Type", {
 return eolian.eolian_type_is_const(self) ~= 0
 end,
 
-is_ref = function(self)
-return eolian.eolian_type_is_ref(self) ~= 0
+is_ptr = function(self)
+return eolian.eolian_type_is_ptr(self) ~= 0
 end,
 
 c_type_get = function(self)
diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index 6d57098..90f64d8 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -1801,7 +1801,7 @@ EAPI Eina_Bool eolian_type_is_const(const Eolian_Type 
*tp);
  *
  * @ingroup Eolian
  */
-EAPI Eina_Bool eolian_type_is_ref(const Eolian_Type *tp);
+EAPI Eina_Bool eolian_type_is_ptr(const Eolian_Type *tp);
 
 /*
  * @brief Get the full C type name of the given type.
diff --git a/src/lib/eolian/database_type.c b/src/lib/eolian/database_type.c
index 7b142d7..1d08faa 100644
--- a/src/lib/eolian/database_type.c
+++ b/src/lib/eolian/database_type.c
@@ -117,7 +117,7 @@ database_type_to_str(const Eolian_Type *tp, Eina_Strbuf 
*buf, const char *name)
  }
if (tp->type == EOLIAN_TYPE_COMPLEX || tp->type == EOLIAN_TYPE_CLASS)
  _buf_add_suffix(buf, "*");
-   if (tp->is_ref)
+   if (tp->is_ptr)
  _buf_add_suffix(buf, "*");
_buf_add_suffix(buf, name);
 }
diff --git a/src/lib/eolian/database_type_api.c 
b/src/lib/eolian/database_type_api.c
index 4411f8a..6584ae7 100644
--- a/src/lib/eolian/database_type_api.c
+++ b/src/lib/eolian/database_type_api.c
@@ -335,10 +335,10 @@ eolian_type_is_const(const Eolian_Type *tp)
 }
 
 EAPI Eina_Bool
-eolian_type_is_ref(const Eolian_Type *tp)
+eolian_type_is_ptr(const Eolian_Type *tp)
 {
EINA_SAFETY_ON_NULL_RETURN_VAL(tp, EINA_FALSE);
-   return tp->is_ref;
+   return tp->is_ptr;
 }
 
 EAPI Eina_Bool
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 106fd20..c7c0a16 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -709,7 +709,7 @@ static const Eina_Bool _ownable_types[] = {
 static Eina_Bool
 _type_is_ownable(Eolian_Type *tp)
 {
-   if (tp->is_ref)
+   if (tp->is_ptr)
  return EINA_TRUE;
if (tp->type == EOLIAN_TYPE_REGULAR)
  {
@@ -766,7 +766,7 @@ parse_type_void(Eo_Lexer *ls, Eina_Bool allow_ref, 
Eina_Bool allow_sarray)
check_next(ls, '(');
def = parse_type_void(ls, EINA_FALSE, EINA_FALSE);
FILL_BASE(def->base, ls, line, col);
-   def->is_ref = EINA_TRUE;
+   def->is_ptr = EINA_TRUE;
check_match(ls, ')', '(', pline, pcol);
goto parse_ptr;
 }
diff --git a/src/lib/eolian/eolian_database.h b/src/lib/eolian/eolian_database.h
index e053b56..479b357 100644
--- a/src/lib/eolian/eolian_database.h
+++ b/src/lib/eolian/eolian_database.h
@@ -176,7 +176,7 @@ struct _Eolian_Type
size_t static_size;
Eina_Bool is_const  :1;
Eina_Bool is_own:1;
-   Eina_Bool is_ref:1;
+   Eina_Bool is_ptr:1;
 };
 
 struct _Eolian_Typedecl
diff --git a/src/tests/eolian/eolian_parsing.c 
b/src/tests/eolian/eolian_parsing.c
index b488b5f..328bb8a 100644
--- a/src/tests/eolian/eolian_parsing.c
+++ b/src/tests/eolian/eolian_parsing.c
@@ -611,7 +611,7 @@ START_TEST(eolian_simple_parsing)
/* Method */
fail_if(!(fid = eolian_class_function_get_by_name(class, "foo", 
EOLIAN_METHOD)));
fail_if(!eolian_function_is_beta(fid));
-   fail_if(eolian_type_is_ref(eolian_function_return_type_get(fid, 
EOLIAN_METHOD)));
+   fail_if(eolian_type_is_ptr(eolian_function_return_type_get(fid, 
EOLIAN_METHOD)));
/* Function return */
tp = eolian_function_return_type_get(fid, EOLIAN_METHOD);
fail_if(!tp);
@@ -648,7 +648,7 @@ 

[EGIT] [core/enlightenment] master 01/01: cpufreq - move cpuinfo polling into thread to not block mainloop ever

2016-11-03 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit d2104b23af24a0f8704b04c1ea3b9f19dfcf63d0
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Nov 2 17:39:57 2016 +0900

cpufreq - move cpuinfo polling into thread to not block mainloop ever

on some devices asking the cpu for info like current frequency,
governors etc. seems to be expensive and if done in the mainloop can
block for multiple ms causing framerate hiccups, so move it to a
thread...
---
 src/modules/cpufreq/e_mod_main.c | 147 +--
 src/modules/cpufreq/e_mod_main.h |   4 +-
 2 files changed, 96 insertions(+), 55 deletions(-)

diff --git a/src/modules/cpufreq/e_mod_main.c b/src/modules/cpufreq/e_mod_main.c
index 0d9d8f7..dfc42c7 100644
--- a/src/modules/cpufreq/e_mod_main.c
+++ b/src/modules/cpufreq/e_mod_main.c
@@ -39,7 +39,6 @@ struct _Instance
 static void  _button_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, 
void *event_info);
 static void  _menu_cb_post(void *data, E_Menu *m);
 static void  _cpufreq_set_frequency(int frequency);
-static Eina_Bool _cpufreq_cb_check(void *data);
 static Cpu_Status *_cpufreq_status_new(void);
 static void  _cpufreq_status_free(Cpu_Status *s);
 static void  _cpufreq_status_check_available(Cpu_Status *s);
@@ -97,9 +96,6 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, 
const char *style)
   _button_cb_mouse_down, inst);
cpufreq_config->instances =
  eina_list_append(cpufreq_config->instances, inst);
-   if (cpufreq_config->status) _cpufreq_status_free(cpufreq_config->status);
-   cpufreq_config->status = _cpufreq_status_new();
-   _cpufreq_cb_check(NULL);
_cpufreq_face_update_available(inst);
 
cpufreq_config->handler =
@@ -591,45 +587,6 @@ _cpufreq_set_pstate(int min, int max)
  }
 }
 
-static Eina_Bool
-_cpufreq_cb_check(void *data EINA_UNUSED)
-{
-   Instance *inst;
-   Eina_List *l;
-   int active;
-   static Eina_Bool init_set = EINA_FALSE;
-
-   if (cpufreq_config->menu_poll) return ECORE_CALLBACK_RENEW;
-   active = cpufreq_config->status->active;
-   if (_cpufreq_status_check_current(cpufreq_config->status))
- {
-for (l = cpufreq_config->instances; l; l = l->next)
-  {
- inst = l->data;
- _cpufreq_face_update_current(inst);
-  }
- }
-   if (active != cpufreq_config->status->active)
- {
-for (l = cpufreq_config->instances; l; l = l->next)
-  {
- inst = l->data;
- if (cpufreq_config->status->active == 0)
-   edje_object_signal_emit(inst->o_cpu, "e,state,disabled", "e");
- else if (cpufreq_config->status->active == 1)
-   edje_object_signal_emit(inst->o_cpu, "e,state,enabled", "e");
-  }
- }
-   if (!init_set)
- {
-_cpufreq_set_pstate(cpufreq_config->pstate_min - 1,
-cpufreq_config->pstate_max - 1);
-init_set = 1;
- }
-
-   return ECORE_CALLBACK_RENEW;
-}
-
 static Cpu_Status *
 _cpufreq_status_new(void)
 {
@@ -1306,14 +1263,95 @@ _cpufreq_menu_pstate_max(void *data, E_Menu *m 
EINA_UNUSED, E_Menu_Item *mi EINA
e_config_save_queue();
 }
 
+typedef struct _Thread_Config Thread_Config;
+
+struct _Thread_Config
+{
+   int interval;
+};
+
+static void
+_cpufreq_cb_frequency_check_main(void *data, Ecore_Thread *th)
+{
+   Thread_Config *thc = data;
+   for (;;)
+ {
+Cpu_Status *status;
+
+if (ecore_thread_check(th)) break;
+status = _cpufreq_status_new();
+if (_cpufreq_status_check_current(status))
+  ecore_thread_feedback(th, status);
+else
+  _cpufreq_status_free(status);
+if (ecore_thread_check(th)) break;
+usleep((100.0 / 8.0) * (double)thc->interval);
+ }
+   free(thc);
+}
+
+static void
+_cpufreq_cb_frequency_check_notify(void *data EINA_UNUSED,
+   Ecore_Thread *th EINA_UNUSED,
+   void *msg)
+{
+   Cpu_Status *status = msg;
+   Instance *inst;
+   Eina_List *l;
+   int active;
+   static Eina_Bool init_set = EINA_FALSE;
+
+   if (!cpufreq_config)
+ {
+_cpufreq_status_free(status);
+return;
+ }
+   if (cpufreq_config->status) _cpufreq_status_free(cpufreq_config->status);
+   active = cpufreq_config->status->active;
+   cpufreq_config->status = status;
+   for (l = cpufreq_config->instances; l; l = l->next)
+ {
+inst = l->data;
+_cpufreq_face_update_current(inst);
+ }
+   if (active != cpufreq_config->status->active)
+ {
+for (l = cpufreq_config->instances; l; l = l->next)
+  {
+ inst = l->data;
+ if (cpufreq_config->status->active == 0)
+   edje_object_signal_emit(inst->o_cpu, 

Re: [E-devel] FW: EFL cross compilation for Windows

2016-11-03 Thread Andrii Kroitor
Wow, I've completely forgot to mention in readme that you need mingw-w64 
package installed.
Looks like if configure can't find gcc for specific target it uses 
default and obviously fails.


On 03.11.16 10:34, Hermet Park wrote:
> And finally, it failed.  at this step - ./build.sh efl_upstream i686 efl
> I didn't look further, if you have any idea please help me :)
>
> #logs.
>
> _64-linux-gnu
> Thread model: posix
> gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.2)
> configure:6418: $? = 0
> configure:6407: gcc -V >&5
> gcc: error: unrecognized command line option '-V'
> gcc: fatal error: no input files
> compilation terminated.
> configure:6418: $? = 1
> configure:6407: gcc -qversion >&5
> gcc: error: unrecognized command line option '-qversion'
> gcc: fatal error: no input files
> compilation terminated.
> configure:6418: $? = 1
> configure:6438: checking whether the C compiler works
> configure:6460: gcc -I/opt/windows_32/include/ -g -O2  -L/opt/windows_32/lib/ 
> -lws2_32 -llua -llibintl conftest.c  >&5
> /usr/bin/ld: cannot find -lws2_32
> /usr/bin/ld: cannot find -llua
> /usr/bin/ld: cannot find -llibintl
> /usr/bin/ld: skipping incompatible /opt/windows_32/lib//libgcc_s.a when 
> searching for -lgcc_s
> collect2: error: ld returned 1 exit status
> configure:6464: $? = 1
> configure:6502: result: no
> configure: failed program was:
> | /* confdefs.h */
> | #define PACKAGE_NAME "efl"
> | #define PACKAGE_TARNAME "efl"
> | #define PACKAGE_VERSION "1.18.99.50728"
> | #define PACKAGE_STRING "efl 1.18.99.50728"
> | #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
> | #define PACKAGE_URL ""
> | #define PACKAGE "efl"
> | #define VERSION "1.18.99.50728"
> | /* end confdefs.h.  */
> |
> | int
> | main ()
> | {
> |
> |   ;
> |   return 0;
> | }
> configure:6507: error: in 
> `/home/hermet/efl/devs/lorddrew/efl-cross-build/sources/efl_upstream/efl':
> configure:6509: error: C compiler cannot create executables
> See `config.log' for more details
>
>
>
>
> -Original Message-
> From: "Hermet Park"
> To: "Enlightenment developer list";
> Cc:
> Sent: 2016-11-03 (목) 16:59:04
> Subject: Re: [E-devel] EFL cross compilation for Windows
>   
> Hello.
>
> I'm trying your script and found a typeo in README.
>
> x686 -> i686 ?
>
> Hopefully it works nice. :)
> --
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> --
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [tools/eflete] master 01/02: exporter: write block data before collections

2016-11-03 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=7e77968b32497c29e25f8d50fd6d03c64d528702

commit 7e77968b32497c29e25f8d50fd6d03c64d528702
Author: Vyacheslav Reutskiy 
Date:   Thu Nov 3 13:53:48 2016 +0200

exporter: write block data before collections

Change-Id: Ie71cb7b3110675e706c21878e0017e417fb9db62
---
 src/bin/exporter/eflete_exporter.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/bin/exporter/eflete_exporter.c 
b/src/bin/exporter/eflete_exporter.c
index f0ab938..40ee58f 100644
--- a/src/bin/exporter/eflete_exporter.c
+++ b/src/bin/exporter/eflete_exporter.c
@@ -446,17 +446,15 @@ _source_code_export(void *data __UNUSED__)
 if (color_classes)
   {
  fputs(source_code, f);
- fputs("\n", f);
  eina_stringshare_del(source_code);
   }
-fputs("collections {\n", f);
 source_code = edje_edit_data_source_generate(obj);
 if (source_code)
   {
  fputs(source_code, f);
- fputs("\n", f);
  eina_stringshare_del(source_code);
   }
+fputs("collections {\n", f);
 EINA_LIST_FOREACH(groups, l, g)
   {
  char *name = _group_source_code_export(g);

-- 




[EGIT] [tools/eflete] master 02/02: eflete: init char array by '0'

2016-11-03 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=8efbaacb1b561bc0d0fc421a0e976b1d89f3dda3

commit 8efbaacb1b561bc0d0fc421a0e976b1d89f3dda3
Author: Vyacheslav Reutskiy 
Date:   Thu Nov 3 14:16:14 2016 +0200

eflete: init char array by '0'

Change-Id: Idc64e25214191026911cbdec2828a797d86e3bcb
---
 src/bin/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index d5c6881..12a7503 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -351,7 +351,7 @@ run:
   {
  int i;
  char *name = NULL;
- char buf[BUFF_MAX];
+ char buf[BUFF_MAX] = { 0 };
 
  char **arr = eina_str_split(export_edj, "/", 0);
  for(i = 0; arr[i] != NULL; i++)

-- 




[EGIT] [core/efl] master 01/07: docs: efl_observer: fill missing docs for new efl_observer

2016-11-03 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 8e1dac310a6b87dcfa1b83b38cd426c05a6336b6
Author: Stefan Schmidt 
Date:   Thu Nov 3 09:59:58 2016 +0100

docs: efl_observer: fill missing docs for new efl_observer
---
 src/lib/efl/interfaces/efl_observable.eo | 5 +++--
 src/lib/efl/interfaces/efl_types.eot | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_observable.eo 
b/src/lib/efl/interfaces/efl_observable.eo
index 7accb4c..683c64f 100644
--- a/src/lib/efl/interfaces/efl_observable.eo
+++ b/src/lib/efl/interfaces/efl_observable.eo
@@ -1,4 +1,5 @@
 class Efl.Observable (Efl.Object) {
+   [[Efl observable class]]
methods {
   observer_add {
  [[Add an observer to a group of observers.
@@ -35,7 +36,7 @@ class Efl.Observable (Efl.Object) {
  [[Return a new iterator associated with a group of observers.
 
@since 1.19]]
- return: free(own(iterator), eina_iterator_free);
+ return: free(own(iterator), eina_iterator_free); 
[[Iterator for observers group]] 
  params {
 @in key: string; [[A key to classify observer groups]]
  }
@@ -53,7 +54,7 @@ class Efl.Observable (Efl.Object) {
  [[Return a new iterator associated to this observable.
 
@since 1.19]]
- return: free(own(iterator), eina_iterator_free);
+ return: free(own(iterator), 
eina_iterator_free); [[Iterator for observer]]
   }
}
implements {
diff --git a/src/lib/efl/interfaces/efl_types.eot 
b/src/lib/efl/interfaces/efl_types.eot
index 988f7ab..4d5535c 100644
--- a/src/lib/efl/interfaces/efl_types.eot
+++ b/src/lib/efl/interfaces/efl_types.eot
@@ -41,6 +41,7 @@ struct Efl.Version
 
 struct Efl.Observable.Tuple
 {
-   key: string;
-   data: free(own(iterator), eina_iterator_free);
+   [[This type describes an observable touple]]
+   key: string; [[Touple key]]
+   data: free(own(iterator), eina_iterator_free); [[Touple data]]
 }

-- 




[EGIT] [core/efl] master 06/07: docs: ecore: document various type defines

2016-11-03 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 42426735e8406740c066210bee56956f79e1b68a
Author: Stefan Schmidt 
Date:   Thu Nov 3 11:54:20 2016 +0100

docs: ecore: document various type defines
---
 src/lib/ecore/ecore_types.eot   | 4 ++--
 src/lib/ecore_audio/ecore_audio.eo  | 4 ++--
 src/lib/ecore_con/ecore_con_eet_base.eo | 4 ++--
 src/lib/ecore_con/efl_network.eo| 2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/lib/ecore/ecore_types.eot b/src/lib/ecore/ecore_types.eot
index dce6260..006c708 100644
--- a/src/lib/ecore/ecore_types.eot
+++ b/src/lib/ecore/ecore_types.eot
@@ -1,5 +1,5 @@
-type @extern Ecore_Cb: __undefined_type;
-type @extern Ecore_Task_Cb: __undefined_type;
+type @extern Ecore_Cb: __undefined_type; [[Ecore callback type]]
+type @extern Ecore_Task_Cb: __undefined_type; [[Ecore task callback type]]
 
 enum Ecore.Pos_Map
 {
diff --git a/src/lib/ecore_audio/ecore_audio.eo 
b/src/lib/ecore_audio/ecore_audio.eo
index 234ef7d..7436b58 100644
--- a/src/lib/ecore_audio/ecore_audio.eo
+++ b/src/lib/ecore_audio/ecore_audio.eo
@@ -1,5 +1,5 @@
-type @extern Ecore.Audio.Vio: __undefined_type; /* FIXME: Had function pointer 
members. */
-type @extern efl_key_data_free_func: __undefined_type; /* FIXME: Function 
pointers not allowed. */
+type @extern Ecore.Audio.Vio: __undefined_type; [[Ecore audio vio type]] /* 
FIXME: Had function pointer members. */
+type @extern efl_key_data_free_func: __undefined_type; [[Efl key data free 
function type]] /* FIXME: Function pointers not allowed. */
 
 enum Ecore.Audio.Format {
 [[Ecore audio format type]]
diff --git a/src/lib/ecore_con/ecore_con_eet_base.eo 
b/src/lib/ecore_con/ecore_con_eet_base.eo
index 1b28ef9..1c781c5 100644
--- a/src/lib/ecore_con/ecore_con_eet_base.eo
+++ b/src/lib/ecore_con/ecore_con_eet_base.eo
@@ -1,7 +1,7 @@
 import efl_network_server;
 
-type @extern Ecore_Con_Eet_Data_Cb: __undefined_type; /* FIXME: function 
pointers not supported. */
-type @extern Ecore_Con_Eet_Raw_Data_Cb: __undefined_type; /* FIXME: function 
pointers not supported. */
+type @extern Ecore_Con_Eet_Data_Cb: __undefined_type; [[Ecore connection eet 
data callback type]] /* FIXME: function pointers not supported. */
+type @extern Ecore_Con_Eet_Raw_Data_Cb: __undefined_type; [[Ecore connection 
eet raw data callback type]]/* FIXME: function pointers not supported. */
 
 struct @extern Eet.Data.Descriptor; [[Eet data descriptor data structure]]
 struct Ecore.Con.Reply; [[Ecore connection reply data structure]]
diff --git a/src/lib/ecore_con/efl_network.eo b/src/lib/ecore_con/efl_network.eo
index 0d4ec34..e2cdc79 100644
--- a/src/lib/ecore_con/efl_network.eo
+++ b/src/lib/ecore_con/efl_network.eo
@@ -1,4 +1,4 @@
-type Ecore_Con_Dns_Cb: __undefined_type;
+type Ecore_Con_Dns_Cb: __undefined_type; [[Ecore connection DNS callback type]]
 
 enum Ecore.Con.Type
 {

-- 




[EGIT] [core/efl] master 07/07: docs: document all missing type defines in our eo files

2016-11-03 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 4a66bd14b74cc694e7aa421120a29ca2d5220c1d
Author: Stefan Schmidt 
Date:   Thu Nov 3 11:54:47 2016 +0100

docs: document all missing type defines in our eo files

With this commit we reach 100% alias doc coverage for our eo files.
---
 src/lib/ector/cairo/ector_cairo_surface.eo| 2 +-
 src/lib/ector/ector_types.eot | 2 +-
 src/lib/efl/interfaces/efl_text_properties.eo | 2 +-
 src/lib/eio/eio_model.eo  | 2 +-
 src/lib/eo/eina_types.eot | 4 ++--
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lib/ector/cairo/ector_cairo_surface.eo 
b/src/lib/ector/cairo/ector_cairo_surface.eo
index 4fce1f6..9a89238 100644
--- a/src/lib/ector/cairo/ector_cairo_surface.eo
+++ b/src/lib/ector/cairo/ector_cairo_surface.eo
@@ -1,4 +1,4 @@
-type @extern cairo_t: void_ptr;
+type @extern cairo_t: void_ptr; [[cairo_t type]]
 
 class Ector.Cairo.Surface (Efl.Object, Ector.Surface)
 {
diff --git a/src/lib/ector/ector_types.eot b/src/lib/ector/ector_types.eot
index c142a6a..1e1a96b 100644
--- a/src/lib/ector/ector_types.eot
+++ b/src/lib/ector/ector_types.eot
@@ -1,2 +1,2 @@
-type @extern GLshort: short; /* FIXME: We should not expose this in the API 
but probably redefine it. */
+type @extern GLshort: short; [[GLshort type]] /* FIXME: We should not expose 
this in the API but probably redefine it. */
 
diff --git a/src/lib/efl/interfaces/efl_text_properties.eo 
b/src/lib/efl/interfaces/efl_text_properties.eo
index 5ca3790..3383fa4 100644
--- a/src/lib/efl/interfaces/efl_text_properties.eo
+++ b/src/lib/efl/interfaces/efl_text_properties.eo
@@ -1,4 +1,4 @@
-type Efl_Font_Size: int;
+type Efl_Font_Size: int; [[Efl font size type]]
 
 interface Efl.Text.Properties
 {
diff --git a/src/lib/eio/eio_model.eo b/src/lib/eio/eio_model.eo
index bc4d4b6..48d1163 100644
--- a/src/lib/eio/eio_model.eo
+++ b/src/lib/eio/eio_model.eo
@@ -1,4 +1,4 @@
-type @extern Eio_Filter_Direct_Cb: __undefined_type;
+type @extern Eio_Filter_Direct_Cb: __undefined_type; [[Eio filter direct 
callback type]]
 
 class Eio.Model (Efl.Object, Efl.Model)
 {
diff --git a/src/lib/eo/eina_types.eot b/src/lib/eo/eina_types.eot
index fcc0c81..c1d2243 100644
--- a/src/lib/eo/eina_types.eot
+++ b/src/lib/eo/eina_types.eot
@@ -26,7 +26,7 @@ struct @extern Eina.Matrix3 {
 
 struct @extern Eina.Inarray; [[Eina inarray data structure]]
 
-type @extern Eina.Unicode: uint32;
+type @extern Eina.Unicode: uint32; [[Eina unicode type]]
 
 struct @extern Eina.File.Direct.Info; [[Eina file direct information data 
structure]]
 /*{
@@ -44,7 +44,7 @@ enum @extern Eina.Xattr.Flags {
   created [[This will only succeed if the extended attribute wasn't previously 
set]]
 }
 
-type @extern Eina.Error: int;
+type @extern Eina.Error: int; [[Eina error type]]
 
 struct @extern @free(eina_binbuf_free) Eina.Binbuf; [[Eina binbuf data 
structure]]
 

-- 




[EGIT] [core/efl] master 05/07: docs: edje: document various type defines

2016-11-03 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 7a05269d66d7445148d48cfb16ef49396a024720
Author: Stefan Schmidt 
Date:   Thu Nov 3 11:52:35 2016 +0100

docs: edje: document various type defines
---
 src/lib/edje/edje_types.eot | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lib/edje/edje_types.eot b/src/lib/edje/edje_types.eot
index a0d536d..83ade07 100644
--- a/src/lib/edje/edje_types.eot
+++ b/src/lib/edje/edje_types.eot
@@ -190,9 +190,9 @@ enum Edje.Color_Class.Mode {
 }
 
 /* FIXME-cb: Ignore cb types that should be fixed. */
-type Edje.Signal_Cb: __undefined_type;
-type Edje.Markup_Filter_Cb: __undefined_type;
-type Edje.Text.Filter_Cb: __undefined_type;
-type Edje.Text.Change_Cb: __undefined_type;
-type Edje.Item_Provider_Cb: __undefined_type;
-type Edje.Message_Handler_Cb: __undefined_type;
+type Edje.Signal_Cb: __undefined_type; [[Edje signal callback type]]
+type Edje.Markup_Filter_Cb: __undefined_type; [[Edje markup filter callback 
type]]
+type Edje.Text.Filter_Cb: __undefined_type; [[Edje text filter callback type]]
+type Edje.Text.Change_Cb: __undefined_type; [[Edje text change callback type]]
+type Edje.Item_Provider_Cb: __undefined_type; [[Edje item provider callback 
type]]
+type Edje.Message_Handler_Cb: __undefined_type; [[Edje message handler 
callback type]]

-- 




[EGIT] [core/efl] master 04/07: docs: elm: document various type defines

2016-11-03 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit fd886965c09f5887e316e55ef7a06c46c8184d11
Author: Stefan Schmidt 
Date:   Thu Nov 3 11:51:14 2016 +0100

docs: elm: document various type defines
---
 src/lib/elementary/elm_calendar.eo |  2 +-
 src/lib/elementary/elm_entry.eo|  4 ++--
 src/lib/elementary/elm_general.eot | 22 +++---
 src/lib/elementary/elm_gesture_layer.eo|  2 +-
 src/lib/elementary/elm_glview.eo   |  6 +++---
 .../elementary/elm_interface_atspi_accessible.eo   |  4 ++--
 .../elm_interface_atspi_widget_action.eo   |  2 +-
 src/lib/elementary/elm_interface_fileselector.eo   |  2 +-
 src/lib/elementary/elm_interface_scrollable.eo |  6 +++---
 src/lib/elementary/elm_map.eo  | 12 ++--
 src/lib/elementary/elm_multibuttonentry.eo |  4 ++--
 src/lib/elementary/elm_naviframe_item.eo   |  2 +-
 src/lib/elementary/elm_prefs.eo|  4 ++--
 src/lib/elementary/elm_slider.eo   |  4 ++--
 src/lib/elementary/elm_slideshow.eo|  2 +-
 src/lib/elementary/elm_sys_notify_interface.eo |  2 +-
 src/lib/elementary/elm_web.eo  | 12 ++--
 src/lib/elementary/elm_widget.eo   |  4 ++--
 18 files changed, 48 insertions(+), 48 deletions(-)

diff --git a/src/lib/elementary/elm_calendar.eo 
b/src/lib/elementary/elm_calendar.eo
index 3b14fa5..7587310 100644
--- a/src/lib/elementary/elm_calendar.eo
+++ b/src/lib/elementary/elm_calendar.eo
@@ -1,6 +1,6 @@
 import efl_types;
 
-type Elm_Calendar_Format_Cb: __undefined_type;
+type Elm_Calendar_Format_Cb: __undefined_type; [[Elementary calendar format 
callback type]]
 
 enum Elm.Calendar.Mark.Repeat.Type
 {
diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo
index 31832e7..9ae2f85 100644
--- a/src/lib/elementary/elm_entry.eo
+++ b/src/lib/elementary/elm_entry.eo
@@ -1,8 +1,8 @@
 import elm_general;
 import elm_icon;
 
-type Elm_Entry_Item_Provider_Cb: __undefined_type;
-type Elm_Entry_Filter_Cb: __undefined_type;
+type Elm_Entry_Item_Provider_Cb: __undefined_type; [[Elementary entry item 
provider callback type]]
+type Elm_Entry_Filter_Cb: __undefined_type; [[Elementary entry filter callback 
type]]
 
 enum Elm.Text_Format
 {
diff --git a/src/lib/elementary/elm_general.eot 
b/src/lib/elementary/elm_general.eot
index 5e2fb0d..1a85387 100644
--- a/src/lib/elementary/elm_general.eot
+++ b/src/lib/elementary/elm_general.eot
@@ -7,17 +7,17 @@ struct Elm.Event.Policy_Changed
 }
 
 /* FIXME: These shouldn't be here, we don't do functions in eolian!!! */
-type Elm_Gen_Item_Text_Get_Cb: __undefined_type;
-type Elm_Gen_Item_Content_Get_Cb: __undefined_type;
-type Elm_Gen_Item_State_Get_Cb: __undefined_type;
-type Elm_Gen_Item_Del_Cb: __undefined_type;
-type Elm_Gen_Item_Filter_Get_Cb: __undefined_type;
-type Elm_Gen_Item_Reusable_Content_Get_Cb: __undefined_type;
-type Elm_Tooltip_Item_Content_Cb: __undefined_type;
-type Elm_Object_Item_Signal_Cb: __undefined_type;
-type Elm_Event_Cb: __undefined_type;
-type Evas_Smart_Cb: __undefined_type;
-type Eina_Compare_Cb: __undefined_type;
+type Elm_Gen_Item_Text_Get_Cb: __undefined_type; [[Elementary genlist/gengrid 
item text callback type]]
+type Elm_Gen_Item_Content_Get_Cb: __undefined_type; [[Elementary 
genlist/gengrid item content callback type]]
+type Elm_Gen_Item_State_Get_Cb: __undefined_type; [[Elementary genlist/gengrid 
item state callback type]]
+type Elm_Gen_Item_Del_Cb: __undefined_type; [[Elementary genlist/gengrid item 
del callback type]]
+type Elm_Gen_Item_Filter_Get_Cb: __undefined_type; [[Elementary 
genlist/gengrid item filter callback type]]
+type Elm_Gen_Item_Reusable_Content_Get_Cb: __undefined_type; [[Elementary 
genlist/gengrid item reusable content callback type]]
+type Elm_Tooltip_Item_Content_Cb: __undefined_type; [[Elementary tooltip item 
content callback type]]
+type Elm_Object_Item_Signal_Cb: __undefined_type; [[Elementary object item 
signal callback type]]
+type Elm_Event_Cb: __undefined_type; [[Elementary event callback type]]
+type Evas_Smart_Cb: __undefined_type; [[Evas smart callback type]]
+type Eina_Compare_Cb: __undefined_type; [[Eina compare callback type]]
 
 /* FIXME: This shouldn't be here, we don't do functions in eolian!!! */
 struct Elm.Gen.Item.Class.Functions
diff --git a/src/lib/elementary/elm_gesture_layer.eo 
b/src/lib/elementary/elm_gesture_layer.eo
index edd715a..94f86eb 100644
--- a/src/lib/elementary/elm_gesture_layer.eo
+++ b/src/lib/elementary/elm_gesture_layer.eo
@@ -1,4 +1,4 @@
-type Elm_Gesture_Event_Cb: __undefined_type;
+type Elm_Gesture_Event_Cb: __undefined_type; [[Elementary gesture event 
callback type]]
 
 enum Elm.Gesture.Type
 {
diff --git a/src/lib/elementary/elm_glview.eo 

[EGIT] [core/efl] master 02/07: docs: efl_clock: fill missings docs for new efl clock class

2016-11-03 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit b98a76dc378547bdc69367a5f26b602dec4bbc49
Author: Stefan Schmidt 
Date:   Thu Nov 3 10:13:49 2016 +0100

docs: efl_clock: fill missings docs for new efl clock class
---
 src/lib/elementary/efl_ui_clock.eo | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/lib/elementary/efl_ui_clock.eo 
b/src/lib/elementary/efl_ui_clock.eo
index 1261cec..9eaa212 100644
--- a/src/lib/elementary/efl_ui_clock.eo
+++ b/src/lib/elementary/efl_ui_clock.eo
@@ -18,6 +18,7 @@ enum Efl.Ui.Clock.Type
 
 class Efl.Ui.Clock (Elm.Layout)
 {
+   [[Efl UI clock class]]
methods {
   @property format {
  [[The current clock format.
@@ -131,10 +132,10 @@ class Efl.Ui.Clock (Elm.Layout)
Minute: default value range is from 0 to 59.
  ]]
  set {
-return: bool;
+return: bool; [[$true on success, $false otherwise]]
  }
  get {
-return: bool;
+return: bool; [[$true on success, $false otherwise]]
  }
 
  keys {
@@ -158,10 +159,10 @@ class Efl.Ui.Clock (Elm.Layout)
Minute: default value range is from 0 to 59.
  ]]
  set {
-return: bool;
+return: bool; [[$true on success, $false otherwise]]
  }
  get {
-return: bool;
+return: bool; [[$true on success, $false otherwise]]
  }
 
  keys {
@@ -185,10 +186,10 @@ class Efl.Ui.Clock (Elm.Layout)
Minute: default value range is from 0 to 59.
  ]]
  set {
-return: bool;
+return: bool; [[$true on success, $false otherwise]]
  }
  get {
-return: bool;
+return: bool; [[$true on success, $false otherwise]]
  }
  keys {
 curtime: Efl.Time*; [[Time structure containing the minimum time 
value.]]
@@ -254,7 +255,7 @@ class Efl.Ui.Clock (Elm.Layout)
   Elm.Layout.sizing_eval;
}
events {
-  changed;
+  changed; [[Called when clock changed]]
}
 
 }

-- 




[EGIT] [core/efl] master 03/07: docs: evas: document various type defines

2016-11-03 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 049bf0247ce207a7a6974a4de200ddbfacc20c7e
Author: Stefan Schmidt 
Date:   Thu Nov 3 11:48:49 2016 +0100

docs: evas: document various type defines
---
 src/lib/evas/canvas/evas_box.eo  | 10 +-
 src/lib/evas/canvas/evas_canvas3d_texture.eo |  2 +-
 src/lib/evas/canvas/evas_types.eot   |  4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/lib/evas/canvas/evas_box.eo b/src/lib/evas/canvas/evas_box.eo
index 66fdb40..ceca8e6 100644
--- a/src/lib/evas/canvas/evas_box.eo
+++ b/src/lib/evas/canvas/evas_box.eo
@@ -1,8 +1,8 @@
-type @extern Evas_Object_Box_Data: __undefined_type; /* FIXME: Not implemented 
because annonymous structs are not supported  */
-type @extern Evas_Object_Box_Option: __undefined_type; /* FIXME: Not 
implemented because bitfields are not supported. */
-type @extern Evas_Object_Box_Layout: __undefined_type; /* FIXME: Function 
pointers are not supported */
-type @extern Eina_Free_Cb: __undefined_type; /* FIXME: Function pointers are 
not supported  */
-type @extern va_list: __undefined_type; /* FIXME: va_list is not supported */
+type @extern Evas_Object_Box_Data: __undefined_type; [[Evas object box data 
type]] /* FIXME: Not implemented because annonymous structs are not supported  
*/
+type @extern Evas_Object_Box_Option: __undefined_type; [[Evas object box 
option type]] /* FIXME: Not implemented because bitfields are not supported. */
+type @extern Evas_Object_Box_Layout: __undefined_type; [[Evas object box 
layout type]] /* FIXME: Function pointers are not supported */
+type @extern Eina_Free_Cb: __undefined_type; [[Eina free callback type]] /* 
FIXME: Function pointers are not supported  */
+type @extern va_list: __undefined_type; [[va_list type]] /* FIXME: va_list is 
not supported */
 
 class Evas.Box (Efl.Canvas.Group.Clipped)
 {
diff --git a/src/lib/evas/canvas/evas_canvas3d_texture.eo 
b/src/lib/evas/canvas/evas_canvas3d_texture.eo
index 0ab00be..277c3e1 100644
--- a/src/lib/evas/canvas/evas_canvas3d_texture.eo
+++ b/src/lib/evas/canvas/evas_canvas3d_texture.eo
@@ -1,4 +1,4 @@
-type @extern Evas_Colorspace: int; /* FIXME: Need to get emile migrated. */
+type @extern Evas_Colorspace: int; [[Evas colorspace type]] /* FIXME: Need to 
get emile migrated. */
 
 class Evas.Canvas3D.Texture (Evas.Canvas3D.Object)
 {
diff --git a/src/lib/evas/canvas/evas_types.eot 
b/src/lib/evas/canvas/evas_types.eot
index 6b97bd5..ec24e56 100644
--- a/src/lib/evas/canvas/evas_types.eot
+++ b/src/lib/evas/canvas/evas_types.eot
@@ -1,4 +1,4 @@
-type @extern Evas.Load_Error: int; /* FIXME: Need to migrate emile. */
+type @extern Evas.Load_Error: int; [[Evas load error type]] /* FIXME: Need to 
migrate emile. */
 struct @extern Evas.Video_Surface; [[Evas video surface data structure]]  /* 
FIXME: The structure is full of the unsupported func pointers. */
 
 type Evas.Modifier_Mask: ullong;  [[An Evas modifier mask type]]
@@ -448,6 +448,6 @@ enum Evas.Canvas3D.Material_Attrib
normal   [[Normal map term]]
 }
 
-type Evas.Canvas3D.Surface_Func: __undefined_type;
+type Evas.Canvas3D.Surface_Func: __undefined_type; [[Evas 3D canvas surface 
function type]]
 
 struct Efl.Canvas.Text.Annotation; [[EFL text annotations data structure]]

-- 




[EGIT] [core/efl] master 01/01: elm: fix build break

2016-11-03 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit 23b1c2af56b32d0ebd421a255dbbc557ebc72771
Author: Amitesh Singh 
Date:   Thu Nov 3 14:54:50 2016 +0530

elm: fix build break

"/usr/local/include/elementary-1/Elementary.h:266:30: fatal error:
efl_ui_clock.eo.h: No such file or directory"
---
 src/Makefile_Elementary.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index d2beac4..03e17c3 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -116,12 +116,12 @@ elm_public_eolian_files = \
lib/elementary/efl_ui_text.eo \
lib/elementary/efl_ui_text_editable.eo \
lib/elementary/efl_config_global.eo \
+   lib/elementary/efl_ui_clock.eo \
$(NULL)
 
 # Private classes (not exposed or shipped)
 elm_private_eolian_files = \
lib/elementary/efl_ui_internal_text_interactive.eo \
-   lib/elementary/efl_ui_clock.eo \
$(NULL)
 
 # Legacy classes - not part of public EO API

-- 




Re: [E-devel] FW: EFL cross compilation for Windows

2016-11-03 Thread Vincent Torri
use and/or help win-builds instead

On Thu, Nov 3, 2016 at 9:34 AM, Hermet Park  wrote:
> And finally, it failed.  at this step - ./build.sh efl_upstream i686 efl
> I didn't look further, if you have any idea please help me :)
>
> #logs.
>
> _64-linux-gnu
> Thread model: posix
> gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.2)
> configure:6418: $? = 0
> configure:6407: gcc -V >&5
> gcc: error: unrecognized command line option '-V'
> gcc: fatal error: no input files
> compilation terminated.
> configure:6418: $? = 1
> configure:6407: gcc -qversion >&5
> gcc: error: unrecognized command line option '-qversion'
> gcc: fatal error: no input files
> compilation terminated.
> configure:6418: $? = 1
> configure:6438: checking whether the C compiler works
> configure:6460: gcc -I/opt/windows_32/include/ -g -O2  -L/opt/windows_32/lib/ 
> -lws2_32 -llua -llibintl conftest.c  >&5
> /usr/bin/ld: cannot find -lws2_32
> /usr/bin/ld: cannot find -llua
> /usr/bin/ld: cannot find -llibintl
> /usr/bin/ld: skipping incompatible /opt/windows_32/lib//libgcc_s.a when 
> searching for -lgcc_s
> collect2: error: ld returned 1 exit status
> configure:6464: $? = 1
> configure:6502: result: no
> configure: failed program was:
> | /* confdefs.h */
> | #define PACKAGE_NAME "efl"
> | #define PACKAGE_TARNAME "efl"
> | #define PACKAGE_VERSION "1.18.99.50728"
> | #define PACKAGE_STRING "efl 1.18.99.50728"
> | #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
> | #define PACKAGE_URL ""
> | #define PACKAGE "efl"
> | #define VERSION "1.18.99.50728"
> | /* end confdefs.h.  */
> |
> | int
> | main ()
> | {
> |
> |   ;
> |   return 0;
> | }
> configure:6507: error: in 
> `/home/hermet/efl/devs/lorddrew/efl-cross-build/sources/efl_upstream/efl':
> configure:6509: error: C compiler cannot create executables
> See `config.log' for more details
>
>
>
>
> -Original Message-
> From: "Hermet Park"
> To: "Enlightenment developer list";
> Cc:
> Sent: 2016-11-03 (목) 16:59:04
> Subject: Re: [E-devel] EFL cross compilation for Windows
>
> Hello.
>
> I'm trying your script and found a typeo in README.
>
> x686 -> i686 ?
>
> Hopefully it works nice. :)
> --
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> --
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] FW: EFL cross compilation for Windows

2016-11-03 Thread Hermet Park
And finally, it failed.  at this step - ./build.sh efl_upstream i686 efl
I didn't look further, if you have any idea please help me :)

#logs.

_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.2)
configure:6418: $? = 0
configure:6407: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:6418: $? = 1
configure:6407: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:6418: $? = 1
configure:6438: checking whether the C compiler works
configure:6460: gcc -I/opt/windows_32/include/ -g -O2  -L/opt/windows_32/lib/ 
-lws2_32 -llua -llibintl conftest.c  >&5
/usr/bin/ld: cannot find -lws2_32
/usr/bin/ld: cannot find -llua
/usr/bin/ld: cannot find -llibintl
/usr/bin/ld: skipping incompatible /opt/windows_32/lib//libgcc_s.a when 
searching for -lgcc_s
collect2: error: ld returned 1 exit status
configure:6464: $? = 1
configure:6502: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "efl"
| #define PACKAGE_TARNAME "efl"
| #define PACKAGE_VERSION "1.18.99.50728"
| #define PACKAGE_STRING "efl 1.18.99.50728"
| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
| #define PACKAGE_URL ""
| #define PACKAGE "efl"
| #define VERSION "1.18.99.50728"
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:6507: error: in 
`/home/hermet/efl/devs/lorddrew/efl-cross-build/sources/efl_upstream/efl':
configure:6509: error: C compiler cannot create executables
See `config.log' for more details




-Original Message-
From: "Hermet Park" 
To: "Enlightenment developer list"; 
Cc: 
Sent: 2016-11-03 (목) 16:59:04
Subject: Re: [E-devel] EFL cross compilation for Windows
 
Hello.

I'm trying your script and found a typeo in README.

x686 -> i686 ?

Hopefully it works nice. :)
--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 08/11: evas: Simplify intercept code

2016-11-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 7f25f19b4759ab49f1f47843916fea6511fec13d
Author: Jean-Philippe Andre 
Date:   Tue Nov 1 14:53:52 2016 +0900

evas: Simplify intercept code

I'm trying to fix a bug. This is not changing logic in any way,
just factorizes the use of va_args.
---
 src/lib/evas/canvas/evas_object_intercept.c | 44 +
 1 file changed, 20 insertions(+), 24 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_intercept.c 
b/src/lib/evas/canvas/evas_object_intercept.c
index d199add..8c48c63 100644
--- a/src/lib/evas/canvas/evas_object_intercept.c
+++ b/src/lib/evas/canvas/evas_object_intercept.c
@@ -99,25 +99,25 @@ _evas_object_intercept_call(Evas_Object *eo_obj, 
Evas_Object_Intercept_Cb_Type c
if (!obj || obj->delete_me || !obj->layer) return 1;
evas_object_async_block(obj);
 
+   va_start(args, internal);
+
switch (cb_type)
  {
   case EVAS_OBJECT_INTERCEPT_CB_VISIBLE:
-va_start(args, internal);
 i = !!va_arg(args, int);
-va_end(args);
-if (i == obj->cur->visible) return 1;
-if (!obj->interceptors) return 0;
-if (i) return evas_object_intercept_call_show(eo_obj, obj);
-else return evas_object_intercept_call_hide(eo_obj, obj);
+if (i == obj->cur->visible) goto end_block;
+if (!obj->interceptors) goto end_noblock;
+if (i) blocked = evas_object_intercept_call_show(eo_obj, obj);
+else blocked = evas_object_intercept_call_hide(eo_obj, obj);
+break;
 
   case EVAS_OBJECT_INTERCEPT_CB_MOVE:
 if (obj->doing.in_move > 0)
   {
  WRN("evas_object_move() called on object %p (%s) in the middle "
  "of moving the same object", eo_obj, 
efl_class_name_get(eo_obj));
- return 1;
+ goto end_block;
   }
-va_start(args, internal);
 i = va_arg(args, int);
 j = va_arg(args, int);
 if ((obj->cur->geometry.x == i) && (obj->cur->geometry.y == j)) goto 
end_block;
@@ -126,7 +126,6 @@ _evas_object_intercept_call(Evas_Object *eo_obj, 
Evas_Object_Intercept_Cb_Type c
 break;
 
   case EVAS_OBJECT_INTERCEPT_CB_RESIZE:
-va_start(args, internal);
 i = va_arg(args, int);
 j = va_arg(args, int);
 if (!internal)
@@ -139,44 +138,41 @@ _evas_object_intercept_call(Evas_Object *eo_obj, 
Evas_Object_Intercept_Cb_Type c
 break;
 
   case EVAS_OBJECT_INTERCEPT_CB_RAISE:
-if (!obj->interceptors) return 0;
-return evas_object_intercept_call_raise(eo_obj, obj);
+if (!obj->interceptors) goto end_noblock;
+blocked = evas_object_intercept_call_raise(eo_obj, obj);
+break;
 
   case EVAS_OBJECT_INTERCEPT_CB_LOWER:
-if (!obj->interceptors) return 0;
-return evas_object_intercept_call_lower(eo_obj, obj);
+if (!obj->interceptors) goto end_noblock;
+blocked = evas_object_intercept_call_lower(eo_obj, obj);
+break;
 
   case EVAS_OBJECT_INTERCEPT_CB_STACK_ABOVE:
-if (!obj->interceptors) return 0;
-va_start(args, internal);
+if (!obj->interceptors) goto end_noblock;
 eo_other = va_arg(args, Evas_Object *);
 blocked = evas_object_intercept_call_stack_above(eo_obj, obj, 
eo_other);
 break;
 
   case EVAS_OBJECT_INTERCEPT_CB_STACK_BELOW:
-if (!obj->interceptors) return 0;
-va_start(args, internal);
+if (!obj->interceptors) goto end_noblock;
 eo_other = va_arg(args, Evas_Object *);
 blocked = evas_object_intercept_call_stack_below(eo_obj, obj, 
eo_other);
 break;
 
   case EVAS_OBJECT_INTERCEPT_CB_LAYER_SET:
-if (!obj->interceptors) return 0;
-va_start(args, internal);
+if (!obj->interceptors) goto end_noblock;
 i = va_arg(args, int);
 blocked = evas_object_intercept_call_layer_set(eo_obj, obj, i);
 break;
 
   case EVAS_OBJECT_INTERCEPT_CB_FOCUS_SET:
-if (!obj->interceptors) return 0;
-va_start(args, internal);
+if (!obj->interceptors) goto end_noblock;
 i = va_arg(args, int);
 blocked = evas_object_intercept_call_focus_set(eo_obj, obj, !!i);
 break;
 
   case EVAS_OBJECT_INTERCEPT_CB_COLOR_SET:
-if (!obj->interceptors) return 0;
-va_start(args, internal);
+if (!obj->interceptors) goto end_noblock;
 r = va_arg(args, int);
 g = va_arg(args, int);
 b = va_arg(args, int);
@@ -185,7 +181,6 @@ _evas_object_intercept_call(Evas_Object *eo_obj, 
Evas_Object_Intercept_Cb_Type c
 break;
 
   case EVAS_OBJECT_INTERCEPT_CB_CLIP_SET:
-va_start(args, internal);
 eo_other = va_arg(args, Evas_Object *);
 if (eo_other)
   {
@@ -208,6 

[EGIT] [core/efl] master 09/11: ecore_evas/x: Minor code simplification

2016-11-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 7f57e23670f324309ee203bfd0e9ca9218f9e214
Author: Jean-Philippe Andre 
Date:   Thu Oct 27 15:46:28 2016 +0900

ecore_evas/x: Minor code simplification
---
 src/modules/ecore_evas/engines/x/ecore_evas_x.c | 49 -
 1 file changed, 24 insertions(+), 25 deletions(-)

diff --git a/src/modules/ecore_evas/engines/x/ecore_evas_x.c 
b/src/modules/ecore_evas/engines/x/ecore_evas_x.c
index 3b6f11b..d3c2fcd 100644
--- a/src/modules/ecore_evas/engines/x/ecore_evas_x.c
+++ b/src/modules/ecore_evas/engines/x/ecore_evas_x.c
@@ -2180,34 +2180,33 @@ _ecore_evas_x_resize(Ecore_Evas *ee, int w, int h)
 
if (edata->direct_resize)
  {
-if ((ee->w != w) || (ee->h != h))
+if ((ee->w == w) && (ee->h == h)) return;
+
+ee->w = w;
+ee->h = h;
+if (changed) edata->configure_reqs++;
+if (ee->prop.window) ecore_x_window_resize(ee->prop.window, w, h);
+if (ECORE_EVAS_PORTRAIT(ee))
   {
- ee->w = w;
- ee->h = h;
- if (changed) edata->configure_reqs++;
- if (ee->prop.window) ecore_x_window_resize(ee->prop.window, w, h);
- if (ECORE_EVAS_PORTRAIT(ee))
-   {
-  evas_output_size_set(ee->evas, ee->w, ee->h);
-  evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
-   }
- else
-   {
-  evas_output_size_set(ee->evas, ee->h, ee->w);
-  evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
-   }
- if (ee->prop.avoid_damage)
-   {
-  int pdam;
+ evas_output_size_set(ee->evas, ee->w, ee->h);
+ evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
+  }
+else
+  {
+ evas_output_size_set(ee->evas, ee->h, ee->w);
+ evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
+  }
+if (ee->prop.avoid_damage)
+  {
+ int pdam;
 
-  pdam = ecore_evas_avoid_damage_get(ee);
-  ecore_evas_avoid_damage_set(ee, 0);
-  ecore_evas_avoid_damage_set(ee, pdam);
-   }
- if ((ee->shaped) || (ee->alpha))
-   _ecore_evas_x_resize_shape(ee);
- if (ee->func.fn_resize) ee->func.fn_resize(ee);
+ pdam = ecore_evas_avoid_damage_get(ee);
+ ecore_evas_avoid_damage_set(ee, 0);
+ ecore_evas_avoid_damage_set(ee, pdam);
   }
+if ((ee->shaped) || (ee->alpha))
+  _ecore_evas_x_resize_shape(ee);
+if (ee->func.fn_resize) ee->func.fn_resize(ee);
  }
else
  {

-- 




[EGIT] [core/efl] master 04/11: evas: Simplify GL masking and fix window rotation

2016-11-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 562528d28c376d5ff941f9db3ea5c4924c07e75f
Author: Jean-Philippe Andre 
Date:   Tue Nov 1 11:23:29 2016 +0900

evas: Simplify GL masking and fix window rotation

The original solution was really complex and relied on
transforming the current gl_Position into the screen
coordinate in pixels, and map that to the pixel position
in the mask.

This new solution simply pushes the required vertices for
the mask, based on its geometry. This fixes masks when used
in a rotated window.

Why was it so hard to get right? :(

@fix
---
 .../evas/engines/gl_common/evas_gl_context.c   | 66 +-
 .../engines/gl_common/shader/evas_gl_shaders.x |  5 +-
 .../evas/engines/gl_common/shader/vertex.glsl  |  5 +-
 3 files changed, 30 insertions(+), 46 deletions(-)

diff --git a/src/modules/evas/engines/gl_common/evas_gl_context.c 
b/src/modules/evas/engines/gl_common/evas_gl_context.c
index a13b8b5..8e14150 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_context.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_context.c
@@ -1357,7 +1357,7 @@ 
evas_gl_common_context_target_surface_set(Evas_Engine_GL_Context *gc,
 #define COLOR_CNT  4
 #define TEX_CNT2
 #define SAM_CNT2
-#define MASK_CNT   4
+#define MASK_CNT   2
 
 #define PUSH_VERTEX(n, x, y, z) do { \
gc->pipe[n].array.vertex[nv++] = x; \
@@ -1380,11 +1380,9 @@ 
evas_gl_common_context_target_surface_set(Evas_Engine_GL_Context *gc,
 #define PUSH_TEXA(n, u, v) do { \
gc->pipe[n].array.texa[na++] = u; \
gc->pipe[n].array.texa[na++] = v; } while(0)
-#define PUSH_TEXM(n, u, v, w, z) do { \
+#define PUSH_TEXM(n, u, v) do { \
gc->pipe[n].array.mask[nm++] = u; \
-   gc->pipe[n].array.mask[nm++] = v; \
-   gc->pipe[n].array.mask[nm++] = w; \
-   gc->pipe[n].array.mask[nm++] = z; } while(0)
+   gc->pipe[n].array.mask[nm++] = v; } while(0)
 #define PUSH_TEXSAM(n, x, y) do { \
gc->pipe[n].array.texsam[ns++] = x; \
gc->pipe[n].array.texsam[ns++] = y; } while(0)
@@ -1398,6 +1396,12 @@ 
evas_gl_common_context_target_surface_set(Evas_Engine_GL_Context *gc,
   PUSH_TEXUV(pn, x1, y1); PUSH_TEXUV(pn, x2, y2); PUSH_TEXUV(pn, x4, y4);\
   PUSH_TEXUV(pn, x2, y2); PUSH_TEXUV(pn, x3, y3); PUSH_TEXUV(pn, x4, y4);
 
+#define PUSH_6_TEXM(pn, x, y, w, h) do { \
+   PUSH_TEXM(pn, x, y); PUSH_TEXM(pn, x + w, y); \
+   PUSH_TEXM(pn, x, y + h); PUSH_TEXM(pn, x + w, y); \
+   PUSH_TEXM(pn, x + w, y + h); PUSH_TEXM(pn, x, y + h); \
+   } while (0)
+
 #define PUSH_6_TEXUV(pn, x1, y1, x2, y2)\
   PUSH_6_QUAD(pn, x1, y1, x2, y1, x2, y2, x1, y2);
 
@@ -1425,38 +1429,31 @@ 
evas_gl_common_context_target_surface_set(Evas_Engine_GL_Context *gc,
 
 static inline Eina_Bool
 _push_mask(Evas_Engine_GL_Context *gc, const int pn, int nm, Evas_GL_Texture 
*mtex,
-   int mx, int my, int mw, int mh, Shader_Sampling msam, int nms)
+   int mx, int my, int mw, int mh, int x, int y, int w, int h,
+   Shader_Sampling msam, int nms)
 {
-   double glmx, glmy, glmw, glmh, yinv = -1.f;
+   double glmx, glmy, glmw, glmh;
double gw = gc->w, gh = gc->h;
-   int i, cnt = 6;
-
-   if (!((gc->pipe[0].shader.surface == gc->def_surface) ||
- (!gc->pipe[0].shader.surface)))
- {
-gw = gc->pipe[0].shader.surface->w;
-gh = gc->pipe[0].shader.surface->h;
-yinv = 1.f;
- }
+   int cnt = 6;
 
if (!gw || !gh || !mw || !mh || !mtex->pt->w || !mtex->pt->h)
  return EINA_FALSE;
 
-   /* vertex shader:
-* vec4 mask_Position = mvp * vertex * vec4(0.5, sign(mask_coord.w) * 0.5, 
0.5, 0.5) + vec4(0.5, 0.5, 0, 0);
-* tex_m = mask_Position.xy * abs(mask_coord.zw) + mask_coord.xy;
-*/
-   glmx = (double)((mtex->x * mw) - (mtex->w * mx)) / (double)(mw * 
mtex->pt->w);
-   glmy = (double)((mtex->y * mh) - (mtex->h * my)) / (double)(mh * 
mtex->pt->h);
-   glmw = (double)(gw * mtex->w) / (double)(mw * mtex->pt->w);
-   glmh = (double)(gh * mtex->h) / (double)(mh * mtex->pt->h);
-   glmh *= yinv;
+   glmx = ((double) (x - mx) / mw) * mtex->w / mtex->pt->w + (double) mtex->x 
/ mtex->pt->w;
+   glmy = ((double) (y - my) / mh) * mtex->h / mtex->pt->h + (double) mtex->y 
/ mtex->pt->h;
+   glmw = (double) (w * mtex->w) / (mw * mtex->pt->w);
+   glmh = (double) (h * mtex->h) / (mh * mtex->pt->h);
 
-   if (gc->pipe[pn].array.line)
- cnt = 2;
-
-   for (i = 0; i < cnt; i++)
- PUSH_TEXM(pn, glmx, glmy, glmw, glmh);
+   if (EINA_UNLIKELY(gc->pipe[pn].array.line))
+ {
+PUSH_TEXM(pn, glmx, glmy);
+PUSH_TEXM(pn, glmx + glmy, glmy + glmh);
+cnt = 2;
+ }
+   else
+ {
+PUSH_6_TEXM(pn, glmx, glmy, glmw, glmh);
+ }
 
if (msam)
  {
@@ -1465,18 +1462,11 @@ _push_mask(Evas_Engine_GL_Context *gc, const int pn, 

[EGIT] [core/efl] master 07/11: elm: Fix usage of invalid object type (image)

2016-11-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 9af981469d9316380d2a4700d8ad1f9c6a323340
Author: Jean-Philippe Andre 
Date:   Tue Nov 1 12:01:42 2016 +0900

elm: Fix usage of invalid object type (image)

This fixes a a crash on NULL and ensures the EAPI call is
done on an elm_image. Just checking NULL is not good enough
as _efl_ui_image_sizing_eval() doesn't check the type first.
---
 src/lib/elementary/efl_ui_image.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_image.c 
b/src/lib/elementary/efl_ui_image.c
index b2d3aa4..409c4dd 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -714,7 +714,7 @@ _efl_ui_image_sizing_eval(Evas_Object *obj)
int w = 0, h = 0;
double ts;
 
-   EFL_UI_IMAGE_DATA_GET(obj, sd);
+   EFL_UI_IMAGE_DATA_GET_OR_RETURN(obj, sd);
 
_efl_ui_image_internal_sizing_eval(obj, sd);
efl_image_smooth_scale_set(obj, sd->smooth);
@@ -1617,6 +1617,7 @@ _efl_ui_image_icon_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Image_Data *sd)
 EAPI void
 elm_image_smooth_set(Evas_Object *obj, Eina_Bool smooth)
 {
+   EINA_SAFETY_ON_FALSE_RETURN(efl_isa(obj, MY_CLASS));
efl_image_smooth_scale_set(obj, smooth);
_efl_ui_image_sizing_eval(obj);
 }
@@ -1624,6 +1625,7 @@ elm_image_smooth_set(Evas_Object *obj, Eina_Bool smooth)
 EAPI Eina_Bool
 elm_image_smooth_get(const Evas_Object *obj)
 {
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(efl_isa(obj, MY_CLASS), EINA_FALSE);
return efl_image_smooth_scale_get(obj);
 }
 

-- 




[EGIT] [core/efl] master 05/11: evas: Avoid calling render() on smart objects

2016-11-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 4d1c53d916fcce9087b6b7c602b92bfe2b8644c5
Author: Jean-Philippe Andre 
Date:   Tue Nov 1 12:06:22 2016 +0900

evas: Avoid calling render() on smart objects

Smart objects do not render themselves. This can avoid a
bit of extra unnecessary work.
---
 src/lib/evas/canvas/evas_render.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 6b846ae..3260d39 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -1806,7 +1806,7 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
 
  ENFN->context_free(ENDT, ctx);
   }
-else
+else if (!obj->is_smart)
   {
  ctx = ENFN->context_dup(ENDT, context);
  if (obj->cur->clipper)

-- 




[EGIT] [core/efl] master 01/11: efl: Fix build break with builddir != srcdir

2016-11-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit d0196d74ce9eb6b763a9627360638bf5e197531b
Author: Jean-Philippe Andre 
Date:   Wed Nov 2 10:56:35 2016 +0900

efl: Fix build break with builddir != srcdir
---
 src/lib/efl/interfaces/efl_observer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_observer.c 
b/src/lib/efl/interfaces/efl_observer.c
index eb2ca92..2d4a20b 100644
--- a/src/lib/efl/interfaces/efl_observer.c
+++ b/src/lib/efl/interfaces/efl_observer.c
@@ -255,5 +255,5 @@ _efl_observable_iterator_tuple_new(Eo *obj, 
Efl_Observable_Data *pd)
return >iterator;
 }
 
-#include "efl_observable.eo.c"
-#include "efl_observer.eo.c"
+#include "interfaces/efl_observable.eo.c"
+#include "interfaces/efl_observer.eo.c"

-- 




[EGIT] [core/efl] master 03/11: wayland: Remove support for "draw_frame"

2016-11-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit eb8d9387c142be9b166fa1657663897bf8fcc958
Author: Jean-Philippe Andre 
Date:   Thu Oct 27 13:33:36 2016 +0900

wayland: Remove support for "draw_frame"

draw_frame is a legacy feature that draws a very ugly window border
with a white rect and a black text as title bar. This could be
used in wayland when using only the ecore_evas APIs, rather than
elm_win.

Note that the API ecore_evas_draw_frame_set() can not possibly work
as the flag is checked when the ecore_evas is created, so changing
the flag has no effect on existing windows.
---
 src/lib/ecore_evas/Ecore_Evas.h|   4 +-
 src/lib/ecore_evas/ecore_evas.c|  11 +-
 src/lib/ecore_evas/ecore_evas_private.h|   1 -
 .../engines/wayland/ecore_evas_wayland_common.c| 347 +
 .../engines/wayland/ecore_evas_wayland_private.h   |   6 -
 5 files changed, 16 insertions(+), 353 deletions(-)

diff --git a/src/lib/ecore_evas/Ecore_Evas.h b/src/lib/ecore_evas/Ecore_Evas.h
index d9827ac..e504fc8 100644
--- a/src/lib/ecore_evas/Ecore_Evas.h
+++ b/src/lib/ecore_evas/Ecore_Evas.h
@@ -2304,8 +2304,8 @@ EAPI voidecore_evas_screen_geometry_get(const 
Ecore_Evas *ee, int *x, in
  */
 EAPI voidecore_evas_screen_dpi_get(const Ecore_Evas *ee, int *xdpi, 
int *ydpi);
 
-EAPI voidecore_evas_draw_frame_set(Ecore_Evas *ee, Eina_Bool 
draw_frame);
-EAPI Eina_Bool   ecore_evas_draw_frame_get(const Ecore_Evas *ee);
+EAPI voidecore_evas_draw_frame_set(Ecore_Evas *ee, Eina_Bool 
draw_frame) EINA_DEPRECATED;
+EAPI Eina_Bool   ecore_evas_draw_frame_get(const Ecore_Evas *ee) 
EINA_DEPRECATED;
 
 /**
  * @brief Associate the given object to this ecore evas.
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 414ff97..cc7f02f 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -2227,17 +2227,16 @@ ecore_evas_screen_dpi_get(const Ecore_Evas *ee, int 
*xdpi, int *ydpi)
 }
 
 EAPI void
-ecore_evas_draw_frame_set(Ecore_Evas *ee, Eina_Bool draw_frame)
+ecore_evas_draw_frame_set(Ecore_Evas *ee EINA_UNUSED, Eina_Bool draw_frame 
EINA_UNUSED)
 {
-   ECORE_EVAS_CHECK(ee);
-   ee->prop.draw_frame = draw_frame;
+   WRN("Calling deprecated function %s (not implemented)", __FUNCTION__);
 }
 
 EAPI Eina_Bool
-ecore_evas_draw_frame_get(const Ecore_Evas *ee)
+ecore_evas_draw_frame_get(const Ecore_Evas *ee EINA_UNUSED)
 {
-   ECORE_EVAS_CHECK(ee, EINA_FALSE);
-   return ee->prop.draw_frame;
+   WRN("Calling deprecated function %s (not implemented)", __FUNCTION__);
+   return EINA_FALSE;
 }
 
 EAPI void 
diff --git a/src/lib/ecore_evas/ecore_evas_private.h 
b/src/lib/ecore_evas/ecore_evas_private.h
index b38e8d5..1b4a510 100644
--- a/src/lib/ecore_evas/ecore_evas_private.h
+++ b/src/lib/ecore_evas/ecore_evas_private.h
@@ -267,7 +267,6 @@ struct _Ecore_Evas
   Eina_Bool   withdrawn: 1;
   Eina_Bool   sticky   : 1;
   Eina_Bool   request_pos  : 1;
-  Eina_Bool   draw_frame   : 1;
   Eina_Bool   hwsurface: 1;
   Eina_Bool   urgent   : 1;
   Eina_Bool   modal: 1;
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index 90ae50c..0838a28 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -94,17 +94,6 @@ static const int interface_wl_version = 1;
 
 Eina_List *ee_list;
 
-/* local structures for the frame smart object */
-typedef struct _EE_Wl_Smart_Data EE_Wl_Smart_Data;
-struct _EE_Wl_Smart_Data
-{
-   Evas_Object_Smart_Clipped_Data base;
-   Evas_Object *text;
-   Evas_Coord x, y, w, h;
-   Evas_Object *border[4]; // 0 = top, 1 = bottom, 2 = left, 3 = right
-   Evas_Coord border_size[4]; // same as border
-};
-
 /* local structure for evas devices with IDs */
 typedef struct _EE_Wl_Device EE_Wl_Device;
 struct _EE_Wl_Device
@@ -116,15 +105,6 @@ struct _EE_Wl_Device
unsigned int id;
 };
 
-static const Evas_Smart_Cb_Description _smart_callbacks[] =
-{
- {NULL, NULL}
-};
-
-EVAS_SMART_SUBCLASS_NEW(_smart_frame_type, _ecore_evas_wl_frame,
-Evas_Smart_Class, Evas_Smart_Class,
-evas_object_smart_clipped_class_get, _smart_callbacks);
-
 /* local variables */
 static int _ecore_evas_wl_init_count = 0;
 static Ecore_Event_Handler *_ecore_evas_wl_event_hdls[12];
@@ -137,7 +117,6 @@ void _ecore_evas_wl_common_render_updates(void *data, Evas 
*evas EINA_UNUSED, vo
 static void _rotation_do(Ecore_Evas *ee, int rotation, int resize);
 static void _ecore_evas_wayland_alpha_do(Ecore_Evas *ee, int alpha);
 static void 

[EGIT] [core/efl] master 10/11: evas: Add some safety code to evas_clip

2016-11-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit d0333561be1e74bf617f9a4059ba64bfea495a28
Author: Jean-Philippe Andre 
Date:   Wed Nov 2 19:51:20 2016 +0900

evas: Add some safety code to evas_clip

I'm trying to fix a crash that seems to happens in some very odd
circumstances under stress testing. I have absolutely no idea
what is going wrong... So let's just add some extra safety.
---
 src/lib/evas/canvas/evas_clip.c | 172 
 src/lib/evas/canvas/evas_object_intercept.c |   2 +-
 src/lib/evas/include/evas_inline.x  |  21 +++-
 3 files changed, 91 insertions(+), 104 deletions(-)

diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c
index 66523c6..1813696 100644
--- a/src/lib/evas/canvas/evas_clip.c
+++ b/src/lib/evas/canvas/evas_clip.c
@@ -29,6 +29,7 @@ evas_object_recalc_clippees(Evas_Object_Protected_Data *obj)
Evas_Object_Protected_Data *clipee;
Eina_List *l;
 
+   EVAS_OBJECT_DATA_VALID_CHECK(obj);
if (obj->cur->cache.clip.dirty)
  {
 evas_object_clip_recalc(obj);
@@ -193,7 +194,8 @@ evas_object_mapped_clip_across_mark(Evas_Object *eo_obj, 
Evas_Object_Protected_D
 static void
 _efl_canvas_object_clip_mask_unset(Evas_Object_Protected_Data *obj)
 {
-   if (!obj || !obj->mask->is_mask) return;
+   EVAS_OBJECT_DATA_VALID_CHECK(obj);
+   if (!obj->mask->is_mask) return;
if (obj->clip.clipees) return;
 
/* this frees the clip surface. is this correct? */
@@ -258,19 +260,77 @@ err_type:
return EINA_TRUE;
 }
 
+static inline void
+_efl_canvas_object_clip_unset_common(Evas_Object_Protected_Data *obj, 
Eina_Bool warn)
+{
+   Evas_Object_Protected_Data *clip = obj->cur->clipper;
+
+   if (!clip) return;
+   if (EVAS_OBJECT_DATA_VALID(clip))
+ {
+clip->clip.cache_clipees_answer = 
eina_list_free(clip->clip.cache_clipees_answer);
+clip->clip.clipees = eina_list_remove(clip->clip.clipees, obj);
+if (!clip->clip.clipees)
+  {
+ EINA_COW_STATE_WRITE_BEGIN(clip, state_write, cur)
+   {
+  state_write->have_clipees = 0;
+  if (warn && clip->is_static_clip)
+{
+   WRN("You override static clipper, it may be dangled! "
+   "obj(%p) type(%s) new clip(%p)",
+   obj->object, obj->type, clip->object);
+}
+   }
+ EINA_COW_STATE_WRITE_END(clip, state_write, cur);
+ /* i know this was to handle a case where a clip stops having
+  * children and becomes a solid colored box - no one ever does
+  * that... they hide the clip so dont add damages,
+  * But, if the clipper could affect color to its clipees, the
+  * clipped area should be redrawn. */
+ if (((clip->cur) && (clip->cur->visible)) &&
+ (((clip->cur->color.r != 255) || (clip->cur->color.g != 255) 
||
+   (clip->cur->color.b != 255) || (clip->cur->color.a != 255)) 
||
+  (clip->mask->is_mask)))
+   {
+  if (clip->layer)
+{
+   Evas_Public_Data *e = clip->layer->evas;
+   evas_damage_rectangle_add(e->evas,
+ clip->cur->geometry.x + 
e->framespace.x,
+ clip->cur->geometry.y + 
e->framespace.y,
+ clip->cur->geometry.w,
+ clip->cur->geometry.h);
+}
+   }
+
+ _efl_canvas_object_clip_mask_unset(clip);
+  }
+evas_object_change(clip->object, clip);
+if (obj->prev->clipper != clip)
+  efl_event_callback_del(clip->object, EFL_EVENT_DEL, _clipper_del_cb, 
obj->object);
+ }
+
+   EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
+ state_write->clipper = NULL;
+   EINA_COW_STATE_WRITE_END(obj, state_write, cur);
+}
+
 EOLIAN void
 _efl_canvas_object_clip_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, 
Evas_Object *eo_clip)
 {
Evas_Object_Protected_Data *clip;
Evas_Public_Data *e;
 
-   if (!eo_clip)
+   EVAS_OBJECT_DATA_ALIVE_CHECK(obj);
+
+   clip = EVAS_OBJECT_DATA_SAFE_GET(eo_clip);
+   if (!EVAS_OBJECT_DATA_ALIVE(clip))
  {
 _clip_unset(eo_obj, obj);
 return;
  }
 
-   clip = efl_data_scope_get(eo_clip, EFL_CANVAS_OBJECT_CLASS);
if (_efl_canvas_object_clip_set_block(eo_obj, obj, eo_clip, clip)) return;
if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_CLIP_SET, 
1, eo_clip)) return;
 
@@ -279,54 +339,9 @@ _efl_canvas_object_clip_set(Eo *eo_obj, 
Evas_Object_Protected_Data *obj, Evas_Ob
  

[EGIT] [core/efl] master 06/11: evas: Fix debug logs with REND_DBG (typo)

2016-11-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit a8ff76eb0d8c11c381cc8e153f7fefe2390f9b9e
Author: Jean-Philippe Andre 
Date:   Tue Nov 1 11:48:30 2016 +0900

evas: Fix debug logs with REND_DBG (typo)
---
 src/lib/evas/canvas/evas_render.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 3260d39..b404724 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -572,7 +572,7 @@ _evas_render_phase1_object_process(Evas_Public_Data *e, 
Evas_Object *eo_obj,
 #ifdef REND_DBG
if (!is_active)
  {
-RD(level, "[%p", obj);
+RD(level, "[%p", obj->object);
 IFRD(obj->name, 0, " '%s'", obj->name);
 RD(0, "] vis: %i, cache.clip.vis: %i cache.clip.a: %i [%p]\n", 
obj->cur->visible, obj->cur->cache.clip.visible, obj->cur->cache.clip.a, 
obj->func->is_visible);
  }
@@ -1344,7 +1344,7 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
 
 #ifdef REND_DBG
RD(level, "{\n");
-   RD(level, "  evas_render_mapped(evas:%p, obj:%p", evas, obj);
+   RD(level, "  evas_render_mapped(evas:%p, obj:%p", evas->evas, obj->object);
IFRD(obj->name, 0, " '%s'", obj->name);
RD(0, ", ctx:%p, sfc:%p, offset:%i,%i, %s, use_mapped_ctx:%d, %s)\n", 
context, surface, off_x, off_y,
   mapped ? "mapped" : "normal", use_mapped_ctx, do_async ? "async" : 
"sync");
@@ -1357,7 +1357,7 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
obj->cur->clipper->type,
obj->cur->clipper->name ? ":" : "",
obj->cur->clipper->name ? obj->cur->clipper->name : "",
-   obj->cur->clipper, obj->clip.mask,
+   obj->cur->clipper->object, obj->clip.mask ? obj->clip.mask->object 
: NULL,
obj->cur->clipper->cur->geometry.x, 
obj->cur->clipper->cur->geometry.y,
obj->cur->clipper->cur->geometry.w, 
obj->cur->clipper->cur->geometry.h,
obj->cur->clipper->cur->color.r, obj->cur->clipper->cur->color.g,
@@ -1374,8 +1374,8 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object 
*eo_obj,
{
   int _cu, _cc, _cm, _cx, _cy, _cw, _ch, _cr, _cg, _cb, _ca, _cmr, _cmg, 
_cmb, _cma;
   _cu = ENFN->context_clip_get(ENDT, context, &_cx, &_cy, &_cw, &_ch);
-  _cc = ENFN->context_color_get(ENDT, context, &_cr, &_cr, &_cb, &_ca);
-  _cm = ENFN->context_multiplier_get(ENDT, context, &_cmr, &_cmr, &_cmb, 
&_cma);
+  _cc = ENFN->context_color_get(ENDT, context, &_cr, &_cg, &_cb, &_ca);
+  _cm = ENFN->context_multiplier_get(ENDT, context, &_cmr, &_cmg, &_cmb, 
&_cma);
   RD(level, "  context clip: [%d] %d,%d %dx%d ; color: [%d] {%d,%d,%d,%d} 
; mult: [%d] {%d,%d,%d,%d}\n",
  _cu, _cx, _cy, _cw, _ch, _cc, _cr, _cg, _cb, _ca, _cm, _cmr, _cmg, 
_cmb, _cma);
}

-- 




[EGIT] [core/efl] master 02/11: ecore_evas: Replace ECORE_MAGIC_CHECK with common macro

2016-11-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit dcb8e87478966bc0673a846a89a84d88d1e4c507
Author: Jean-Philippe Andre 
Date:   Thu Oct 27 12:05:16 2016 +0900

ecore_evas: Replace ECORE_MAGIC_CHECK with common macro

This removes a lot of clutter in the code.
---
 src/lib/ecore_evas/ecore_evas.c | 946 +++-
 1 file changed, 146 insertions(+), 800 deletions(-)

diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index b06fe1f..414ff97 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -44,6 +44,13 @@
 # define O_BINARY 0
 #endif
 
+#define ECORE_EVAS_CHECK(ee, ...) \
+   if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) \
+ { \
+ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, __FUNCTION__); \
+return __VA_ARGS__; \
+ }
+
 EAPI Eina_Bool _ecore_evas_app_comp_sync = EINA_FALSE;
 EAPI int _ecore_evas_log_dom = -1;
 static int _ecore_evas_init_count = 0;
@@ -876,11 +883,7 @@ ecore_evas_ecore_evas_get(const Evas *e)
 {
Ecore_Evas *ee = evas_data_attach_get(e);
if (!ee) return NULL;
-   if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
- {
-ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, "ecore_evas_ecore_evas_get");
-return NULL;
- }
+   ECORE_EVAS_CHECK(ee, NULL);
return ee;
 }
 
@@ -888,12 +891,7 @@ EAPI void
 ecore_evas_free(Ecore_Evas *ee)
 {
if (!ee) return;
-   if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
- {
-ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_free");
-return;
- }
+   ECORE_EVAS_CHECK(ee);
_ecore_evas_free(ee);
return;
 }
@@ -901,12 +899,7 @@ ecore_evas_free(Ecore_Evas *ee)
 EAPI void *
 ecore_evas_data_get(const Ecore_Evas *ee, const char *key)
 {
-   if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
- {
-ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_data_get");
-return NULL;
- }
+   ECORE_EVAS_CHECK(ee, NULL);
 
if (!key) return NULL;
if (!ee->data) return NULL;
@@ -917,12 +910,7 @@ ecore_evas_data_get(const Ecore_Evas *ee, const char *key)
 EAPI void
 ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void *data)
 {
-   if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
- {
-ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_data_set");
-return;
- }
+   ECORE_EVAS_CHECK(ee);
 
if (!key) return;
 
@@ -959,12 +947,7 @@ ecore_evas_object_ecore_evas_get(Evas_Object *obj)
 EAPI void
 ecore_evas_callback_resize_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
 {
-   if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
- {
-ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_resize_set");
-return;
- }
+   ECORE_EVAS_CHECK(ee);
IFC(ee, fn_callback_resize_set) (ee, func);
IFE;
ee->func.fn_resize = func;
@@ -973,12 +956,7 @@ ecore_evas_callback_resize_set(Ecore_Evas *ee, 
Ecore_Evas_Event_Cb func)
 EAPI void
 ecore_evas_callback_move_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
 {
-   if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
- {
-ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_move_set");
-return;
- }
+   ECORE_EVAS_CHECK(ee);
IFC(ee, fn_callback_move_set) (ee, func);
IFE;
ee->func.fn_move = func;
@@ -987,12 +965,7 @@ ecore_evas_callback_move_set(Ecore_Evas *ee, 
Ecore_Evas_Event_Cb func)
 EAPI void
 ecore_evas_callback_show_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
 {
-   if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
- {
-ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_show_set");
-return;
- }
+   ECORE_EVAS_CHECK(ee);
IFC(ee, fn_callback_show_set) (ee, func);
IFE;
ee->func.fn_show = func;
@@ -1001,12 +974,7 @@ ecore_evas_callback_show_set(Ecore_Evas *ee, 
Ecore_Evas_Event_Cb func)
 EAPI void
 ecore_evas_callback_hide_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
 {
-   if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
- {
-ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_hide_set");
-return;
- }
+   ECORE_EVAS_CHECK(ee);
IFC(ee, fn_callback_hide_set) (ee, func);
IFE;
ee->func.fn_hide = func;
@@ -1015,12 +983,7 @@ ecore_evas_callback_hide_set(Ecore_Evas *ee, 
Ecore_Evas_Event_Cb func)
 EAPI void
 ecore_evas_callback_delete_request_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb 
func)
 {
-   if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
- {
-ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_delete_request_set");
-return;
- }
+   ECORE_EVAS_CHECK(ee);
IFC(ee, fn_callback_delete_request_set) (ee, func);
IFE;

[EGIT] [core/efl] master 11/11: evas: Fix warning with va_start in internal EAPI

2016-11-03 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit b96b2aafcbda112f8e0f8a3a4007318226996120
Author: Jean-Philippe Andre 
Date:   Thu Nov 3 17:11:32 2016 +0900

evas: Fix warning with va_start in internal EAPI

Clang 3.9.0 told me:
  warning: passing an object that undergoes default argument
  promotion to 'va_start' has undefined behavior [-Wvarargs]

So I told it to shut up and changed Eina_Bool to int.

Note that edje_edit_state_external_param_set has the same issue.
---
 src/lib/evas/Evas_Legacy.h  | 2 +-
 src/lib/evas/canvas/evas_object_intercept.c | 2 +-
 src/lib/evas/filters/evas_filter_parser.c   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/Evas_Legacy.h b/src/lib/evas/Evas_Legacy.h
index 6a4833c..f385d00 100644
--- a/src/lib/evas/Evas_Legacy.h
+++ b/src/lib/evas/Evas_Legacy.h
@@ -2518,7 +2518,7 @@ enum _Evas_Object_Intercept_Cb_Type
 };
 typedef enum _Evas_Object_Intercept_Cb_Type Evas_Object_Intercept_Cb_Type;
 
-EWAPI Eina_Bool _evas_object_intercept_call(Evas_Object *obj, 
Evas_Object_Intercept_Cb_Type type, Eina_Bool internal, ...);
+EWAPI Eina_Bool _evas_object_intercept_call(Evas_Object *obj, 
Evas_Object_Intercept_Cb_Type type, int internal, ...);
 
 #endif
 
diff --git a/src/lib/evas/canvas/evas_object_intercept.c 
b/src/lib/evas/canvas/evas_object_intercept.c
index 38e016e..7bca4a7 100644
--- a/src/lib/evas/canvas/evas_object_intercept.c
+++ b/src/lib/evas/canvas/evas_object_intercept.c
@@ -88,7 +88,7 @@ EVAS_OBJECT_INTERCEPT_CALL(clip_set,(COMMON_ARGS, 
Evas_Object *clip), UNPACK
  */
 EWAPI Eina_Bool
 _evas_object_intercept_call(Evas_Object *eo_obj, Evas_Object_Intercept_Cb_Type 
cb_type,
-Eina_Bool internal, ...)
+int internal, ...)
 {
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
Eina_Bool blocked = 0;
diff --git a/src/lib/evas/filters/evas_filter_parser.c 
b/src/lib/evas/filters/evas_filter_parser.c
index d958093..6ccb649 100644
--- a/src/lib/evas/filters/evas_filter_parser.c
+++ b/src/lib/evas/filters/evas_filter_parser.c
@@ -422,7 +422,7 @@ _instruction_param_addv(Evas_Filter_Instruction *instr, 
const char *name,
 
 static Eina_Bool
 _instruction_param_adda(Evas_Filter_Instruction *instr, const char *name,
-Value_Type format, Eina_Bool sequential,
+Value_Type format, int sequential,
 /* default value */ ...)
 {
Eina_Bool ok;

-- 




Re: [E-devel] EFL cross compilation for Windows

2016-11-03 Thread Hermet Park
Hello.

I'm trying your script and found a typeo in README.

x686 -> i686 ?

Hopefully it works nice. :)
--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


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

2016-11-03 Thread Stefan Schmidt
Hello.

On 03/11/16 06:54, Daniel Zaoui wrote:
> Oooo... After more investigation, it more seems that exactness data 
> repository is not updated in the server.
>
> Now, I have to convince you to update Exactness repos.

It gets updated every build but it was building from a different branch. 
I switched back to master now so you should see the latest failures.

Another difference might be that the Jenkins job uses the 1.17 default 
theme (we might want to switch to 1.18 nowadays)

Here is how the snipped from the build looks like:

   rm -rf exactness-elm-data
   git clone git://git.enlightenment.org/tools/exactness-elm-data.git
   sed -i -e 's@elementary_test@src/bin/elementary/elementary_test@g' 
exactness-elm-data/default-profile/tests.txt

   rm -rf results/
   mkdir results
   cp -r exactness-elm-data/default-profile/orig/ results/

   make lcov-reset
   make lcov-baseline

   destdir/bin/exactness -j 10 -w "ELM_PROFILE=default 
ELM_THEME=exactness-elm-data/default-theme-1.17.edj" -b 
"exactness-elm-data/default-profile/recordings" -d "results" -p 
exactness-elm-data/default-profile/tests.txt || true

   make lcov-report


If you are actively going to work on this again and want to make is 
successful on Jenkins I have no problem to change these things back.
The only reason for using the separate branch and the stable theme was 
to sort out some of the moving parts to get anywhere.

I started a new build (54) just now which uses master from the exactness 
data repo but still the 1.17 theme. Let me know what you expect here.

regards
Stefan Schmidt

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] eina freeq?

2016-11-03 Thread The Rasterman
On Thu, 03 Nov 2016 09:35:21 +0200 Daniel Zaoui  said:

> Well, my Lord, I hate that idea. Do you want to make all EFL asynchronous?

this isn't async. it's just deferred. we already do this for evas objects with
delete_me. we do it for timers/animators and mark them for deletion later. it's
nothing new. this is just more generic/extensive

> >From my point of view, seems to be like a hack cause some problems (e.g Eo)
> >are hard to solve.
> 
> My comments below.
> 
> On Thu, 03 Nov 2016 16:11:24 +0900
> Carsten Haitzler  (The Rasterman) wrote:
> 
> > here's an idea. it's very very very very simple
> > 
> > create an eina_freeq(). instead of calling free() or whatever free
> > function on something immediately, call:
> > 
> > fq = eina_freeq_main_get();
> > eina_freeq_ptr_add(fq, pointer, size, free);
> > 
> > or
> > 
> > fq = eina_freeq_global_get();
> > eina_freeq_ptr_add(fq, l, sizeof(Eina_List),
> > _eina_list_mempool_list_free);
> > 
> > etc.
> > 
> > and the free queue will "add this to the end" to be freed some time
> > later. the idea of size is so it could make intelligent choice like
> > to free very large chunks earlier than smaller allocations. the
> > mainloop would drive this actual freeing. or more specifically your
> > LOCAL loop would. need to add some kind of loop method that returns
> > the "free queue" FOR your loop/thread. or wherever you want it
> > actually freed. probably have a main free queue driven by the
> > mainloop (and cleared up on eina_shutdown) etc.
> > 
> > why?
> > 
> > 1. move overhead of doing actual frees out of critical code into idle
> > time
> > 2. improve stability by keeping memory eg for eo objects or eina
> > list nodes in a "free queue purgatory" for a while so if someone does
> > bad things like "use after free" the IMPACT is far smaller as they
> > mess with memory in the free queue not being used.
> 
> Stability has to be improved with refs and other design technics, not with
> delay. More, we can't use anymore Valgrind. And this will be PITA to debug.
> The same kind of debug with async events where the frame before is
> ecore_loop...

we can use valgrind. just have freeq free immediately. env vars can switch
behavior around. :) so valgrind - can work trivially.

> btw, the third point didn't leave your head ;-)

oh yeah.. it got lost on the way to the kbd. :)

> > 4. be able to fill memory about to be freed with patterns (eg 0x55 or
> > 0xaa) so after free the memory is guaranteed to have a pattern to
> > know it was freed (optional debug only for mem regions of size > 0
> > and maybe less than some max size).
> 
> meow (I think this is what you say when you don't know if it is a good
> feature or not :-).
> 
> > 5. optional - checksum the memory when added to free queue then check
> > checksum on actual free to warn of some code "being bad" and
> > scribbling over freed memory. at least we get warnings of lurking
> > bugs if we turn this on...
> 
> Valgrind does it better.

the problem is we have people who will NOT RUN STUFF UNDER VALGRIND.

1. for example valgrind doesnt work on openbsd. at all.
2. good luck with valgrind on something like an rpi ... go and make lunch while
you wait for your app to start. make coffee in between clicks.the bug you were
looking for likely disappeared because timing changed so drastically you cant
catch it. i've seen this happen before.
3. people run/test and they do not want to slow things down to 1/50th of the
speed. they CAN'T, so having a pattern means its a very low cost and coredumps
can tell us far more information on what is going on. you cant force testers in
qa to "run it under valgrind". they dont even know what it is, nor can they
even do it. the speed impact along vetoes it. the impact of memset() for
smallish things (eg < 1k) is going to be MASSIVELY less.
4. this doesn't replace valgrind. it augments it for when valgrind is just not
viable. it at least gives us a CLUE. JP just was telling me of an issue where a
Eina_List * ptr in an evas object is 0x1 ... it should never be 0x1. it should
be some valid ptr value or NULL. something scribbled to this memory when it
should not have. LIKELY something like using a ptr after free and that ptr
HAPPENED to point to this object memory. we have no clue who did it and
valgrind can't catch this as its not freed ... YET. but if that memory WAS
handled by a free queue this would be far less likely to happen as the "write
to unused memory" would be less likely to affect a live real object. you want
things to be as robust as possible with minimal if not zero cost when you are
NOT running under valgrind. in fact i can detect if running under valgrind and
switch behaviour to insta-free thus changing nothing when running under
valgrind vs today, but buying more debug/tracking info when not.

what if the bug is not something WE can fix? some app using efl uses a ptr
after free? the crashes happen in efl code as 

Re: [E-devel] eina freeq?

2016-11-03 Thread Daniel Zaoui
Well, my Lord, I hate that idea. Do you want to make all EFL asynchronous?

>From my point of view, seems to be like a hack cause some problems (e.g Eo) 
>are hard to solve.

My comments below.

On Thu, 03 Nov 2016 16:11:24 +0900
Carsten Haitzler  (The Rasterman) wrote:

> here's an idea. it's very very very very simple
> 
> create an eina_freeq(). instead of calling free() or whatever free
> function on something immediately, call:
> 
> fq = eina_freeq_main_get();
> eina_freeq_ptr_add(fq, pointer, size, free);
> 
> or
> 
> fq = eina_freeq_global_get();
> eina_freeq_ptr_add(fq, l, sizeof(Eina_List),
> _eina_list_mempool_list_free);
> 
> etc.
> 
> and the free queue will "add this to the end" to be freed some time
> later. the idea of size is so it could make intelligent choice like
> to free very large chunks earlier than smaller allocations. the
> mainloop would drive this actual freeing. or more specifically your
> LOCAL loop would. need to add some kind of loop method that returns
> the "free queue" FOR your loop/thread. or wherever you want it
> actually freed. probably have a main free queue driven by the
> mainloop (and cleared up on eina_shutdown) etc.
> 
> why?
> 
> 1. move overhead of doing actual frees out of critical code into idle
> time
> 2. improve stability by keeping memory eg for eo objects or eina
> list nodes in a "free queue purgatory" for a while so if someone does
> bad things like "use after free" the IMPACT is far smaller as they
> mess with memory in the free queue not being used.

Stability has to be improved with refs and other design technics, not with 
delay.
More, we can't use anymore Valgrind. And this will be PITA to debug. The same 
kind of debug with async events where the frame before is ecore_loop...

btw, the third point didn't leave your head ;-)

> 4. be able to fill memory about to be freed with patterns (eg 0x55 or
> 0xaa) so after free the memory is guaranteed to have a pattern to
> know it was freed (optional debug only for mem regions of size > 0
> and maybe less than some max size).

meow (I think this is what you say when you don't know if it is a good feature 
or not :-).

> 5. optional - checksum the memory when added to free queue then check
> checksum on actual free to warn of some code "being bad" and
> scribbling over freed memory. at least we get warnings of lurking
> bugs if we turn this on...

Valgrind does it better.

> 
> this doesn't solve everything, but it is an improvement and it's easy
> to slide in and begin using very quickly - eg eo object data, eina
> lists and a few other things. the free queue itself would be a very
> very very low overhead buffer - not a linked list. maybe a mmaped or
> malloced buffer/array (ring buffer) with a start and end point so we
> dont do anything but write the above ptr, free ptr and maybe size to
> the next array slot and move the ring buffer next slot one down.
> 
> adding the freeq code in eina is a cakewalk. i'd spend more time
> writing docs and tests than the code itself. :( adding usage of it
> should be trivial.
> 
> any comments?
> 


--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] eina freeq?

2016-11-03 Thread The Rasterman
here's an idea. it's very very very very simple

create an eina_freeq(). instead of calling free() or whatever free function on
something immediately, call:

fq = eina_freeq_main_get();
eina_freeq_ptr_add(fq, pointer, size, free);

or

fq = eina_freeq_global_get();
eina_freeq_ptr_add(fq, l, sizeof(Eina_List), _eina_list_mempool_list_free);

etc.

and the free queue will "add this to the end" to be freed some time later. the
idea of size is so it could make intelligent choice like to free very large
chunks earlier than smaller allocations. the mainloop would drive this actual
freeing. or more specifically your LOCAL loop would. need to add some kind of
loop method that returns the "free queue" FOR your loop/thread. or wherever you
want it actually freed. probably have a main free queue driven by the mainloop
(and cleared up on eina_shutdown) etc.

why?

1. move overhead of doing actual frees out of critical code into idle time
2. improve stability by keeping memory eg for eo objects or eina list nodes in
a "free queue purgatory" for a while so if someone does bad things like "use
after free" the IMPACT is far smaller as they mess with memory in the free
queue not being used.
4. be able to fill memory about to be freed with patterns (eg 0x55 or 0xaa) so
after free the memory is guaranteed to have a pattern to know it was freed
(optional debug only for mem regions of size > 0 and maybe less than some max
size).
5. optional - checksum the memory when added to free queue then check checksum
on actual free to warn of some code "being bad" and scribbling over freed
memory. at least we get warnings of lurking bugs if we turn this on...

this doesn't solve everything, but it is an improvement and it's easy to slide
in and begin using very quickly - eg eo object data, eina lists and a few other
things. the free queue itself would be a very very very low overhead buffer -
not a linked list. maybe a mmaped or malloced buffer/array (ring buffer) with a
start and end point so we dont do anything but write the above ptr, free ptr
and maybe size to the next array slot and move the ring buffer next slot one
down.

adding the freeq code in eina is a cakewalk. i'd spend more time writing docs
and tests than the code itself. :( adding usage of it should be trivial.

any comments?

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


--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/02: Efl.Ui.Clock: Add elm module & theme

2016-11-03 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit b0d2e987f3a37291cd1e1090ba0812c3b4a0ed67
Author: Amitesh Singh 
Date:   Thu Nov 3 11:59:31 2016 +0530

Efl.Ui.Clock: Add elm module & theme

Summary: depends on D3938

Reviewers: yashu21985, bu5hm4n, woohyun, Hermet, raster, jpeg

Subscribers: gohwoon.jeong, cedric, seoz, jpeg

Differential Revision: https://phab.enlightenment.org/D3939
---
 data/elementary/themes/default.edc |   1 +
 data/elementary/themes/edc/elm/uiclock.edc | 207 +++
 src/Makefile_Elementary.am |  28 ++
 .../clock_input_ctxpopup/clock_input_ctxpopup.c| 399 +
 4 files changed, 635 insertions(+)

diff --git a/data/elementary/themes/default.edc 
b/data/elementary/themes/default.edc
index a157329..701aba0 100644
--- a/data/elementary/themes/default.edc
+++ b/data/elementary/themes/default.edc
@@ -37,6 +37,7 @@ collections {
 #include "edc/elm/photo.edc"
 #include "edc/elm/focus.edc"
 #include "edc/elm/datetime.edc"
+#include "edc/elm/uiclock.edc"
 #include "edc/elm/player.edc"
 #include "edc/elm/thumb.edc"
 #include "edc/elm/pointer.edc"
diff --git a/data/elementary/themes/edc/elm/uiclock.edc 
b/data/elementary/themes/edc/elm/uiclock.edc
new file mode 100644
index 000..348c2f2
--- /dev/null
+++ b/data/elementary/themes/edc/elm/uiclock.edc
@@ -0,0 +1,207 @@
+#define DATETIME_FIELD(_pos) \
+   part { \
+  name: "field"#_pos; type: SWALLOW; \
+  scale: 1; \
+  clip_to: "clip"; \
+  description { state: "default" 0.0; \
+ visible: 0; \
+ min: 0 0; \
+ align: 0.0 0.5; \
+ fixed: 1 1; \
+ rel1.relative: 1.0 0.0; \
+ rel1.to: "separator"#_pos; \
+ rel2.relative: 1.0 1.0; \
+ rel2.to: "separator"#_pos; \
+  } \
+  description { state: "enable" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ min: 8 10; \
+  } \
+   } \
+   programs{ \
+  program { name: "field_"#_pos"enabled"; \
+ signal: "field"#_pos",enable"; source: "elm"; \
+ action: STATE_SET "enable" 0.0; \
+ target: "field"#_pos; \
+  } \
+  program { name: "field_"#_pos"disabled"; \
+ signal: "field"#_pos",disable"; source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "field"#_pos; \
+  } \
+}
+#define DATETIME_SEPARATOR(_pos, _after) \
+   part { \
+  name: "separator"#_pos; type: TEXT; \
+  scale: 1; \
+  effect: SHADOW BOTTOM; \
+  clip_to: "disclip"; \
+  description { state: "default" 0.0; \
+ visible: 0; \
+ min: 0 0; \
+ align: 0.0 0.5; \
+ fixed: 1 0; \
+ rel1 { \
+relative: 1.0 0.0; \
+to: "field"#_after; \
+ } \
+ rel2 { \
+relative: 1.0 1.0; \
+to: "field"#_after; \
+ } \
+ color_class: "datetime_separator_text"; \
+ text { \
+font: "Sans"; size: 10; \
+min: 1 0; \
+ellipsis: -1; \
+align: 0.5 0.5; \
+text_class: "datetime_separator_text"; \
+ } \
+  } \
+  description { state: "enable" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ min: 8 10; \
+  } \
+   } \
+   part { \
+  name: "separator"#_pos"d"; type: TEXT; \
+  scale: 1; \
+  effect: SHADOW BOTTOM; \
+  clip_to: "disclip2"; \
+  description { state: "default" 0.0; \
+ visible: 0; \
+ rel1.to: "separator"#_pos; \
+ rel2.to: "separator"#_pos; \
+ color_class: "datetime_separator_text_disabled"; \
+ text { \
+text_source: "separator"#_pos; \
+font: "Sans"; size: 10; \
+text_class: "datetime_separator_text_disabled"; \
+ } \
+  } \
+  description { state: "enable" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+  } \
+   } \
+   programs { \
+  program { \
+ signal: "field"#_after",enable"; source: "elm"; \
+ action: STATE_SET "enable" 0.0; \
+ target: "separator"#_pos; \
+ target: "separator"#_pos"d"; \
+  } \
+  program { \
+ signal: "field"#_after",disable"; source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "separator"#_pos; \
+ target: "separator"#_pos"d"; \
+  } \
+   }
+group { name: "elm/uiclock/base/default";
+   parts {
+  part { name: "bg"; type: RECT;
+ description { state: "default" 0.0;
+color_class: "datetime_bg";
+ }
+  }
+  part { name: "clip"; type: RECT;
+ description { state: "default" 0.0;
+rel1.to: "separator0";
+rel2.to: "separator7";
+ }
+  }
+  part { name: 

[EGIT] [core/efl] master 02/02: efl_ui_clock: Merge datetime/dayselector/clock widgets into efl_ui_clock.

2016-11-03 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit 0bcb0302fb647b43cef4e633cf0c0b16e5521e04
Author: Amitesh Singh 
Date:   Thu Nov 3 12:00:17 2016 +0530

efl_ui_clock: Merge datetime/dayselector/clock widgets into efl_ui_clock.

Summary:
Datetime widget is module based, so datetime widget is used as base for 
efl_ui_clock and merged dayselector/clock features into efl_ui_clock.
Added day selection and seconds support in efl_ui_clock.
 Added clock features like auto updation of time, stop timer etc in 
efl_ui_clock.
 Added API to enable/disable edit_mode. efl_ui_clock can be configurable to 
display either only day/date/time or display any two of them or display all 
three.
Added efl_ui_clock.c and test_ui_clock.c. Theme and Module is added in 
another patch by Amitesh.

Original author is Yeshwanth . I have polished 
this patch a bit and make it compatible with current EFL code.

Test Plan: test_ui_clock

Reviewers: bu5hm4n, tasn, yashu21985, jpeg, cedric, raster

Subscribers: CHAN, woohyun

Differential Revision: https://phab.enlightenment.org/D3938
---
 config/default/base.src.in|4 +-
 config/mobile/base.src.in |4 +-
 config/standard/base.src.in   |4 +-
 src/Makefile_Elementary.am|3 +
 src/bin/elementary/Makefile.am|1 +
 src/bin/elementary/test.c |2 +
 src/bin/elementary/test_ui_clock.c|  117 +++
 src/lib/elementary/Elementary.h   |1 +
 src/lib/elementary/efl_ui_clock.c | 1189 +
 src/lib/elementary/efl_ui_clock.eo|  260 +++
 src/lib/elementary/efl_ui_clock.h |  204 +
 src/lib/elementary/efl_ui_clock_private.h |  130 
 src/lib/elementary/elm_config.c   |4 +
 13 files changed, 1917 insertions(+), 6 deletions(-)

diff --git a/config/default/base.src.in b/config/default/base.src.in
index 90188f3..9f27fd4 100644
--- a/config/default/base.src.in
+++ b/config/default/base.src.in
@@ -1,5 +1,5 @@
 group "Elm_Config" struct {
-  value "config_version" int: 131084;
+  value "config_version" int: 131085;
   value "engine" string: "";
   value "vsync" uchar: 0;
   value "thumbscroll_enable" uchar: 1;
@@ -39,7 +39,7 @@ group "Elm_Config" struct {
   value "finger_size" int: 10;
   value "fps" double: 60.0;
   value "theme" string: "default";
-  value "modules" string: 
"prefs>prefs_iface:access_output>access/api:datetime_input_ctxpopup>datetime/api";
+  value "modules" string: 
"prefs>prefs_iface:access_output>access/api:datetime_input_ctxpopup>datetime/api:clock_input_ctxpopup>clock/api";
   value "tooltip_delay" double: 1.0;
   value "cursor_engine_only" uchar: 0;
   value "focus_highlight_enable" uchar: 0;
diff --git a/config/mobile/base.src.in b/config/mobile/base.src.in
index 5619970..fedba06 100644
--- a/config/mobile/base.src.in
+++ b/config/mobile/base.src.in
@@ -1,5 +1,5 @@
 group "Elm_Config" struct {
-  value "config_version" int: 131084;
+  value "config_version" int: 131085;
   value "engine" string: "";
   value "vsync" uchar: 0;
   value "thumbscroll_enable" uchar: 1;
@@ -39,7 +39,7 @@ group "Elm_Config" struct {
   value "finger_size" int: 40;
   value "fps" double: 60.0;
   value "theme" string: "default";
-  value "modules" string: 
"prefs>prefs_iface:access_output>access/api:datetime_input_ctxpopup>datetime/api";
+  value "modules" string: 
"prefs>prefs_iface:access_output>access/api:datetime_input_ctxpopup>datetime/api:clock_input_ctxpopup>clock/api";
   value "tooltip_delay" double: 1.0;
   value "cursor_engine_only" uchar: 0;
   value "focus_highlight_enable" uchar: 0;
diff --git a/config/standard/base.src.in b/config/standard/base.src.in
index 849185f..b201a3e 100644
--- a/config/standard/base.src.in
+++ b/config/standard/base.src.in
@@ -1,5 +1,5 @@
 group "Elm_Config" struct {
-  value "config_version" int: 131084;
+  value "config_version" int: 131085;
   value "engine" string: "";
   value "vsync" uchar: 0;
   value "thumbscroll_enable" uchar: 0;
@@ -39,7 +39,7 @@ group "Elm_Config" struct {
   value "finger_size" int: 10;
   value "fps" double: 60.0;
   value "theme" string: "default";
-  value "modules" string: 
"prefs>prefs_iface:access_output>access/api:datetime_input_ctxpopup>datetime/api";
+  value "modules" string: 
"prefs>prefs_iface:access_output>access/api:datetime_input_ctxpopup>datetime/api:clock_input_ctxpopup>clock/api";
   value "tooltip_delay" double: 1.0;
   value "cursor_engine_only" uchar: 0;
   value "focus_highlight_enable" uchar: 0;
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index dd78134..d2beac4 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -121,6 +121,7 @@ elm_public_eolian_files = \
 # Private