Re: [E-devel] Removing part_xxx Eo API from Elm.Widget
On 3 November 2016 at 23:14, Daniel Hirtwrote: > 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.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a614303fb6507ed827a05beb6002815dc19f4b25 commit a614303fb6507ed827a05beb6002815dc19f4b25 Author: Cedric BAILDate: 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
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=10e4e6525067b2eeb0b054c2448b3f1c197d21aa commit 10e4e6525067b2eeb0b054c2448b3f1c197d21aa Author: Vitor SousaDate: 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
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a7ff7ceebbe8134e264f8d4e976bf4fccb19f8fa commit a7ff7ceebbe8134e264f8d4e976bf4fccb19f8fa Author: Cedric BAILDate: 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.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=59a635d251047f34da5b8edc7f956600b77167e8 commit 59a635d251047f34da5b8edc7f956600b77167e8 Author: Cedric BAILDate: 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.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=832873259ccc98bf615e4976db92749232f355e8 commit 832873259ccc98bf615e4976db92749232f355e8 Author: Cedric BAILDate: 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?
On Thu, 3 Nov 2016 11:24:14 -0200 Gustavo Sverzut Barbierisaid: > 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
bdilly pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fcf9f55150cff6aef23779782e17f603f6c7db10 commit fcf9f55150cff6aef23779782e17f603f6c7db10 Author: Bruno DillyDate: 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
felipealmeida pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=137dd4864d07e6c3398f049377bdeb140063d631 commit 137dd4864d07e6c3398f049377bdeb140063d631 Author: Felipe Magno de AlmeidaDate: 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
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=353ad6be117bb84c20c7c30c2028404dedb55270 commit 353ad6be117bb84c20c7c30c2028404dedb55270 Author: Mike BlumenkrantzDate: 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
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=03ad3620c76470524b252824fb389845e951426d commit 03ad3620c76470524b252824fb389845e951426d Author: Mike BlumenkrantzDate: 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
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=13f408f1e1320e89aa01948b3f24f14efdbe1d44 commit 13f408f1e1320e89aa01948b3f24f14efdbe1d44 Author: Mike BlumenkrantzDate: 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
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=669f00e2e20372a119123c520007de04b2831fd3 commit 669f00e2e20372a119123c520007de04b2831fd3 Author: Mike BlumenkrantzDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=137afa68adf51da265615f5886e62acd453cc7a1 commit 137afa68adf51da265615f5886e62acd453cc7a1 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cbe42ac34d5efde73ea5044f72feeed206dbb865 commit cbe42ac34d5efde73ea5044f72feeed206dbb865 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=418f68020faf511f658cfcc11403895b81e9f523 commit 418f68020faf511f658cfcc11403895b81e9f523 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d433f1e73cf6bc9c8afe4bea6f5432b17ddf7812 commit d433f1e73cf6bc9c8afe4bea6f5432b17ddf7812 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=792c1f2308f3839d0cbeb6315858e8edd32a4f12 commit 792c1f2308f3839d0cbeb6315858e8edd32a4f12 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4fa4be2b14149483fa7aa58b6d0c6e3bf4ed542d commit 4fa4be2b14149483fa7aa58b6d0c6e3bf4ed542d Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8841f7e781bbe24ff38a43c3faa496331713efcf commit 8841f7e781bbe24ff38a43c3faa496331713efcf Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=af459946792f9b029f033ce42ab3eae59b647c0b commit af459946792f9b029f033ce42ab3eae59b647c0b Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4762516beb70c1389853979924454012447740ab commit 4762516beb70c1389853979924454012447740ab Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=db3bbe821fd8a6c594710cd559b5008bed3a1c74 commit db3bbe821fd8a6c594710cd559b5008bed3a1c74 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=01117bf898673ac93aa3d15831b21d80522de9dc commit 01117bf898673ac93aa3d15831b21d80522de9dc Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=df47f92236e40fe03f162f2fc22338716735eaf9 commit df47f92236e40fe03f162f2fc22338716735eaf9 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b347c05f11ae1149dca093a6d75ef8fdd5df3d14 commit b347c05f11ae1149dca093a6d75ef8fdd5df3d14 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=713df88b66d9cb0be1fa02105860043da0125a3e commit 713df88b66d9cb0be1fa02105860043da0125a3e Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d773f33612f5da1e5540a366253dc977fdcf94ed commit d773f33612f5da1e5540a366253dc977fdcf94ed Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bc8601690d5a8427153e37278ca4e321b11eb3ef commit bc8601690d5a8427153e37278ca4e321b11eb3ef Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1b4cea9b0805c3e6295d8130643d701c1fd7bb92 commit 1b4cea9b0805c3e6295d8130643d701c1fd7bb92 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=54ad4f24d2119f7be59511178514202ee935ad07 commit 54ad4f24d2119f7be59511178514202ee935ad07 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=00abb62e5358046b3d403501d2db27d778810574 commit 00abb62e5358046b3d403501d2db27d778810574 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=06e0473a7989ea0332a93c7621b6601f4e1527e2 commit 06e0473a7989ea0332a93c7621b6601f4e1527e2 Author: Daniel KolesaDate: 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
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=e3590f6c3e290f7eaf53f2a523433c110eea71d9 commit e3590f6c3e290f7eaf53f2a523433c110eea71d9 Author: Mike BlumenkrantzDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3b2fdfcc60edeff079b8f628d7d88a8dd191ecac commit 3b2fdfcc60edeff079b8f628d7d88a8dd191ecac Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3c4e0ff76e84a7983a497e3588b1fc2c24aca8e1 commit 3c4e0ff76e84a7983a497e3588b1fc2c24aca8e1 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0f20af41eabfd2c329bd0b32a41d834f28007859 commit 0f20af41eabfd2c329bd0b32a41d834f28007859 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=61d87af9e63408c9e6aeaec1b06b601b55369a6d commit 61d87af9e63408c9e6aeaec1b06b601b55369a6d Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d00c22934fe4f41ecff3c9b6281c29418f15fa8d commit d00c22934fe4f41ecff3c9b6281c29418f15fa8d Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6e0e4a8fe5eef07ca547a85ab02e25ac0d2cfb76 commit 6e0e4a8fe5eef07ca547a85ab02e25ac0d2cfb76 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=73ceac1f6cd4a57f0c926c191640c1c3a5c93682 commit 73ceac1f6cd4a57f0c926c191640c1c3a5c93682 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6369ccb1d850a54f45417148bb8d776ca3feef74 commit 6369ccb1d850a54f45417148bb8d776ca3feef74 Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=50c9ef12df5af448e6ffe0cda88c8aadebd8c408 commit 50c9ef12df5af448e6ffe0cda88c8aadebd8c408 Author: Daniel KolesaDate: 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
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=33740ca30642a644d465e7a3c58a12a344fbd09d commit 33740ca30642a644d465e7a3c58a12a344fbd09d Author: Mike BlumenkrantzDate: 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
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f1163107574a150cda7d1ef5e34f005e58b9680d commit f1163107574a150cda7d1ef5e34f005e58b9680d Author: Mike BlumenkrantzDate: 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
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=99e89b708fc4aec321768feca9d191395aecbb45 commit 99e89b708fc4aec321768feca9d191395aecbb45 Author: Chris MichaelDate: 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
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
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
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?
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
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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f399e77a92fc6d2cf92ab097eebc984a039bf223 commit f399e77a92fc6d2cf92ab097eebc984a039bf223 Author: Daniel KolesaDate: 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
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
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
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=7e77968b32497c29e25f8d50fd6d03c64d528702 commit 7e77968b32497c29e25f8d50fd6d03c64d528702 Author: Vyacheslav ReutskiyDate: 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'
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=8efbaacb1b561bc0d0fc421a0e976b1d89f3dda3 commit 8efbaacb1b561bc0d0fc421a0e976b1d89f3dda3 Author: Vyacheslav ReutskiyDate: 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
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8e1dac310a6b87dcfa1b83b38cd426c05a6336b6 commit 8e1dac310a6b87dcfa1b83b38cd426c05a6336b6 Author: Stefan SchmidtDate: 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
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=42426735e8406740c066210bee56956f79e1b68a commit 42426735e8406740c066210bee56956f79e1b68a Author: Stefan SchmidtDate: 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
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4a66bd14b74cc694e7aa421120a29ca2d5220c1d commit 4a66bd14b74cc694e7aa421120a29ca2d5220c1d Author: Stefan SchmidtDate: 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
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7a05269d66d7445148d48cfb16ef49396a024720 commit 7a05269d66d7445148d48cfb16ef49396a024720 Author: Stefan SchmidtDate: 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
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fd886965c09f5887e316e55ef7a06c46c8184d11 commit fd886965c09f5887e316e55ef7a06c46c8184d11 Author: Stefan SchmidtDate: 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
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b98a76dc378547bdc69367a5f26b602dec4bbc49 commit b98a76dc378547bdc69367a5f26b602dec4bbc49 Author: Stefan SchmidtDate: 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
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=049bf0247ce207a7a6974a4de200ddbfacc20c7e commit 049bf0247ce207a7a6974a4de200ddbfacc20c7e Author: Stefan SchmidtDate: 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
ami pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=23b1c2af56b32d0ebd421a255dbbc557ebc72771 commit 23b1c2af56b32d0ebd421a255dbbc557ebc72771 Author: Amitesh SinghDate: 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
use and/or help win-builds instead On Thu, Nov 3, 2016 at 9:34 AM, Hermet Parkwrote: > 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
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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7f25f19b4759ab49f1f47843916fea6511fec13d commit 7f25f19b4759ab49f1f47843916fea6511fec13d Author: Jean-Philippe AndreDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7f57e23670f324309ee203bfd0e9ca9218f9e214 commit 7f57e23670f324309ee203bfd0e9ca9218f9e214 Author: Jean-Philippe AndreDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=562528d28c376d5ff941f9db3ea5c4924c07e75f commit 562528d28c376d5ff941f9db3ea5c4924c07e75f Author: Jean-Philippe AndreDate: 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)
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9af981469d9316380d2a4700d8ad1f9c6a323340 commit 9af981469d9316380d2a4700d8ad1f9c6a323340 Author: Jean-Philippe AndreDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4d1c53d916fcce9087b6b7c602b92bfe2b8644c5 commit 4d1c53d916fcce9087b6b7c602b92bfe2b8644c5 Author: Jean-Philippe AndreDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d0196d74ce9eb6b763a9627360638bf5e197531b commit d0196d74ce9eb6b763a9627360638bf5e197531b Author: Jean-Philippe AndreDate: 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"
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=eb8d9387c142be9b166fa1657663897bf8fcc958 commit eb8d9387c142be9b166fa1657663897bf8fcc958 Author: Jean-Philippe AndreDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d0333561be1e74bf617f9a4059ba64bfea495a28 commit d0333561be1e74bf617f9a4059ba64bfea495a28 Author: Jean-Philippe AndreDate: 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)
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a8ff76eb0d8c11c381cc8e153f7fefe2390f9b9e commit a8ff76eb0d8c11c381cc8e153f7fefe2390f9b9e Author: Jean-Philippe AndreDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=dcb8e87478966bc0673a846a89a84d88d1e4c507 commit dcb8e87478966bc0673a846a89a84d88d1e4c507 Author: Jean-Philippe AndreDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b96b2aafcbda112f8e0f8a3a4007318226996120 commit b96b2aafcbda112f8e0f8a3a4007318226996120 Author: Jean-Philippe AndreDate: 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
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
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?
On Thu, 03 Nov 2016 09:35:21 +0200 Daniel Zaouisaid: > 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?
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?
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
ami pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b0d2e987f3a37291cd1e1090ba0812c3b4a0ed67 commit b0d2e987f3a37291cd1e1090ba0812c3b4a0ed67 Author: Amitesh SinghDate: 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.
ami pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0bcb0302fb647b43cef4e633cf0c0b16e5521e04 commit 0bcb0302fb647b43cef4e633cf0c0b16e5521e04 Author: Amitesh SinghDate: 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