[EGIT] [core/efl] master 01/01: evas generic loaders fix timeout on windows where no alarm exists
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e8c396a6e2aae0f9da189930d0c55cd3d2500d58 commit e8c396a6e2aae0f9da189930d0c55cd3d2500d58 Author: Carsten Haitzler (Rasterman)Date: Thu Jul 14 14:23:49 2016 +0900 evas generic loaders fix timeout on windows where no alarm exists this uses a thread - to do the same. based on code vtorri put in T3790 this should fix T3790 --- src/generic/evas/common/timeout.c | 27 +-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/generic/evas/common/timeout.c b/src/generic/evas/common/timeout.c index 6d52aa9..7737bad 100644 --- a/src/generic/evas/common/timeout.c +++ b/src/generic/evas/common/timeout.c @@ -1,5 +1,27 @@ -#include -#include +#ifdef _WIN32 +# include +# include +# include + +unsigned int +_timeout(void *arg) +{ + int s (int)arg; + Sleep(s * 1000); + _Exit(-1); + _endthreadex(0); + return 0; +} + +void +timeout_init(int seconds) +{ + unsigned int id; + _beginthreadex( NULL, 0, _timeout, (void *)seconds, 0, ); +} +#else +# include +# include static void _timeout(int val) @@ -14,3 +36,4 @@ timeout_init(int seconds) signal(SIGALRM, _timeout); alarm(seconds); } +#endif --
[EGIT] [tools/enventor] master 01/01: updated authors.
hermet pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=29c89341fa72b0d008f5f158bfe52032914ab38c commit 29c89341fa72b0d008f5f158bfe52032914ab38c Author: Hermet ParkDate: Thu Jul 14 14:01:50 2016 +0900 updated authors. --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index 881d916..eb4fcee 100644 --- a/AUTHORS +++ b/AUTHORS @@ -27,3 +27,4 @@ Yurii Tsivun Yongheon Shin Vyacheslav Reutskiy Bowon Ryu +Jean Guyomarc'h --
[EGIT] [tools/enventor] master 01/01: template: don't localize floats in the edje editor
hermet pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=e910826ade524e413106772b2e3df410045c8cda commit e910826ade524e413106772b2e3df410045c8cda Author: Jean Guyomarc'hDate: Thu Jul 14 13:58:06 2016 +0900 template: don't localize floats in the edje editor Summary: Enventor live edit would generate invalid code with the french locale. Indeed, french uses a comma (",") as the decimal point, instead of the dot. With localization enabled, printf() would automatically localized the floating point, introducing a comma in the edje code where a dot is expected... To avoid this, we now enclose the floats we don't want to be localized (use the implicit POSIX local: with a dot) in a function that looks the current locale and replace the decimal point with a dot. Test Plan: (1) Without the patch, call LC_ALL=C enventor and see live edit if correct. (2) Without the patch, call LC_ALL=fr_FR.UTF-8 envetor and see live edit generate invalid edje code. (3) Apply the patch, and repeat steps (1) and (2) and observe that both cases now success. Reviewers: Hermet Differential Revision: https://phab.enlightenment.org/D4146 --- src/lib/template.c | 45 - 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/src/lib/template.c b/src/lib/template.c index 93018e2..dcc28e8 100644 --- a/src/lib/template.c +++ b/src/lib/template.c @@ -178,6 +178,32 @@ select_random_name(Evas_Object *entry, const char* first_line, } } +static const char * +_posix_fp(double fp, const char *fmt) +{ + static Eina_Strbuf *strbuf = NULL; + static char storage[16]; + struct lconv *lconv; + + if (EINA_UNLIKELY(strbuf == NULL)) + { +strbuf = eina_strbuf_manage_new_length(storage, sizeof(storage)); +if (EINA_UNLIKELY(!strbuf)) + { + storage[0] = '\0'; + return storage; + } + } + + lconv = localeconv(); + + eina_strbuf_reset(strbuf); + eina_strbuf_append_printf(strbuf, fmt, fp); + eina_strbuf_replace_first(strbuf, lconv->decimal_point, "."); + + return eina_strbuf_string_get(strbuf); +} + /*/ /* Externally accessible calls */ /*/ @@ -289,7 +315,8 @@ template_part_insert(edit_data *ed, Edje_Part_Type part_type, //Apply align values elm_entry_entry_insert(edit_entry, p); - snprintf(buf, sizeof(buf), " align: %.1f %.1f;", align_x, align_y); + snprintf(buf, sizeof(buf), " align: %s %s;", +_posix_fp(align_x, "%.1f"), _posix_fp(align_y, "%1.f")); elm_entry_entry_insert(edit_entry, buf); line_cnt++; @@ -346,22 +373,22 @@ template_part_insert(edit_data *ed, Edje_Part_Type part_type, (int)(rel2_y * 1 + 0.5) % 100) { -snprintf(buf, sizeof(buf), " rel1.relative: %.4f %.4f;", - rel1_x, rel1_y); +snprintf(buf, sizeof(buf), " rel1.relative: %s %s;", + _posix_fp(rel1_x, "%.4f"), _posix_fp(rel1_y, "%.4f")); elm_entry_entry_insert(edit_entry, buf); elm_entry_entry_insert(edit_entry, p); -snprintf(buf, sizeof(buf), " rel2.relative: %.4f %.4f;", - rel2_x, rel2_y); +snprintf(buf, sizeof(buf), " rel2.relative: %s %s;", + _posix_fp(rel2_x, "%.4f"), _posix_fp(rel2_y, "%.4f")); } //Condition 2: relative values are 2 places of decimals else { -snprintf(buf, sizeof(buf), " rel1.relative: %.2f %.2f;", - rel1_x, rel1_y); +snprintf(buf, sizeof(buf), " rel1.relative: %s %s;", + _posix_fp(rel1_x, "%.2f"), _posix_fp(rel1_y, "%.2f")); elm_entry_entry_insert(edit_entry, buf); elm_entry_entry_insert(edit_entry, p); -snprintf(buf, sizeof(buf), " rel2.relative: %.2f %.2f;", - rel2_x, rel2_y); +snprintf(buf, sizeof(buf), " rel2.relative: %s %s;", + _posix_fp(rel2_x, "%.2f"), _posix_fp(rel2_y, "%.2f")); } elm_entry_entry_insert(edit_entry, buf); --
[EGIT] [core/efl] master 01/01: evas headers - remove duplicate declarations of the same function
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b1f2c335e65ef1e711879412ea0f7fbca93b7a15 commit b1f2c335e65ef1e711879412ea0f7fbca93b7a15 Author: Carsten Haitzler (Rasterman)Date: Thu Jul 14 13:28:10 2016 +0900 evas headers - remove duplicate declarations of the same function this should fix T3027 --- src/lib/evas/Evas_Legacy.h | 49 -- 1 file changed, 49 deletions(-) diff --git a/src/lib/evas/Evas_Legacy.h b/src/lib/evas/Evas_Legacy.h index 052406e..fca9038 100644 --- a/src/lib/evas/Evas_Legacy.h +++ b/src/lib/evas/Evas_Legacy.h @@ -5222,16 +5222,6 @@ EAPI void evas_object_smart_data_set(Evas_Object *obj, void *data); EAPI void *evas_object_smart_data_get(const Evas_Object *obj); /** - * @brief Get the clipper object for the given clipped smart object. - * - * Use this function if you want to change any of this clipper's properties, - * like colors. - * - * @ingroup Evas_Object - */ -EAPI Evas_Object *evas_object_smart_clipped_clipper_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT; - -/** * @brief Retrieves the list of the member objects of a given Evas smart * object. * @@ -5355,24 +5345,6 @@ EAPI void evas_object_smart_changed(Evas_Object *obj); */ EAPI void evas_object_smart_move_children_relative(Evas_Object *obj, Evas_Coord dx, Evas_Coord dy); -/** - * This gets the internal counter that counts the number of smart calculations - * - * @param e The canvas to get the calculate counter from - * - * Whenever evas performs smart object calculations on the whole canvas - * it increments a counter by 1. This is the smart object calculate counter - * that this function returns the value of. It starts at the value of 0 and - * will increase (and eventually wrap around to negative values and so on) by - * 1 every time objects are calculated. You can use this counter to ensure - * you don't re-do calculations withint the same calculation generation/run - * if the calculations maybe cause self-feeding effects. - * - * @ingroup Evas_Smart_Object_Group - * @since 1.1 - */ -EAPI int evas_smart_objects_calculate_count_get(const Evas *e); - #include "canvas/efl_canvas_group.eo.legacy.h" /** @@ -5384,20 +5356,6 @@ EAPI int evas_smart_objects_calculate_count_get(const Evas *e); * * @{ */ -/** - * Get the clipper object for the given clipped smart object. - * - * @param obj the clipped smart object to retrieve associated clipper - * from. - * @return the clipper object. - * - * Use this function if you want to change any of this clipper's - * properties, like colors. - * - * @see evas_object_smart_clipped_smart_add() - */ -EAPI Evas_Object*evas_object_smart_clipped_clipper_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); - #include "canvas/efl_canvas_group_clipped.eo.legacy.h" /** @@ -5552,13 +5510,6 @@ EAPI Eina_List *evas_object_box_children_get(const Evas_Object * */ EAPI Evas_Object *evas_object_table_add(Evas *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; -/** - * Get the child of the table at the given coordinates - * - * @note This does not take into account col/row spanning - */ -EAPI Evas_Object *evas_object_table_child_get(const Evas_Object *o, unsigned short col, unsigned short row) EINA_ARG_NONNULL(1); - #include "canvas/evas_table.eo.legacy.h" /** --
[EGIT] [core/efl] master 01/01: elementary tooltip: --printf
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c54cd413165724f3869aba475a11ba9f0ac0fb67 commit c54cd413165724f3869aba475a11ba9f0ac0fb67 Author: Hermet ParkDate: Thu Jul 14 12:10:09 2016 +0900 elementary tooltip: --printf --- src/lib/elementary/els_tooltip.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib/elementary/els_tooltip.c b/src/lib/elementary/els_tooltip.c index 4ca0450..82a90b5 100644 --- a/src/lib/elementary/els_tooltip.c +++ b/src/lib/elementary/els_tooltip.c @@ -769,8 +769,6 @@ elm_object_tooltip_orient_set(Evas_Object *obj, Elm_Tooltip_Orient orient) { ELM_TOOLTIP_GET_OR_RETURN(tt, obj); - printf("- SET O %i\n", orient); - if ((orient > ELM_TOOLTIP_ORIENT_NONE) && (orient < ELM_TOOLTIP_ORIENT_LAST)) tt->orient = orient; else --
Re: [E-devel] [EGIT] [tools/eflete] master 02/02: project_manager: temporary fix thread blocking when imported edc contain scripts
On Wed, 13 Jul 2016 11:02:58 -0700 Cedric BAILsaid: > On Wed, Jul 13, 2016 at 3:00 AM, Vitalii Vorobiov > wrote: > > rimmed pushed a commit to branch master. > > > > http://git.enlightenment.org/tools/eflete.git/commit/?id=e6f5055353da08540421c2a53b49ccfb0131e348 > > > > commit e6f5055353da08540421c2a53b49ccfb0131e348 > > Author: Vitalii Vorobiov > > Date: Wed Jul 13 12:33:49 2016 +0300 > > > > project_manager: temporary fix thread blocking when imported edc > > contain scripts > > Now, I do understand your problem. This code is just lucky it ever > worked ! ecore_exe is already asynchronous and no ecore API, except > some of the thread related one, should ever be called from a thread ! > Remove all use of Eina_Thread to run Ecore_Exe and you will be fine. ok - reading that pathc - you should likely revert it to eflete. i think the issue was creating a thread FROM a thread. and i've fixed that. this actually should work, but that patch tells me your threads are doing ecore_exe's and THAT is bad for sure. don't do that. :) -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: ecore - add more ecore main loop checks that were missing in some places
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=04c63131147e7ea834a848922637451a1e004fb8 commit 04c63131147e7ea834a848922637451a1e004fb8 Author: Carsten Haitzler (Rasterman)Date: Thu Jul 14 08:55:03 2016 +0900 ecore - add more ecore main loop checks that were missing in some places so 1 ecore_exe func was missing a main loop check... just to be sure. --- src/lib/ecore/ecore_exe.c | 1 + src/lib/ecore/ecore_timer.c | 5 + 2 files changed, 6 insertions(+) diff --git a/src/lib/ecore/ecore_exe.c b/src/lib/ecore/ecore_exe.c index 3063b79..28ffa9f 100644 --- a/src/lib/ecore/ecore_exe.c +++ b/src/lib/ecore/ecore_exe.c @@ -67,6 +67,7 @@ ecore_exe_pipe_run(const char *exe_cmd, Ecore_Exe_Flags flags, const void *data) { + EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL); Ecore_Exe *ret = eo_add(MY_CLASS, NULL, ecore_obj_exe_command_set(eo_self, exe_cmd, flags)); if (ret) { diff --git a/src/lib/ecore/ecore_timer.c b/src/lib/ecore/ecore_timer.c index 2d9e1bc..20f94f8 100644 --- a/src/lib/ecore/ecore_timer.c +++ b/src/lib/ecore/ecore_timer.c @@ -184,6 +184,7 @@ ecore_timer_add(doublein, Ecore_Timer_Legacy *legacy; Eo *timer; + EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL); legacy = calloc(1, sizeof (Ecore_Timer_Legacy)); if (!legacy) return NULL; @@ -205,6 +206,7 @@ ecore_timer_loop_add(doublein, Ecore_Timer_Legacy *legacy; Eo *timer; + EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL); legacy = calloc(1, sizeof (Ecore_Timer_Legacy)); if (!legacy) return NULL; @@ -342,6 +344,7 @@ _efl_loop_timer_pending_get(Eo *obj EINA_UNUSED, Efl_Loop_Timer_Data *timer) EAPI void ecore_timer_freeze(Ecore_Timer *timer) { + EINA_MAIN_LOOP_CHECK_RETURN; ECORE_TIMER_CHECK(timer); eo_event_freeze(timer); } @@ -373,6 +376,7 @@ ecore_timer_freeze_get(Ecore_Timer *timer) { int r = 0; + EINA_MAIN_LOOP_CHECK_RETURN_VAL(EINA_FALSE); r = eo_event_freeze_count_get(timer); return !!r; } @@ -388,6 +392,7 @@ _efl_loop_timer_eo_base_event_freeze_count_get(Eo *obj EINA_UNUSED, Efl_Loop_Tim EAPI void ecore_timer_thaw(Ecore_Timer *timer) { + EINA_MAIN_LOOP_CHECK_RETURN; ECORE_TIMER_CHECK(timer); eo_event_thaw(timer); } --
[EGIT] [core/efl] efl-1.17 02/02: eina thread create - use pthread_sigmask as this can be called from thread
raster pushed a commit to branch efl-1.17. http://git.enlightenment.org/core/efl.git/commit/?id=12c061e336d96b1bb03a54abc4e6d2f3e17034bf commit 12c061e336d96b1bb03a54abc4e6d2f3e17034bf Author: Carsten Haitzler (Rasterman)Date: Thu Jul 14 08:32:16 2016 +0900 eina thread create - use pthread_sigmask as this can be called from thread @fix --- src/lib/eina/eina_thread.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/eina/eina_thread.c b/src/lib/eina/eina_thread.c index eb1a13f..deabf01 100644 --- a/src/lib/eina/eina_thread.c +++ b/src/lib/eina/eina_thread.c @@ -94,11 +94,11 @@ _eina_thread_create(Eina_Thread *t, int affinity, void *(*func)(void *data), voi # ifdef SIGPWR sigaddset(, SIGPWR); # endif - sigprocmask(SIG_BLOCK, , ); + pthread_sigmask(SIG_BLOCK, , ); #endif err = pthread_create((pthread_t *)t, , func, data); #ifndef _WIN32 - sigprocmask(SIG_SETMASK, , NULL); + pthread_sigmask(SIG_SETMASK, , NULL); #endif pthread_attr_destroy(); --
[EGIT] [core/efl] efl-1.17 01/02: eina thread - fix window build with sigprocmask
raster pushed a commit to branch efl-1.17. http://git.enlightenment.org/core/efl.git/commit/?id=940f61536cd5990fd34e6b39e8b10fb55586a151 commit 940f61536cd5990fd34e6b39e8b10fb55586a151 Author: Carsten Haitzler (Rasterman)Date: Fri Jul 8 21:09:17 2016 +0900 eina thread - fix window build with sigprocmask fixes T4048 --- src/lib/eina/eina_thread.c | 16 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/lib/eina/eina_thread.c b/src/lib/eina/eina_thread.c index 429087e..eb1a13f 100644 --- a/src/lib/eina/eina_thread.c +++ b/src/lib/eina/eina_thread.c @@ -34,7 +34,9 @@ #include #include -#include +#ifndef _WIN32 +# include +#endif #ifdef EINA_HAVE_PTHREAD_AFFINITY #ifndef __linux__ @@ -58,8 +60,10 @@ _eina_thread_create(Eina_Thread *t, int affinity, void *(*func)(void *data), voi { int err; pthread_attr_t attr; +#ifndef _WIN32 sigset_t oldset, newset; - +#endif + pthread_attr_init(); if (affinity >= 0) { @@ -76,6 +80,7 @@ _eina_thread_create(Eina_Thread *t, int affinity, void *(*func)(void *data), voi } /* setup initial locks */ +#ifndef _WIN32 sigemptyset(); sigaddset(, SIGPIPE); sigaddset(, SIGALRM); @@ -86,12 +91,15 @@ _eina_thread_create(Eina_Thread *t, int affinity, void *(*func)(void *data), voi sigaddset(, SIGQUIT); sigaddset(, SIGINT); sigaddset(, SIGTERM); -#ifdef SIGPWR +# ifdef SIGPWR sigaddset(, SIGPWR); -#endif +# endif sigprocmask(SIG_BLOCK, , ); +#endif err = pthread_create((pthread_t *)t, , func, data); +#ifndef _WIN32 sigprocmask(SIG_SETMASK, , NULL); +#endif pthread_attr_destroy(); if (err == 0) return EINA_TRUE; --
[EGIT] [core/efl] master 01/01: eina thread create - use pthread_sigmask as this can be called from thread
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4bbe5ee058b2789adec2f6b02a5eaa02ed352b1a commit 4bbe5ee058b2789adec2f6b02a5eaa02ed352b1a Author: Carsten Haitzler (Rasterman)Date: Thu Jul 14 08:32:16 2016 +0900 eina thread create - use pthread_sigmask as this can be called from thread @fix --- src/lib/eina/eina_thread.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/eina/eina_thread.c b/src/lib/eina/eina_thread.c index 0244ccb..52cbc39 100644 --- a/src/lib/eina/eina_thread.c +++ b/src/lib/eina/eina_thread.c @@ -94,11 +94,11 @@ _eina_thread_create(Eina_Thread *t, int affinity, void *(*func)(void *data), voi # ifdef SIGPWR sigaddset(, SIGPWR); # endif - sigprocmask(SIG_BLOCK, , ); + pthread_sigmask(SIG_BLOCK, , ); #endif err = pthread_create((pthread_t *)t, , func, data); #ifndef _WIN32 - sigprocmask(SIG_SETMASK, , NULL); + pthread_sigmask(SIG_SETMASK, , NULL); #endif pthread_attr_destroy(); --
Re: [E-devel] [EGIT] [tools/eflete] master 02/02: project_manager: temporary fix thread blocking when imported edc contain scripts
On Wed, 13 Jul 2016 11:02:58 -0700 Cedric BAILsaid: > On Wed, Jul 13, 2016 at 3:00 AM, Vitalii Vorobiov > wrote: > > rimmed pushed a commit to branch master. > > > > http://git.enlightenment.org/tools/eflete.git/commit/?id=e6f5055353da08540421c2a53b49ccfb0131e348 > > > > commit e6f5055353da08540421c2a53b49ccfb0131e348 > > Author: Vitalii Vorobiov > > Date: Wed Jul 13 12:33:49 2016 +0300 > > > > project_manager: temporary fix thread blocking when imported edc > > contain scripts > > Now, I do understand your problem. This code is just lucky it ever > worked ! ecore_exe is already asynchronous and no ecore API, except > some of the thread related one, should ever be called from a thread ! > Remove all use of Eina_Thread to run Ecore_Exe and you will be fine. actually now i think about it... eina_thread_crate isnt limited to using from mainloop. right? pthread_create is not. i am not sure this should be limited like that. ecore_thread for sure. not eina_thread tho... > Cedric > > -- > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity planning > reports.http://sdm.link/zohodev2dev > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object
On Wed, 13 Jul 2016 06:38:02 +0900 Kim Shinwoosaid: > oops... wayland application.. yes this commit could have compatability > issue. Why does it happen only for wl-app.. :/ do I have revert this commit? don't worry. the reason it happened for wayland apps is because of a break in the parent/child relationship and devilhorns now fixed that. this does change behaviour but in a "well the previous behaviour was illogical and inconsistent and thus a bug because people had to scratch their heads and wonder why it didn't work like mouse_events: did" > 2016. 7. 12. 오후 8:41에 님이 작성: > > Hello, > > this commit breaks wl-apps. They dont receive any mouseinput anymore. > > To reproduce, just start terminology in weston. > > Greetings >bu5hm4n > > On Mon, Jul 11, 2016 at 06:53:49PM -0700, Shinwoo Kim wrote: > > raster pushed a commit to branch master. > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=c52eda0bf155b11ca137450cb388cd239d434554 > > > > commit c52eda0bf155b11ca137450cb388cd239d434554 > > Author: Shinwoo Kim > > Date: Tue Jul 12 10:53:27 2016 +0900 > > > > edje: the repeat_events property of swallowed object probably should > follow the repeat_events property of swallow part object > > > > Summary: Need discussion about the repeat_events property > > > > Test Plan: Swallow an object which has EINA_TRUE repeat_events to a > swallow part which has EINA_FALSE repeat_events > > > > Reviewers: Hermet, cedric, raster, jpeg > > > > Reviewed By: raster, jpeg > > > > Subscribers: jaehwan, seoz, woohyun > > > > Differential Revision: https://phab.enlightenment.org/D3580 > > --- > > src/lib/edje/edje_util.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c > > index 4f82e32..48ee448 100644 > > --- a/src/lib/edje/edje_util.c > > +++ b/src/lib/edje/edje_util.c > > @@ -6625,8 +6625,7 @@ _edje_real_part_swallow(Edje *ed, > > if (rp->part->mouse_events) > > { > > _edje_callbacks_add(obj_swallow, ed, rp); > > -if (rp->part->repeat_events) > > - evas_object_repeat_events_set(obj_swallow, 1); > > +evas_object_repeat_events_set(obj_swallow, > rp->part->repeat_events); > > if (rp->part->pointer_mode != EVAS_OBJECT_POINTER_MODE_AUTOGRAB) > >evas_object_pointer_mode_set(obj_swallow, > rp->part->pointer_mode); > > evas_object_pass_events_set(obj_swallow, 0); > > > > -- > > > > > > -- > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity > planning > reports.http://sdm.link/zohodev2dev > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity planning > reports.http://sdm.link/zohodev2dev > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 05/10: eet - fix possible integer overflow in ptr diff on parse
On Wed, 13 Jul 2016 14:08:22 -0700 Cedric BAILsaid: > On Mon, Jul 11, 2016 at 6:25 AM, Carsten Haitzler > wrote: > > raster pushed a commit to branch master. > > > > http://git.enlightenment.org/core/efl.git/commit/?id=679af3271fbc577602fded804dee6fe59748178f > > > > commit 679af3271fbc577602fded804dee6fe59748178f > > Author: Carsten Haitzler (Rasterman) > > Date: Mon Jul 11 21:54:57 2016 +0900 > > > > eet - fix possible integer overflow in ptr diff on parse > > > > coverity spotted this - with silly long strings (like 1gb in size or+) > > it might happen. fix CID 1256196 > > This patch seems clearly like a false report fix. end is obviously > inside buf, which is itself a fixed length array of 4096. This test > seems quite unecessary and I would prefer that we mark the problem as > a false positive in coverity. yes - we can tell coverity to ignore but i am seeing a fair few issues not go away or come back in coverity that were triaged/fix submitted long ago. it's kind of nice to make sure it doesn't come back as noise. > > --- > > src/lib/eet/eet_lib.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/src/lib/eet/eet_lib.c b/src/lib/eet/eet_lib.c > > index 4d0dfba..d2c95c2 100644 > > --- a/src/lib/eet/eet_lib.c > > +++ b/src/lib/eet/eet_lib.c > > @@ -1757,7 +1757,9 @@ _base64_dec(const char *file, int *size_ret) > >} > > end = p; > > // go from line start to (but not including) first invalid char > > -if (((end - buf) > 0) && (((end - buf) % 4) == 0)) > > +if (((end - buf) > 0) && > > +((end - buf) < 0x1fff) && // not too long > > +(((end - buf) % 4) == 0)) > >{ > > unsigned char *tmp = malloc((end - buf + 4) * 2); > > > > > > -- > > > > > > > > > > -- > Cedric BAIL > > -- > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity planning > reports.http://sdm.link/zohodev2dev > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [tools/eflete] master 02/02: project_manager: temporary fix thread blocking when imported edc contain scripts
On Wed, 13 Jul 2016 11:02:58 -0700 Cedric BAILsaid: > On Wed, Jul 13, 2016 at 3:00 AM, Vitalii Vorobiov > wrote: > > rimmed pushed a commit to branch master. > > > > http://git.enlightenment.org/tools/eflete.git/commit/?id=e6f5055353da08540421c2a53b49ccfb0131e348 > > > > commit e6f5055353da08540421c2a53b49ccfb0131e348 > > Author: Vitalii Vorobiov > > Date: Wed Jul 13 12:33:49 2016 +0300 > > > > project_manager: temporary fix thread blocking when imported edc > > contain scripts > > Now, I do understand your problem. This code is just lucky it ever > worked ! ecore_exe is already asynchronous and no ecore API, except > some of the thread related one, should ever be called from a thread ! > Remove all use of Eina_Thread to run Ecore_Exe and you will be fine. oh wait.. ecore_exe_run etc. was being called FROM a thread in eflete - thus causing the sigmask issues? yes! sigprocmask is SURELY broken/undefined when called FROM a thread. my experience is that it works from the main process thread because it HAS to keep working - e.g. some "old non-threaded app" uses it, and then uses some library - even libc, pam modules etc, and this library internally creates threads... the app has no clue, and its code SHOULD keep working. thus sigprocmask has continued to work to not break anything and we've been using it forever and it works for this purpose. that's why i continued to sue it - it works on the bsd's too and solves those issues so i'm loathe to go change it without a very good widely tested reason (sigprocmask in ecore_signal.c is by now widely tested). but the above TOTALLY explains the issues reported and why the patch made no sense... because ecore_exe was being called FROM a thread... and thus the thread was doing the fork()... and this is bad (tm). :) -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object
On Wed, 13 Jul 2016 19:08:10 +0200 marcel-hollerb...@t-online.de said: > On Wed, Jul 13, 2016 at 08:49:11PM +0900, Carsten Haitzler wrote: > > On Wed, 13 Jul 2016 08:20:15 +0200 marcel-hollerb...@t-online.de said: > > > > > On Wed, Jul 13, 2016 at 08:51:04AM +0900, Carsten Haitzler wrote: > > > > On Tue, 12 Jul 2016 13:40:33 +0200 marcel-hollerb...@t-online.de said: > > > > > > > > > Hello, > > > > > > > > > > this commit breaks wl-apps. They dont receive any mouseinput anymore. > > > > > > > > > > To reproduce, just start terminology in weston. > > > > > > > > actually wl was broken some time ago it seems. the child content was no > > > > longer swallowed into the border frame as it should have been and thus > > > > something that should have been harmless was not. devilhorns fixed this > > > > last night for wl clients. > > > > > > No it worked until this commit. The edje object is just resized > > > efl_ui_win.c:877, it just worked different it was not broken. > > > > it was broken. stacking was broken. in x11 if i placed objects UNDER the > > swallow part then that'd be behind the window content. in wl then EVERYTHING > > would be above window content due to it not being swallowed. swallowing > > fixes this. devilhorns even said that it USEd to be swallowed and somehow > > is no longer swallowed. > > Well the biggest things are fixed now. > > But, i dont really understand what you mean, all objects are created with the > window object as parent, which means that all objects have the same layer. > And honestly, setting the frame layer to one above the window itself, > (as it was before) does make much sense to me, since you can make sure that > all content is below the border, so at least the controls of the window are > still visible, even if things are going wrong. if its swallowed this ensures it too because the content is a single object within the parent edje swallow and evas enforces this parent/child stacking relationship. if its outside of tree in a layer above then the border can't UNDERLAY content behind the window -e.g. if window is transparent you can see through to it. this is how it works in x11 and USEd to be in wayland but not since the swallow was pulled out and the border layer stacked above etc. this fixes it to be back where it was. > > > > > And still, the commit is not really harmless it breaks behaviour, as you > > > have seen... > > > > this is a behaviour bug. that's my take on it. bug reports are "this does > > not do what i expect. it does not do what the mouse_events does - ie be > > explicit on swallows. it's different". it's a rare enough corner of things > > where it shouldn't in general create an issue. it ONLY created an issue > > with wayland because wayland had broken/changed how it swallows/handles > > window content objects and stopped swallowing into the border object. > > Back to the topic of the behaviour change, even if the change is > good or bad, there is not even a @fix mark so i guess it will not be > part of the changelog or anything. So from the POV from a api user, its > a bad change, he doesnt even get told that there was a behaviour change. > > And once again, this commit wasnt exposing a problem in the wl code. It > created a problem, the bahviour was there before. It worked. Now it > doesnt. And its completly the same for every single user which used this > bahaviour. > > > > > > > > Greetings > > > > >bu5hm4n > > > > > > > > > > On Mon, Jul 11, 2016 at 06:53:49PM -0700, Shinwoo Kim wrote: > > > > > > raster pushed a commit to branch master. > > > > > > > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=c52eda0bf155b11ca137450cb388cd239d434554 > > > > > > > > > > > > commit c52eda0bf155b11ca137450cb388cd239d434554 > > > > > > Author: Shinwoo Kim> > > > > > Date: Tue Jul 12 10:53:27 2016 +0900 > > > > > > > > > > > > edje: the repeat_events property of swallowed object probably > > > > > > should follow the repeat_events property of swallow part object > > > > > > Summary: Need discussion about the repeat_events property > > > > > > > > > > > > Test Plan: Swallow an object which has EINA_TRUE repeat_events > > > > > > to a swallow part which has EINA_FALSE repeat_events > > > > > > Reviewers: Hermet, cedric, raster, jpeg > > > > > > > > > > > > Reviewed By: raster, jpeg > > > > > > > > > > > > Subscribers: jaehwan, seoz, woohyun > > > > > > > > > > > > Differential Revision: https://phab.enlightenment.org/D3580 > > > > > > --- > > > > > > src/lib/edje/edje_util.c | 3 +-- > > > > > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > > > > > > > > > diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c > > > > > > index 4f82e32..48ee448 100644 > > > > > > --- a/src/lib/edje/edje_util.c > > > > > > +++ b/src/lib/edje/edje_util.c > > > > > > @@ -6625,8 +6625,7 @@ _edje_real_part_swallow(Edje *ed, > > > > > > if
[EGIT] [core/efl] master 03/04: elm_colorselector: selected item is updated when color is changed.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cebbf43881f599e3a1492dfce43730a55c960626 commit cebbf43881f599e3a1492dfce43730a55c960626 Author: Sungtaek HongDate: Wed Jul 13 16:06:58 2016 -0700 elm_colorselector: selected item is updated when color is changed. Summary: - Previously, mode change, color change updated sd->selected, but did not send signals to edje of the item. - Also, mode change in colorselector set sd->selected to the first item even when palette is visible in previous mode. - Now, when mode is changed, sd->selected is set NULL and send unselected signal if palette is invisible, and keep sd->selected if palette is visible. - sd->selected is set NULL when color is changed in picker and color bars because previous selected item is not current color of colorselector Test Plan: 1. 1) launch elementary_test colorselector. 2)Select any item and check the item is selected when palette is visible. 3) Change mode to Palette, Both, All, and check selected item is not changed. (Previously, selected item is changed to the first item of the palette, but previous item was seen as selected.) 2. 1) launch elementary_test colorselector. 2) Select any item and check the item is selected when palette is visible. 3) Change mode to Components, Picker. 4) Change mode to Palette, and check none of items is selected. (Previously, selected item is changed to the first item of the palette, but previous item was seen as selected.) 3. 1) launch elementary_test colorselector. 2) Select any item and check the item is selected when palette is visible. 3) Change mode to All. 4) Click arrows in Picker and color bars. 5) Observe selected item is not unselected when color is not changed, and selected item is unselected when color is changed. 4. 1) launch elementary_test colorselector. 2) Select any item and check the item is selected when palette is visible. 3) Press direction key and check selected item is changed. (Previously, selected item's edje is not updated.) Reviewers: woohyun, Hermet, jpeg, cedric Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4156 Signed-off-by: Cedric BAIL --- src/lib/elementary/elm_colorselector.c | 68 +++--- 1 file changed, 47 insertions(+), 21 deletions(-) diff --git a/src/lib/elementary/elm_colorselector.c b/src/lib/elementary/elm_colorselector.c index ea64859..df972a7 100644 --- a/src/lib/elementary/elm_colorselector.c +++ b/src/lib/elementary/elm_colorselector.c @@ -584,13 +584,14 @@ _colors_set(Evas_Object *obj, int r, int g, int b, -int a) +int a, +Eina_Bool mode_change) { double x, y; ELM_COLORSELECTOR_DATA_GET(obj, sd); - if ((sd->r == r) && (sd->g == g) && (sd->b == b) && (sd->a == a)) + if ((sd->r == r) && (sd->g == g) && (sd->b == b) && (sd->a == a) && !mode_change) return; sd->r = r; @@ -631,7 +632,20 @@ _colors_set(Evas_Object *obj, } if ((sd->mode == ELM_COLORSELECTOR_ALL) || (sd->mode == ELM_COLORSELECTOR_PICKER)) _color_picker_init(sd); - eo_event_callback_call(obj, ELM_COLORSELECTOR_EVENT_CHANGED, NULL); + if (!mode_change) + eo_event_callback_call(obj, ELM_COLORSELECTOR_EVENT_CHANGED, NULL); +} + +static void +_unselect_selected_item(Elm_Colorselector_Data *sd) +{ + Eo *eo_temp_item; + + if (sd->selected) + { +eo_temp_item = eina_list_data_get(sd->selected); +elm_obj_color_item_selected_set(eo_temp_item, EINA_FALSE); + } } static void @@ -641,6 +655,7 @@ _spinner_changed_cb(void *data, const Eo_Event *event) Evas_Object *parent; int i, v; + _unselect_selected_item(sd); for (i = 0; i < 4 && sd->spinners[i] != event->object; i++); parent = evas_object_data_get(event->object, "parent"); @@ -650,16 +665,16 @@ _spinner_changed_cb(void *data, const Eo_Event *event) switch (i) { case 0: - _colors_set(parent, v, sd->g, sd->b, sd->a); + _colors_set(parent, v, sd->g, sd->b, sd->a, EINA_FALSE); break; case 1: - _colors_set(parent, sd->r, v, sd->b, sd->a); + _colors_set(parent, sd->r, v, sd->b, sd->a, EINA_FALSE); break; case 2: - _colors_set(parent, sd->r, sd->g, v, sd->a); + _colors_set(parent, sd->r, sd->g, v, sd->a, EINA_FALSE); break; case 3: - _colors_set(parent, sd->r, sd->g, sd->b, v); + _colors_set(parent, sd->r, sd->g, sd->b, v, EINA_FALSE); break; } evas_object_data_del(event->object,
[EGIT] [core/efl] master 01/04: eo: rationalize naming to follow other use of ref and wref in our API.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d85c07e4a70e06de04820aebe5277cd491263e64 commit d85c07e4a70e06de04820aebe5277cd491263e64 Author: Cedric BAILDate: Wed Jul 13 16:05:58 2016 -0700 eo: rationalize naming to follow other use of ref and wref in our API. --- src/lib/eo/eo_base.eo | 4 ++-- src/lib/eo/eo_base_class.c | 8 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/eo/eo_base.eo b/src/lib/eo/eo_base.eo index 01ae857..d838777 100644 --- a/src/lib/eo/eo_base.eo +++ b/src/lib/eo/eo_base.eo @@ -228,7 +228,7 @@ abstract Eo.Base () } } } - @property key_obj { + @property key_ref { [[Generic object reference with string key to object. The object will be automatically ref'd when set and unref'd @@ -253,7 +253,7 @@ abstract Eo.Base () } } } - @property key_obj_weak { + @property key_wref { [[Generic weak object reference with string key to object. The object key will be removed if the object is removed, but diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c index 92e10af6..e7742b8 100644 --- a/src/lib/eo/eo_base_class.c +++ b/src/lib/eo/eo_base_class.c @@ -255,7 +255,7 @@ _eo_base_key_data_get(Eo *obj, Eo_Base_Data *pd, const char *key) } EOLIAN static void -_eo_base_key_obj_set(Eo *obj EINA_UNUSED, Eo_Base_Data *pd, const char *key, const Eo *objdata) +_eo_base_key_ref_set(Eo *obj EINA_UNUSED, Eo_Base_Data *pd, const char *key, const Eo *objdata) { Eo_Generic_Data_Node *node; @@ -268,13 +268,13 @@ _eo_base_key_obj_set(Eo *obj EINA_UNUSED, Eo_Base_Data *pd, const char *key, con } EOLIAN static Eo * -_eo_base_key_obj_get(Eo *obj, Eo_Base_Data *pd, const char *key) +_eo_base_key_ref_get(Eo *obj, Eo_Base_Data *pd, const char *key) { return _key_generic_get(obj, pd, key, DATA_OBJ); } EOLIAN static void -_eo_base_key_obj_weak_set(Eo *obj, Eo_Base_Data *pd, const char * key, const Eo_Base *objdata) +_eo_base_key_wref_set(Eo *obj, Eo_Base_Data *pd, const char * key, const Eo_Base *objdata) { Eo_Generic_Data_Node *node; @@ -286,7 +286,7 @@ _eo_base_key_obj_weak_set(Eo *obj, Eo_Base_Data *pd, const char * key, const Eo_ } EOLIAN static Eo * -_eo_base_key_obj_weak_get(Eo *obj, Eo_Base_Data *pd, const char * key) +_eo_base_key_wref_get(Eo *obj, Eo_Base_Data *pd, const char * key) { return _key_generic_get(obj, pd, key, DATA_OBJ_WEAK); } --
[EGIT] [core/efl] master 04/04: eo: fix tests after renaming.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7bb8afe4f9bcfe3a86fdf3b1cdfea083c1b68164 commit 7bb8afe4f9bcfe3a86fdf3b1cdfea083c1b68164 Author: Cedric BAILDate: Wed Jul 13 16:17:16 2016 -0700 eo: fix tests after renaming. --- src/tests/eo/suite/eo_test_general.c | 72 ++-- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/src/tests/eo/suite/eo_test_general.c b/src/tests/eo/suite/eo_test_general.c index ea94823..0848066 100644 --- a/src/tests/eo/suite/eo_test_general.c +++ b/src/tests/eo/suite/eo_test_general.c @@ -732,54 +732,54 @@ START_TEST(eo_generic_data) - eo_key_obj_set(obj, "test1", obj2); - objtmp = eo_key_obj_get(obj, "test1"); + eo_key_ref_set(obj, "test1", obj2); + objtmp = eo_key_ref_get(obj, "test1"); fail_if(obj2 != objtmp); - eo_key_obj_set(obj, "test1", NULL); - objtmp = eo_key_obj_get(obj, "test1"); + eo_key_ref_set(obj, "test1", NULL); + objtmp = eo_key_ref_get(obj, "test1"); fail_if(objtmp); - eo_key_obj_set(obj, "test1", obj2); + eo_key_ref_set(obj, "test1", obj2); fail_if(eo_ref_get(obj2) != 2); - eo_key_obj_set(obj, "test2", obj3); + eo_key_ref_set(obj, "test2", obj3); fail_if(eo_ref_get(obj3) != 2); - objtmp = eo_key_obj_get(obj, "test1"); + objtmp = eo_key_ref_get(obj, "test1"); fail_if(obj2 != objtmp); - objtmp = eo_key_obj_get(obj, "test2"); + objtmp = eo_key_ref_get(obj, "test2"); fail_if(obj3 != objtmp); - data = eo_key_obj_get(obj, "test2"); + data = eo_key_ref_get(obj, "test2"); fail_if(obj3 != objtmp); - eo_key_obj_set(obj, "test2", NULL); + eo_key_ref_set(obj, "test2", NULL); fail_if(eo_ref_get(obj3) != 1); - objtmp = eo_key_obj_get(obj, "test2"); + objtmp = eo_key_ref_get(obj, "test2"); fail_if(objtmp); - objtmp = eo_key_obj_get(obj, "test1"); + objtmp = eo_key_ref_get(obj, "test1"); fail_if(obj2 != objtmp); - eo_key_obj_set(obj, "test1", NULL); + eo_key_ref_set(obj, "test1", NULL); fail_if(eo_ref_get(obj2) != 1); - objtmp = eo_key_obj_get(obj, "test1"); + objtmp = eo_key_ref_get(obj, "test1"); fail_if(objtmp); - eo_key_obj_set(obj, "test1", obj2); - eo_key_obj_set(obj, "test2", obj3); + eo_key_ref_set(obj, "test1", obj2); + eo_key_ref_set(obj, "test2", obj3); eo_del(obj2); eo_del(obj2); eo_del(obj3); eo_del(obj3); - objtmp = eo_key_obj_get(obj, "test1"); + objtmp = eo_key_ref_get(obj, "test1"); fail_if(objtmp); - objtmp = eo_key_obj_get(obj, "test2"); + objtmp = eo_key_ref_get(obj, "test2"); fail_if(objtmp); @@ -787,52 +787,52 @@ START_TEST(eo_generic_data) obj2 = eo_add(SIMPLE_CLASS, NULL); obj3 = eo_add(SIMPLE_CLASS, NULL); - eo_key_obj_weak_set(obj, "test1", obj2); - objtmp = eo_key_obj_weak_get(obj, "test1"); + eo_key_wref_set(obj, "test1", obj2); + objtmp = eo_key_wref_get(obj, "test1"); fail_if(obj2 != objtmp); - eo_key_obj_weak_set(obj, "test1", NULL); - objtmp = eo_key_obj_weak_get(obj, "test1"); + eo_key_wref_set(obj, "test1", NULL); + objtmp = eo_key_wref_get(obj, "test1"); fail_if(objtmp); - eo_key_obj_weak_set(obj, "test1", obj2); + eo_key_wref_set(obj, "test1", obj2); fail_if(eo_ref_get(obj2) != 1); - eo_key_obj_weak_set(obj, "test2", obj3); + eo_key_wref_set(obj, "test2", obj3); fail_if(eo_ref_get(obj3) != 1); - objtmp = eo_key_obj_weak_get(obj, "test1"); + objtmp = eo_key_wref_get(obj, "test1"); fail_if(obj2 != objtmp); - objtmp = eo_key_obj_weak_get(obj, "test2"); + objtmp = eo_key_wref_get(obj, "test2"); fail_if(obj3 != objtmp); - data = eo_key_obj_weak_get(obj, "test2"); + data = eo_key_wref_get(obj, "test2"); fail_if(obj3 != objtmp); - eo_key_obj_weak_set(obj, "test2", NULL); + eo_key_wref_set(obj, "test2", NULL); fail_if(eo_ref_get(obj3) != 1); - objtmp = eo_key_obj_weak_get(obj, "test2"); + objtmp = eo_key_wref_get(obj, "test2"); fail_if(objtmp); - objtmp = eo_key_obj_weak_get(obj, "test1"); + objtmp = eo_key_wref_get(obj, "test1"); fail_if(obj2 != objtmp); - eo_key_obj_weak_set(obj, "test1", NULL); + eo_key_wref_set(obj, "test1", NULL); fail_if(eo_ref_get(obj2) != 1); - objtmp = eo_key_obj_weak_get(obj, "test1"); + objtmp = eo_key_wref_get(obj, "test1"); fail_if(objtmp); - eo_key_obj_weak_set(obj, "test1", obj2); - eo_key_obj_weak_set(obj, "test2", obj3); + eo_key_wref_set(obj, "test1", obj2); + eo_key_wref_set(obj, "test2", obj3); eo_del(obj2); eo_del(obj3); - objtmp = eo_key_obj_weak_get(obj, "test1"); + objtmp = eo_key_wref_get(obj, "test1"); fail_if(objtmp); - objtmp = eo_key_obj_weak_get(obj, "test2"); + objtmp = eo_key_wref_get(obj, "test2"); fail_if(objtmp); --
[EGIT] [core/efl] master 02/04: elementary: switch code accordingly to use new ref version.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=03915fc07b4771725714388bf15969823b98f825 commit 03915fc07b4771725714388bf15969823b98f825 Author: Cedric BAILDate: Wed Jul 13 16:06:30 2016 -0700 elementary: switch code accordingly to use new ref version. --- src/lib/elementary/elc_fileselector.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c index 21daa8b..095ad3a 100644 --- a/src/lib/elementary/elc_fileselector.c +++ b/src/lib/elementary/elc_fileselector.c @@ -1340,7 +1340,7 @@ _text_activated_free_fs_data(Elm_Fileselector *fs) Eina_Stringshare *str = eo_key_data_get(fs, _text_activated_path_key); eina_stringshare_del(str); eo_key_data_set(fs, _text_activated_path_key, NULL); - eo_key_obj_set(fs, _text_activated_model_key, NULL); + eo_key_ref_set(fs, _text_activated_model_key, NULL); eo_unref(fs); } @@ -1351,7 +1351,7 @@ _text_activated_is_dir_then(void *data, void *value) Eina_Bool is_dir = EINA_FALSE; ELM_FILESELECTOR_DATA_GET(fs, sd); - Efl_Model *model = eo_key_obj_get(fs, _text_activated_model_key); + Efl_Model *model = eo_key_ref_get(fs, _text_activated_model_key); Eina_Stringshare *str = eo_key_data_get(fs, _text_activated_path_key); eina_value_get(value, _dir); @@ -1458,7 +1458,7 @@ _on_text_activated(void *data, const Eo_Event *event) _model_str_property_set(model, "path", path, ); eo_key_data_set(fs, _text_activated_path_key, eina_stringshare_add(path)); - eo_key_obj_set(fs, _text_activated_model_key, model); + eo_key_ref_set(fs, _text_activated_model_key, model); eo_ref(fs); eina_promise_then(promise, _on_text_activated_set_path_then, @@ -2429,7 +2429,7 @@ clean_up: static void _selected_model_set_free_fs_data(Elm_Fileselector *fs) { - eo_key_obj_set(fs, _selected_model_set_model_key, NULL); + eo_key_ref_set(fs, _selected_model_set_model_key, NULL); eo_key_data_set(fs, _selected_model_set_promise_owner_key, NULL); eo_unref(fs); } @@ -2448,7 +2448,7 @@ _selected_model_set_is_dir_then(void *data, void *value) { Elm_Fileselector *fs = data; Eina_Bool is_dir = EINA_FALSE; - Efl_Model *model = eo_key_obj_get(fs, _selected_model_set_model_key); + Efl_Model *model = eo_key_ref_get(fs, _selected_model_set_model_key); Eina_Promise_Owner *promise_owner = eo_key_data_get(fs, _selected_model_set_promise_owner_key); ELM_FILESELECTOR_DATA_GET(fs, sd); @@ -2496,7 +2496,7 @@ _elm_fileselector_elm_interface_fileselector_selected_model_set(Eo *obj, Elm_Fil } promise = efl_model_property_get(model, "is_dir"); - eo_key_obj_set(obj, _selected_model_set_model_key, model); + eo_key_ref_set(obj, _selected_model_set_model_key, model); if (promise_owner) eo_key_data_set(obj, _selected_model_set_promise_owner_key, promise_owner); --
[EGIT] [core/efl] master 01/02: ecore: early destruction of animator allow for tick end to always be triggered.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fd5d31696d834a6c0fad3fe89cfb523899c04531 commit fd5d31696d834a6c0fad3fe89cfb523899c04531 Author: Cedric BAILDate: Wed Jul 13 15:09:03 2016 -0700 ecore: early destruction of animator allow for tick end to always be triggered. T4043 --- src/lib/ecore/ecore_anim.c| 68 +-- src/lib/ecore/ecore_main.c| 5 +++- src/lib/ecore/ecore_private.h | 2 ++ 3 files changed, 46 insertions(+), 29 deletions(-) diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c index fc8eb88..dedea47 100644 --- a/src/lib/ecore/ecore_anim.c +++ b/src/lib/ecore/ecore_anim.c @@ -277,8 +277,8 @@ _do_tick(void) if (animators) eina_evlog("!FRAME", NULL, ecore_loop_time_get(), NULL); EINA_INLIST_FOREACH(animators, animator) { -if ((!animator->delete_me) && -(!animator->suspended) && +if ((!animator->delete_me) && +(!animator->suspended) && (!animator->just_added)) { animator_ran = EINA_TRUE; @@ -292,32 +292,8 @@ _do_tick(void) } else animator->just_added = EINA_FALSE; } - if (animators_delete_me) - { -Ecore_Animator *l; -for (l = animators; l; ) - { - animator = l; - l = (Ecore_Animator *)EINA_INLIST_GET(l)->next; - if (animator->delete_me) - { - if (animator->suspended) animators_suspended--; - animators = (Ecore_Animator *) -eina_inlist_remove(EINA_INLIST_GET(animators), - EINA_INLIST_GET(animator)); - - free(animator); - - animators_delete_me--; - if (animators_delete_me == 0) break; - } - } - } - if (!_have_animators()) - { -_end_tick(); -return ECORE_CALLBACK_CANCEL; - } + if (!_ecore_animator_flush()) + return ECORE_CALLBACK_CANCEL; return ECORE_CALLBACK_RENEW; } @@ -635,6 +611,7 @@ ecore_animator_del(Ecore_Animator *animator) data = animator->data; goto end; } + animator->delete_me = EINA_TRUE; animators_delete_me++; if (animator->run_func) @@ -643,6 +620,7 @@ ecore_animator_del(Ecore_Animator *animator) data = animator->data; end: + if (!in_main_loop) _ecore_animator_flush(); return data; } @@ -786,3 +764,37 @@ _ecore_animator_run(void *data) if (t >= (animator->start + animator->run)) run_ret = EINA_FALSE; return run_ret; } + +Eina_Bool +_ecore_animator_flush(void) +{ + Ecore_Animator *animator; + + if (animators_delete_me) + { +Ecore_Animator *l; +for (l = animators; l; ) + { + animator = l; + l = (Ecore_Animator *)EINA_INLIST_GET(l)->next; + if (animator->delete_me) + { + if (animator->suspended) animators_suspended--; + animators = (Ecore_Animator *) +eina_inlist_remove(EINA_INLIST_GET(animators), + EINA_INLIST_GET(animator)); + + free(animator); + + animators_delete_me--; + if (animators_delete_me == 0) break; + } + } + } + if (!_have_animators()) + { +_end_tick(); +return EINA_FALSE; + } + return EINA_TRUE; +} diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index 354edc9..d16c97a 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -273,8 +273,9 @@ static int _ecore_main_win32_select(int nfds, static void _ecore_main_win32_handlers_cleanup(void); #endif +int in_main_loop = 0; + static unsigned char _ecore_exit_code = 0; -static int in_main_loop = 0; static int do_quit = 0; static Ecore_Fd_Handler *fd_handlers = NULL; static Ecore_Fd_Handler *fd_handler_current = NULL; @@ -2351,6 +2352,8 @@ process_all: /*-*/ } done: /*-*/ + /* Agressively flush animator */ + _ecore_animator_flush(); in_main_loop--; } diff --git a/src/lib/ecore/ecore_private.h b/src/lib/ecore/ecore_private.h index 40fa080..d6cb900 100644 --- a/src/lib/ecore/ecore_private.h +++ b/src/lib/ecore/ecore_private.h @@ -248,6 +248,7 @@ void _ecore_exe_event_del_free(void *data, void _ecore_animator_shutdown(void); void _ecore_animator_run_reset(void); Eina_Bool _ecore_animator_run_get(void); +Eina_Bool _ecore_animator_flush(void); void _ecore_poller_shutdown(void); @@ -336,6 +337,7 @@ extern int _ecore_fps_debug; extern double _ecore_time_loop_time; extern Eina_Bool _ecore_glib_always_integrate; extern
[EGIT] [core/efl] master 02/02: ecore: add test case for tick begin/end.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=649f120326d800b596fa54fbef633bba9b98c3fc commit 649f120326d800b596fa54fbef633bba9b98c3fc Author: Cedric BAILDate: Wed Jul 13 15:31:51 2016 -0700 ecore: add test case for tick begin/end. --- src/tests/ecore/ecore_test_animator.c | 62 +++ 1 file changed, 62 insertions(+) diff --git a/src/tests/ecore/ecore_test_animator.c b/src/tests/ecore/ecore_test_animator.c index c99e216..172d770 100644 --- a/src/tests/ecore/ecore_test_animator.c +++ b/src/tests/ecore/ecore_test_animator.c @@ -97,8 +97,70 @@ START_TEST(ecore_test_pos_map) } END_TEST +static void _animator_called_cb(void *data) +{ + Eina_Bool *called = data; + + *called = EINA_TRUE; +} + +static Eina_Bool _animator_cb(void *data) +{ + Eina_Bool *called = data; + + *called = EINA_TRUE; + return ECORE_CALLBACK_RENEW; +} + +static Eina_Bool _switch_cb(void* data EINA_UNUSED) +{ + ecore_animator_custom_tick(); + return ECORE_CALLBACK_CANCEL; +} + +static Eina_Bool _quit_cb(void* data EINA_UNUSED) +{ + ecore_main_loop_quit(); + return ECORE_CALLBACK_CANCEL; +} + +START_TEST(ecore_test_begin_end_tick) +{ + Ecore_Timer *timer1, *timer2; + Ecore_Animator *animator; + Eina_Bool is_animator_cb_called = EINA_FALSE; + Eina_Bool is_begin_cb_called = EINA_FALSE; + Eina_Bool is_end_cb_called = EINA_FALSE; + + ecore_init(); + + ecore_animator_custom_source_tick_begin_callback_set(_animator_called_cb, _begin_cb_called); + ecore_animator_custom_source_tick_end_callback_set(_animator_called_cb, _end_cb_called); + + animator = ecore_animator_add(_animator_cb, _animator_cb_called); + fail_if(!animator); + + timer1 = ecore_timer_add(0.01, _switch_cb, NULL); + fail_if(!timer1); + + timer2 = ecore_timer_add(0.03, _quit_cb, NULL); + fail_if(!timer2); + + ecore_animator_source_set(ECORE_ANIMATOR_SOURCE_CUSTOM); + ecore_main_loop_begin(); + ecore_animator_del(animator); + + fail_if(!is_begin_cb_called); + fail_if(!is_end_cb_called); + fail_if(!is_animator_cb_called); + + ecore_shutdown(); +} +END_TEST + void ecore_test_animator(TCase *tc) { tcase_add_test(tc, ecore_test_animators); tcase_add_test(tc, ecore_test_pos_map); + tcase_add_test(tc, ecore_test_begin_end_tick); } --
Re: [E-devel] [EGIT] [core/efl] master 05/10: eet - fix possible integer overflow in ptr diff on parse
On Mon, Jul 11, 2016 at 6:25 AM, Carsten Haitzlerwrote: > raster pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=679af3271fbc577602fded804dee6fe59748178f > > commit 679af3271fbc577602fded804dee6fe59748178f > Author: Carsten Haitzler (Rasterman) > Date: Mon Jul 11 21:54:57 2016 +0900 > > eet - fix possible integer overflow in ptr diff on parse > > coverity spotted this - with silly long strings (like 1gb in size or+) > it might happen. fix CID 1256196 This patch seems clearly like a false report fix. end is obviously inside buf, which is itself a fixed length array of 4096. This test seems quite unecessary and I would prefer that we mark the problem as a false positive in coverity. > --- > src/lib/eet/eet_lib.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/src/lib/eet/eet_lib.c b/src/lib/eet/eet_lib.c > index 4d0dfba..d2c95c2 100644 > --- a/src/lib/eet/eet_lib.c > +++ b/src/lib/eet/eet_lib.c > @@ -1757,7 +1757,9 @@ _base64_dec(const char *file, int *size_ret) >} > end = p; > // go from line start to (but not including) first invalid char > -if (((end - buf) > 0) && (((end - buf) % 4) == 0)) > +if (((end - buf) > 0) && > +((end - buf) < 0x1fff) && // not too long > +(((end - buf) % 4) == 0)) >{ > unsigned char *tmp = malloc((end - buf + 4) * 2); > > > -- > > > -- Cedric BAIL -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/enlightenment] master 01/02: Make sure the same keyboard resource doesn't end up on the focus list twice
derekf pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=e32db0e7e3aba07c9a7a04c5634f3e1d1a6e94cd commit e32db0e7e3aba07c9a7a04c5634f3e1d1a6e94cd Author: Derek ForemanDate: Wed Jul 13 16:01:51 2016 -0500 Make sure the same keyboard resource doesn't end up on the focus list twice This stops recent xdg_popup focus tracking changes from causing multiple key events to be sent to the focused client. --- src/bin/e_comp_wl.c | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 7eb6b04..8a3d13f 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -605,6 +605,19 @@ _e_comp_wl_evas_cb_focus_in_timer(E_Client *ec) return EINA_FALSE; } +static Eina_Bool +_keyboard_resource_add(struct wl_resource *newres) +{ + Eina_List *l; + struct wl_resource *res; + + EINA_LIST_FOREACH(e_comp_wl->kbd.focused, l, res) +if (res == newres) return EINA_FALSE; + + e_comp_wl->kbd.focused = eina_list_append(e_comp_wl->kbd.focused, newres); + return EINA_TRUE; +} + static void _e_comp_wl_evas_cb_focus_in(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED) { @@ -612,6 +625,7 @@ _e_comp_wl_evas_cb_focus_in(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj struct wl_resource *res; struct wl_client *wc; Eina_List *l; + int added = 0; if (!(ec = data)) return; if (e_object_is_del(E_OBJECT(ec))) return; @@ -641,8 +655,9 @@ _e_comp_wl_evas_cb_focus_in(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_LIST_FOREACH(e_comp_wl->kbd.resources, l, res) if (wl_resource_get_client(res) == wc) - e_comp_wl->kbd.focused = eina_list_append(e_comp_wl->kbd.focused, res); + added |= _keyboard_resource_add(res); if (!e_comp_wl->kbd.focused) return; + if (!added) return; e_comp_wl_input_keyboard_enter_send(ec); if (e_comp_util_kbd_grabbed()) return; e_comp_wl_data_device_keyboard_focus_set(); --
[EGIT] [core/enlightenment] master 02/02: Fix xdg_shell focus logic
derekf pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=248fa6d1e6d2c767dd148ae58d21a448d2162c7d commit 248fa6d1e6d2c767dd148ae58d21a448d2162c7d Author: Derek ForemanDate: Wed Jul 13 16:03:55 2016 -0500 Fix xdg_shell focus logic Moves and resizes tripped up the new xdg focus logic, so test if the focus is leaving the client entirely before trying to determine if it's leaving into a parent surface. --- src/bin/e_comp_wl.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 8a3d13f..c5ddf32 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -681,8 +681,11 @@ _e_comp_wl_keyboard_leave(E_Client *ec) if (ec->comp_data->is_xdg_surface) { /* If we left an xdg popup to enter some other (sub)surface - * of the same top level, we don't need to do anything */ -if (_parent_client_contains_pointer(ec)) return; + * of the same top level, we don't need to do anything. + * We also test e_client_focused_get() because it will be NULL + * on moves which trip up _parent_client_contains_pointer() */ +if (e_client_focused_get() && +_parent_client_contains_pointer(ec)) return; /* We only kbd focus top level xdg */ while (ec->parent) ec = ec->parent; --
[EGIT] [core/efl] master 02/02: elementary: Make wl frame borders above content
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=46904e19a71dbeecbcdb6950c0f372c34f6d0db6 commit 46904e19a71dbeecbcdb6950c0f372c34f6d0db6 Author: Chris MichaelDate: Wed Jul 13 15:13:17 2016 -0400 elementary: Make wl frame borders above content This commit just readds the layer setting code which made the frame border be above content. This does make sense in some contexts @fix Signed-off-by: Chris Michael --- src/lib/elementary/efl_ui_win.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 71f15a3..3445069 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -3599,12 +3599,12 @@ _elm_win_frame_add(Efl_Ui_Win_Data *sd, const char *style) { Evas_Object *obj = sd->obj; int w, h, mw, mh; - /* short layer; */ + short layer; if (sd->frame_obj) return; sd->frame_obj = edje_object_add(sd->evas); - /* layer = evas_object_layer_get(obj); */ - /* evas_object_layer_set(sd->frame_obj, layer + 1); */ + layer = evas_object_layer_get(obj); + evas_object_layer_set(sd->frame_obj, layer + 1); if (!elm_widget_theme_object_set (sd->obj, sd->frame_obj, "border", "base", style)) { --
[EGIT] [core/efl] master 01/02: evas-wayland-shm: Create buffers with ARGB by default
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=91437a342443dbb1e4a7ec7a86e3a9022aed410a commit 91437a342443dbb1e4a7ec7a86e3a9022aed410a Author: Chris MichaelDate: Wed Jul 13 14:43:49 2016 -0400 evas-wayland-shm: Create buffers with ARGB by default We need to be creating buffers with ARGB by default so that things like Alpha/Transparency work when toggled. If we always create with XRGB then toggling Alpha/Transparency state fails. @fix Signed-off-by: Chris Michael --- src/modules/evas/engines/wayland_shm/evas_shm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/evas/engines/wayland_shm/evas_shm.c b/src/modules/evas/engines/wayland_shm/evas_shm.c index 690d7a6..92aae08 100644 --- a/src/modules/evas/engines/wayland_shm/evas_shm.c +++ b/src/modules/evas/engines/wayland_shm/evas_shm.c @@ -230,7 +230,7 @@ _shm_data_create_from_pool(Shm_Pool *pool, int w, int h, Eina_Bool alpha) { Shm_Data *data; int len, offset; - uint32_t wl_format = WL_SHM_FORMAT_XRGB; + uint32_t wl_format = WL_SHM_FORMAT_ARGB; LOGFN(__FILE__, __LINE__, __FUNCTION__); --
Re: [E-devel] [EGIT] [core/efl] master 01/01: edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object
On 07/13/2016 01:08 PM, marcel-hollerb...@t-online.de wrote: > On Wed, Jul 13, 2016 at 08:49:11PM +0900, Carsten Haitzler wrote: >> On Wed, 13 Jul 2016 08:20:15 +0200 marcel-hollerb...@t-online.de said: >> >>> On Wed, Jul 13, 2016 at 08:51:04AM +0900, Carsten Haitzler wrote: On Tue, 12 Jul 2016 13:40:33 +0200 marcel-hollerb...@t-online.de said: > Hello, > > this commit breaks wl-apps. They dont receive any mouseinput anymore. > > To reproduce, just start terminology in weston. actually wl was broken some time ago it seems. the child content was no longer swallowed into the border frame as it should have been and thus something that should have been harmless was not. devilhorns fixed this last night for wl clients. >>> >>> No it worked until this commit. The edje object is just resized >>> efl_ui_win.c:877, it just worked different it was not broken. >> >> it was broken. stacking was broken. in x11 if i placed objects UNDER the >> swallow part then that'd be behind the window content. in wl then EVERYTHING >> would be above window content due to it not being swallowed. swallowing fixes >> this. devilhorns even said that it USEd to be swallowed and somehow is no >> longer swallowed. > > Well the biggest things are fixed now. > > But, i dont really understand what you mean, all objects are created with the > window object as parent, which means that all objects have the same layer. > And honestly, setting the frame layer to one above the window itself, > (as it was before) does make much sense to me, since you can make sure that > all content is below the border, so at least the controls of the window are > still > visible, even if things are going wrong. > I suppose having the frame border be One layer above does make sense in some context ... that can easily be added back in tho. >> >>> And still, the commit is not really harmless it breaks behaviour, as you >>> have seen... >> >> this is a behaviour bug. that's my take on it. bug reports are "this does not >> do what i expect. it does not do what the mouse_events does - ie be explicit >> on >> swallows. it's different". it's a rare enough corner of things where it >> shouldn't in general create an issue. it ONLY created an issue with wayland >> because wayland had broken/changed how it swallows/handles window content >> objects and stopped swallowing into the border object. > > Back to the topic of the behaviour change, even if the change is > good or bad, there is not even a @fix mark so i guess it will not be > part of the changelog or anything. So from the POV from a api user, its > a bad change, he doesnt even get told that there was a behaviour change. > Yea. That's my fault :/ missed adding the @fix there. dh > And once again, this commit wasnt exposing a problem in the wl code. It > created a problem, the bahviour was there before. It worked. Now it > doesnt. And its completly the same for every single user which used this > bahaviour. > >> > Greetings >bu5hm4n > > On Mon, Jul 11, 2016 at 06:53:49PM -0700, Shinwoo Kim wrote: >> raster pushed a commit to branch master. >> >> http://git.enlightenment.org/core/efl.git/commit/?id=c52eda0bf155b11ca137450cb388cd239d434554 >> >> commit c52eda0bf155b11ca137450cb388cd239d434554 >> Author: Shinwoo Kim>> Date: Tue Jul 12 10:53:27 2016 +0900 >> >> edje: the repeat_events property of swallowed object probably should >> follow the repeat_events property of swallow part object >> Summary: Need discussion about the repeat_events property >> >> Test Plan: Swallow an object which has EINA_TRUE repeat_events to a >> swallow part which has EINA_FALSE repeat_events >> Reviewers: Hermet, cedric, raster, jpeg >> >> Reviewed By: raster, jpeg >> >> Subscribers: jaehwan, seoz, woohyun >> >> Differential Revision: https://phab.enlightenment.org/D3580 >> --- >> src/lib/edje/edje_util.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c >> index 4f82e32..48ee448 100644 >> --- a/src/lib/edje/edje_util.c >> +++ b/src/lib/edje/edje_util.c >> @@ -6625,8 +6625,7 @@ _edje_real_part_swallow(Edje *ed, >> if (rp->part->mouse_events) >> { >> _edje_callbacks_add(obj_swallow, ed, rp); >> -if (rp->part->repeat_events) >> - evas_object_repeat_events_set(obj_swallow, 1); >> +evas_object_repeat_events_set(obj_swallow, >> rp->part->repeat_events); if (rp->part->pointer_mode != >> EVAS_OBJECT_POINTER_MODE_AUTOGRAB) evas_object_pointer_mode_set >> (obj_swallow, rp->part->pointer_mode); evas_object_pass_events_set >> (obj_swallow, 0); >> >> -- >> >> > >
Re: [E-devel] [EGIT] [tools/eflete] master 02/02: project_manager: temporary fix thread blocking when imported edc contain scripts
On Wed, Jul 13, 2016 at 3:00 AM, Vitalii Vorobiovwrote: > rimmed pushed a commit to branch master. > > http://git.enlightenment.org/tools/eflete.git/commit/?id=e6f5055353da08540421c2a53b49ccfb0131e348 > > commit e6f5055353da08540421c2a53b49ccfb0131e348 > Author: Vitalii Vorobiov > Date: Wed Jul 13 12:33:49 2016 +0300 > > project_manager: temporary fix thread blocking when imported edc contain > scripts Now, I do understand your problem. This code is just lucky it ever worked ! ecore_exe is already asynchronous and no ecore API, except some of the thread related one, should ever be called from a thread ! Remove all use of Eina_Thread to run Ecore_Exe and you will be fine. Cedric -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [tools/eflete] master 01/01: property_group: fix value update in second action
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=99c9e1f36ecee95984c0f875ea77846c96a78b30 commit 99c9e1f36ecee95984c0f875ea77846c96a78b30 Author: Andrii KroitorDate: Wed Jul 13 19:11:34 2016 +0300 property_group: fix value update in second action --- src/bin/ui/property/property.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bin/ui/property/property.c b/src/bin/ui/property/property.c index 0542746..6deb75d 100644 --- a/src/bin/ui/property/property.c +++ b/src/bin/ui/property/property.c @@ -258,6 +258,7 @@ _state_update(void *data) void property_item_update(Property_Attribute *pa) { + Eina_Bool res; assert(pa != NULL); if (!pa->realized) return; @@ -267,12 +268,14 @@ property_item_update(Property_Attribute *pa) if (pa->action1.update_cb != NULL) { DBG("calling update_cb of %s (%s)", pa->name, (pa->action1.name) ? pa->action1.name : "unnamed"); -pa->default_is = pa->default_is && pa->action1.update_cb(pa, >action1); +res = pa->action1.update_cb(pa, >action1); +pa->default_is = pa->default_is && res; } if (pa->action2.update_cb != NULL) { DBG("calling update_cb of %s (%s)", pa->name, (pa->action2.name) ? pa->action2.name : "unnamed"); -pa->default_is = pa->default_is && pa->action2.update_cb(pa, >action2); +res = pa->action2.update_cb(pa, >action2); +pa->default_is = pa->default_is && res; } ecore_job_add(_state_update, pa); --
[EGIT] [core/enlightenment] master 02/02: e_comp_data: NULL out source once it is freed
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=fde72ce193df31e7de7281dbca13d00eac2ee368 commit fde72ce193df31e7de7281dbca13d00eac2ee368 Author: Marcel HollerbachDate: Wed Jul 13 18:08:02 2016 +0200 e_comp_data: NULL out source once it is freed Otherwise the pointer is removed when the next drag starts, so this makes debugging dnd problems easier. --- src/bin/e_comp_wl_data.c | 4 1 file changed, 4 insertions(+) diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c index 31f7c22..04ccd32 100644 --- a/src/bin/e_comp_wl_data.c +++ b/src/bin/e_comp_wl_data.c @@ -373,6 +373,10 @@ _e_comp_wl_data_source_cb_resource_destroy(struct wl_resource *resource) wl_signal_emit(>destroy_signal, source); _mime_types_free(source); + + if (e_comp_wl->drag_source == source) + e_comp_wl->drag_source = NULL; + free(source); } --
[EGIT] [core/enlightenment] master 01/02: readme: update keyboard entry
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=c0353da074101c87ec6ef4aa995ec9e23d808a99 commit c0353da074101c87ec6ef4aa995ec9e23d808a99 Author: Marcel HollerbachDate: Wed Jul 13 18:06:45 2016 +0200 readme: update keyboard entry --- README.wayland | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.wayland b/README.wayland index 1db040e..2996b97 100644 --- a/README.wayland +++ b/README.wayland @@ -90,7 +90,7 @@ Known Issues - Requires upstream XWayland improvements * The first-launched X11 client will sometimes fail to show - Requires upstream XWayland improvements -* Some issues related to keyboard layout switching - - Requires various improvements +* There are not more than 4 keyboard layouts possible + - Requires libxkbcommon changes - https://github.com/xkbcommon/libxkbcommon/issues/37 * XWayland crashes on start - Requires XWayland release - https://bugs.freedesktop.org/show_bug.cgi?id=95337 --
Re: [E-devel] [EGIT] [core/efl] master 01/01: edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object
On Wed, Jul 13, 2016 at 08:49:11PM +0900, Carsten Haitzler wrote: > On Wed, 13 Jul 2016 08:20:15 +0200 marcel-hollerb...@t-online.de said: > > > On Wed, Jul 13, 2016 at 08:51:04AM +0900, Carsten Haitzler wrote: > > > On Tue, 12 Jul 2016 13:40:33 +0200 marcel-hollerb...@t-online.de said: > > > > > > > Hello, > > > > > > > > this commit breaks wl-apps. They dont receive any mouseinput anymore. > > > > > > > > To reproduce, just start terminology in weston. > > > > > > actually wl was broken some time ago it seems. the child content was no > > > longer swallowed into the border frame as it should have been and thus > > > something that should have been harmless was not. devilhorns fixed this > > > last night for wl clients. > > > > No it worked until this commit. The edje object is just resized > > efl_ui_win.c:877, it just worked different it was not broken. > > it was broken. stacking was broken. in x11 if i placed objects UNDER the > swallow part then that'd be behind the window content. in wl then EVERYTHING > would be above window content due to it not being swallowed. swallowing fixes > this. devilhorns even said that it USEd to be swallowed and somehow is no > longer swallowed. Well the biggest things are fixed now. But, i dont really understand what you mean, all objects are created with the window object as parent, which means that all objects have the same layer. And honestly, setting the frame layer to one above the window itself, (as it was before) does make much sense to me, since you can make sure that all content is below the border, so at least the controls of the window are still visible, even if things are going wrong. > > > And still, the commit is not really harmless it breaks behaviour, as you > > have seen... > > this is a behaviour bug. that's my take on it. bug reports are "this does not > do what i expect. it does not do what the mouse_events does - ie be explicit > on > swallows. it's different". it's a rare enough corner of things where it > shouldn't in general create an issue. it ONLY created an issue with wayland > because wayland had broken/changed how it swallows/handles window content > objects and stopped swallowing into the border object. Back to the topic of the behaviour change, even if the change is good or bad, there is not even a @fix mark so i guess it will not be part of the changelog or anything. So from the POV from a api user, its a bad change, he doesnt even get told that there was a behaviour change. And once again, this commit wasnt exposing a problem in the wl code. It created a problem, the bahviour was there before. It worked. Now it doesnt. And its completly the same for every single user which used this bahaviour. > > > > > Greetings > > > >bu5hm4n > > > > > > > > On Mon, Jul 11, 2016 at 06:53:49PM -0700, Shinwoo Kim wrote: > > > > > raster pushed a commit to branch master. > > > > > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=c52eda0bf155b11ca137450cb388cd239d434554 > > > > > > > > > > commit c52eda0bf155b11ca137450cb388cd239d434554 > > > > > Author: Shinwoo Kim> > > > > Date: Tue Jul 12 10:53:27 2016 +0900 > > > > > > > > > > edje: the repeat_events property of swallowed object probably > > > > > should > > > > > follow the repeat_events property of swallow part object > > > > > Summary: Need discussion about the repeat_events property > > > > > > > > > > Test Plan: Swallow an object which has EINA_TRUE repeat_events to > > > > > a > > > > > swallow part which has EINA_FALSE repeat_events > > > > > Reviewers: Hermet, cedric, raster, jpeg > > > > > > > > > > Reviewed By: raster, jpeg > > > > > > > > > > Subscribers: jaehwan, seoz, woohyun > > > > > > > > > > Differential Revision: https://phab.enlightenment.org/D3580 > > > > > --- > > > > > src/lib/edje/edje_util.c | 3 +-- > > > > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > > > > > > > diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c > > > > > index 4f82e32..48ee448 100644 > > > > > --- a/src/lib/edje/edje_util.c > > > > > +++ b/src/lib/edje/edje_util.c > > > > > @@ -6625,8 +6625,7 @@ _edje_real_part_swallow(Edje *ed, > > > > > if (rp->part->mouse_events) > > > > > { > > > > > _edje_callbacks_add(obj_swallow, ed, rp); > > > > > -if (rp->part->repeat_events) > > > > > - evas_object_repeat_events_set(obj_swallow, 1); > > > > > +evas_object_repeat_events_set(obj_swallow, > > > > > rp->part->repeat_events); if (rp->part->pointer_mode != > > > > > EVAS_OBJECT_POINTER_MODE_AUTOGRAB) evas_object_pointer_mode_set > > > > > (obj_swallow, rp->part->pointer_mode); evas_object_pass_events_set > > > > > (obj_swallow, 0); > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > -- > > > > What NetFlow Analyzer can do for you? Monitors
Re: [E-devel] [EGIT] [core/efl] master 01/01: edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object
On Wed, 13 Jul 2016 08:20:15 +0200 marcel-hollerb...@t-online.de said: > On Wed, Jul 13, 2016 at 08:51:04AM +0900, Carsten Haitzler wrote: > > On Tue, 12 Jul 2016 13:40:33 +0200 marcel-hollerb...@t-online.de said: > > > > > Hello, > > > > > > this commit breaks wl-apps. They dont receive any mouseinput anymore. > > > > > > To reproduce, just start terminology in weston. > > > > actually wl was broken some time ago it seems. the child content was no > > longer swallowed into the border frame as it should have been and thus > > something that should have been harmless was not. devilhorns fixed this > > last night for wl clients. > > No it worked until this commit. The edje object is just resized > efl_ui_win.c:877, it just worked different it was not broken. it was broken. stacking was broken. in x11 if i placed objects UNDER the swallow part then that'd be behind the window content. in wl then EVERYTHING would be above window content due to it not being swallowed. swallowing fixes this. devilhorns even said that it USEd to be swallowed and somehow is no longer swallowed. > And still, the commit is not really harmless it breaks behaviour, as you > have seen... this is a behaviour bug. that's my take on it. bug reports are "this does not do what i expect. it does not do what the mouse_events does - ie be explicit on swallows. it's different". it's a rare enough corner of things where it shouldn't in general create an issue. it ONLY created an issue with wayland because wayland had broken/changed how it swallows/handles window content objects and stopped swallowing into the border object. > > > Greetings > > >bu5hm4n > > > > > > On Mon, Jul 11, 2016 at 06:53:49PM -0700, Shinwoo Kim wrote: > > > > raster pushed a commit to branch master. > > > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=c52eda0bf155b11ca137450cb388cd239d434554 > > > > > > > > commit c52eda0bf155b11ca137450cb388cd239d434554 > > > > Author: Shinwoo Kim> > > > Date: Tue Jul 12 10:53:27 2016 +0900 > > > > > > > > edje: the repeat_events property of swallowed object probably should > > > > follow the repeat_events property of swallow part object > > > > Summary: Need discussion about the repeat_events property > > > > > > > > Test Plan: Swallow an object which has EINA_TRUE repeat_events to a > > > > swallow part which has EINA_FALSE repeat_events > > > > Reviewers: Hermet, cedric, raster, jpeg > > > > > > > > Reviewed By: raster, jpeg > > > > > > > > Subscribers: jaehwan, seoz, woohyun > > > > > > > > Differential Revision: https://phab.enlightenment.org/D3580 > > > > --- > > > > src/lib/edje/edje_util.c | 3 +-- > > > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > > > > > diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c > > > > index 4f82e32..48ee448 100644 > > > > --- a/src/lib/edje/edje_util.c > > > > +++ b/src/lib/edje/edje_util.c > > > > @@ -6625,8 +6625,7 @@ _edje_real_part_swallow(Edje *ed, > > > > if (rp->part->mouse_events) > > > > { > > > > _edje_callbacks_add(obj_swallow, ed, rp); > > > > -if (rp->part->repeat_events) > > > > - evas_object_repeat_events_set(obj_swallow, 1); > > > > +evas_object_repeat_events_set(obj_swallow, > > > > rp->part->repeat_events); if (rp->part->pointer_mode != > > > > EVAS_OBJECT_POINTER_MODE_AUTOGRAB) evas_object_pointer_mode_set > > > > (obj_swallow, rp->part->pointer_mode); evas_object_pass_events_set > > > > (obj_swallow, 0); > > > > > > > > -- > > > > > > > > > > > > > > -- > > > What NetFlow Analyzer can do for you? Monitors network bandwidth and > > > traffic patterns at an interface-level. Reveals which users, apps, and > > > protocols are consuming the most bandwidth. Provides multi-vendor support > > > for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using > > > capacity planning reports.http://sdm.link/zohodev2dev > > > ___ > > > enlightenment-devel mailing list > > > enlightenment-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > > > -- > > - Codito, ergo sum - "I code, therefore I am" -- > > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning
Re: [E-devel] [EGIT] [core/efl] master 01/01: edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object
On Wed, Jul 13, 2016 at 08:51:04AM +0900, Carsten Haitzler wrote: > On Tue, 12 Jul 2016 13:40:33 +0200 marcel-hollerb...@t-online.de said: > > > Hello, > > > > this commit breaks wl-apps. They dont receive any mouseinput anymore. > > > > To reproduce, just start terminology in weston. > > actually wl was broken some time ago it seems. the child content was no longer > swallowed into the border frame as it should have been and thus something that > should have been harmless was not. devilhorns fixed this last night for wl > clients. No it worked until this commit. The edje object is just resized efl_ui_win.c:877, it just worked different it was not broken. And still, the commit is not really harmless it breaks behaviour, as you have seen... > > > Greetings > >bu5hm4n > > > > On Mon, Jul 11, 2016 at 06:53:49PM -0700, Shinwoo Kim wrote: > > > raster pushed a commit to branch master. > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=c52eda0bf155b11ca137450cb388cd239d434554 > > > > > > commit c52eda0bf155b11ca137450cb388cd239d434554 > > > Author: Shinwoo Kim> > > Date: Tue Jul 12 10:53:27 2016 +0900 > > > > > > edje: the repeat_events property of swallowed object probably should > > > follow the repeat_events property of swallow part object > > > Summary: Need discussion about the repeat_events property > > > > > > Test Plan: Swallow an object which has EINA_TRUE repeat_events to a > > > swallow part which has EINA_FALSE repeat_events > > > Reviewers: Hermet, cedric, raster, jpeg > > > > > > Reviewed By: raster, jpeg > > > > > > Subscribers: jaehwan, seoz, woohyun > > > > > > Differential Revision: https://phab.enlightenment.org/D3580 > > > --- > > > src/lib/edje/edje_util.c | 3 +-- > > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > > > diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c > > > index 4f82e32..48ee448 100644 > > > --- a/src/lib/edje/edje_util.c > > > +++ b/src/lib/edje/edje_util.c > > > @@ -6625,8 +6625,7 @@ _edje_real_part_swallow(Edje *ed, > > > if (rp->part->mouse_events) > > > { > > > _edje_callbacks_add(obj_swallow, ed, rp); > > > -if (rp->part->repeat_events) > > > - evas_object_repeat_events_set(obj_swallow, 1); > > > +evas_object_repeat_events_set(obj_swallow, > > > rp->part->repeat_events); if (rp->part->pointer_mode != > > > EVAS_OBJECT_POINTER_MODE_AUTOGRAB) evas_object_pointer_mode_set > > > (obj_swallow, rp->part->pointer_mode); evas_object_pass_events_set > > > (obj_swallow, 0); > > > > > > -- > > > > > > > > > > -- > > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > > patterns at an interface-level. Reveals which users, apps, and protocols > > are > > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > > J-Flow, sFlow and other flows. Make informed decisions using capacity > > planning > > reports.http://sdm.link/zohodev2dev > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > -- > - Codito, ergo sum - "I code, therefore I am" -- > The Rasterman (Carsten Haitzler)ras...@rasterman.com > -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Reminder about upcoming freeze for 1.18
Hello. We revised the 1.18 schedule and we will now start the freeze 18.07, next Monday. Please make sure all the feature you want in 1.18 have landed before that day. The updated schedule, with the hopefully shorted stabilization period, can be found here: https://phab.enlightenment.org/w/efl_and_elementary_1_18/ regards Stefan Schmidt -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Weekly news from the automated build and QA front
Hello. Summary: o Raster, JP, Chris, Derek and others had a good run on Coverity defetcs. These are not even the lastest numbers (next analysis should happen tomorrow) o Our pending patches queue also dropped nicely This should give everyone an overview over what has happened in the last week on the QA front. The numbers in parentheses reflect the values from last week to give you a trend. CI: o Overall build statistic: 9.91% (10.64%) failed. https://build.enlightenment.org/ Unit tests: o 839 (847) unit tests for efl Coverage: o EFL total coverage is at N/A (N/A) lines, N/A (N/A) functions and N/A (N/A) branches https://build.enlightenment.org/view/Test%20Coverage/ Coverity: o EFL: Outstanding defects 144 (178) with a density of 0.13 (0.17) o Enlightenment: Outstanding defects 1 (1) with a density of 0 (0) o Terminology: Outstanding defects 0 (0) with a density of 0 (0) o Rage: Outstanding defects 0 (0) with a density of 0 (0) Phab: o Total bug count: 955 (945) https://phab.enlightenment.org/maniphest/report/burn/ o Pending patch reviews: 95 (116) regards Stefan Schmidt -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] 1.18, a new plan
Hello. On 08/07/16 10:55, Stefan Schmidt wrote: > Hello. > > > On 08/07/16 04:20, Carsten Haitzler (The Rasterman) wrote: >> On Thu, 7 Jul 2016 10:38:25 +0200 Stefan Schmidt >>said: >> >>> Hello. >>> >>> >>> Nobody can be fooled here, we are late. :-) >> yeah... but hey - we dont GUARANTEE release dates. having timelines for >> development is 90%+ of the time wrong because someone asks "how long >> will it >> take to do this currently not well known amount of work that you have >> never >> done before with a changing amount of resources?". :) >> >>> While the big merges of Elementary, Evas Generic Loaders and emotion >>> Generic Players went better that I expected we are running out of time >>> for interfaces. >> yeah. still a few big things left and a fair few little things. :) >> >>> We delayed and hoped we would get in done and could still put it into >>> 1.18, but looking at it now that seems impossible, if we do not want to >>> delay even longer. >>> >>> >>> So here is the new plan. >>> >>> o If you have some loose ends with a _realistic_ chance to get fixed >>> you >>> have the next week for this. >> sounds reasonable >> >>> o We switch EO and all interfaces back into BETA, all new code stays as >>> is but is not officially released. >> yup. not marked as stable. >> >>> o I will do the hard freeze and alpha release on Monday 18.07 >>> (tentative >>> date). >> sounds good. >> >>> o After that we try our normal 4 weeks stabilization window (my glass >>> ball is a bit dusty so I have a hard time to predict if 4 weeks are >>> enough here) >> if we can do it faster i'd be happy. i'm already going over bug >> tickets and >> doing fixes. :) >> >>> Any objections or comments? >> nope. other than maybe we can freeze faster > > I understand it here you want a faster stabilization period not an > earlier freeze. > We can try that. In the end it depends on show stoppers left. If we > get all of that sorted out quickly we can cut a week I would say. > > > What we could try would be: > 18.07 Freeze / alpha tarballs > 25.07 Beta 1 > 01.08 Beta 2 / or final if no show stoppers are left > 08.08 Final if no show stoppers are left > > If we have still have problems around at that time we could delay for > some further days. Just as we handled this with the 3 months time > based releases. I heard no complains here. Lets go ahead with it. I updated the wiki accordingly and I#m going to send out a freeze reminder mail now. https://phab.enlightenment.org/w/efl_and_elementary_1_18/ regards Stefan Schmidt -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object
On Tue, 12 Jul 2016 13:40:33 +0200 marcel-hollerb...@t-online.de said: > Hello, > > this commit breaks wl-apps. They dont receive any mouseinput anymore. > > To reproduce, just start terminology in weston. actually wl was broken some time ago it seems. the child content was no longer swallowed into the border frame as it should have been and thus something that should have been harmless was not. devilhorns fixed this last night for wl clients. > Greetings >bu5hm4n > > On Mon, Jul 11, 2016 at 06:53:49PM -0700, Shinwoo Kim wrote: > > raster pushed a commit to branch master. > > > > http://git.enlightenment.org/core/efl.git/commit/?id=c52eda0bf155b11ca137450cb388cd239d434554 > > > > commit c52eda0bf155b11ca137450cb388cd239d434554 > > Author: Shinwoo Kim> > Date: Tue Jul 12 10:53:27 2016 +0900 > > > > edje: the repeat_events property of swallowed object probably should > > follow the repeat_events property of swallow part object > > Summary: Need discussion about the repeat_events property > > > > Test Plan: Swallow an object which has EINA_TRUE repeat_events to a > > swallow part which has EINA_FALSE repeat_events > > Reviewers: Hermet, cedric, raster, jpeg > > > > Reviewed By: raster, jpeg > > > > Subscribers: jaehwan, seoz, woohyun > > > > Differential Revision: https://phab.enlightenment.org/D3580 > > --- > > src/lib/edje/edje_util.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c > > index 4f82e32..48ee448 100644 > > --- a/src/lib/edje/edje_util.c > > +++ b/src/lib/edje/edje_util.c > > @@ -6625,8 +6625,7 @@ _edje_real_part_swallow(Edje *ed, > > if (rp->part->mouse_events) > > { > > _edje_callbacks_add(obj_swallow, ed, rp); > > -if (rp->part->repeat_events) > > - evas_object_repeat_events_set(obj_swallow, 1); > > +evas_object_repeat_events_set(obj_swallow, > > rp->part->repeat_events); if (rp->part->pointer_mode != > > EVAS_OBJECT_POINTER_MODE_AUTOGRAB) evas_object_pointer_mode_set > > (obj_swallow, rp->part->pointer_mode); evas_object_pass_events_set > > (obj_swallow, 0); > > > > -- > > > > > > -- > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity planning > reports.http://sdm.link/zohodev2dev > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object
oops... wayland application.. yes this commit could have compatability issue. Why does it happen only for wl-app.. :/ do I have revert this commit? 2016. 7. 12. 오후 8:41에님이 작성: Hello, this commit breaks wl-apps. They dont receive any mouseinput anymore. To reproduce, just start terminology in weston. Greetings bu5hm4n On Mon, Jul 11, 2016 at 06:53:49PM -0700, Shinwoo Kim wrote: > raster pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=c52eda0bf155b11ca137450cb388cd239d434554 > > commit c52eda0bf155b11ca137450cb388cd239d434554 > Author: Shinwoo Kim > Date: Tue Jul 12 10:53:27 2016 +0900 > > edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object > > Summary: Need discussion about the repeat_events property > > Test Plan: Swallow an object which has EINA_TRUE repeat_events to a swallow part which has EINA_FALSE repeat_events > > Reviewers: Hermet, cedric, raster, jpeg > > Reviewed By: raster, jpeg > > Subscribers: jaehwan, seoz, woohyun > > Differential Revision: https://phab.enlightenment.org/D3580 > --- > src/lib/edje/edje_util.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c > index 4f82e32..48ee448 100644 > --- a/src/lib/edje/edje_util.c > +++ b/src/lib/edje/edje_util.c > @@ -6625,8 +6625,7 @@ _edje_real_part_swallow(Edje *ed, > if (rp->part->mouse_events) > { > _edje_callbacks_add(obj_swallow, ed, rp); > -if (rp->part->repeat_events) > - evas_object_repeat_events_set(obj_swallow, 1); > +evas_object_repeat_events_set(obj_swallow, rp->part->repeat_events); > if (rp->part->pointer_mode != EVAS_OBJECT_POINTER_MODE_AUTOGRAB) >evas_object_pointer_mode_set(obj_swallow, rp->part->pointer_mode); > evas_object_pass_events_set(obj_swallow, 0); > > -- > > -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [website/www-content] master 01/01: about enventor: updated content
hermet pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=63eb585c8712ed9a7a780b05831d67e2636fc58c commit 63eb585c8712ed9a7a780b05831d67e2636fc58c Author: Hermet ParkDate: Thu Jul 14 00:59:53 2016 +0900 about enventor: updated content --- media/enventor-liveedit1.png | Bin 0 -> 100405 bytes media/enventor-liveedit2.png | Bin 0 -> 30282 bytes media/enventor-liveedit3.png | Bin 0 -> 24855 bytes media/enventor-liveedit4.png | Bin 0 -> 24174 bytes media/enventor-liveedit5.png | Bin 0 -> 28513 bytes media/enventor-liveedit6.png | Bin 0 -> 31751 bytes pages/about-enventor.txt | 108 +-- 7 files changed, 83 insertions(+), 25 deletions(-) diff --git a/media/enventor-liveedit1.png b/media/enventor-liveedit1.png new file mode 100644 index 000..aeaa7cc Binary files /dev/null and b/media/enventor-liveedit1.png differ diff --git a/media/enventor-liveedit2.png b/media/enventor-liveedit2.png new file mode 100644 index 000..a96fea8 Binary files /dev/null and b/media/enventor-liveedit2.png differ diff --git a/media/enventor-liveedit3.png b/media/enventor-liveedit3.png new file mode 100644 index 000..78b96ce Binary files /dev/null and b/media/enventor-liveedit3.png differ diff --git a/media/enventor-liveedit4.png b/media/enventor-liveedit4.png new file mode 100644 index 000..907700b Binary files /dev/null and b/media/enventor-liveedit4.png differ diff --git a/media/enventor-liveedit5.png b/media/enventor-liveedit5.png new file mode 100644 index 000..588fd2b Binary files /dev/null and b/media/enventor-liveedit5.png differ diff --git a/media/enventor-liveedit6.png b/media/enventor-liveedit6.png new file mode 100644 index 000..5dbf0e3 Binary files /dev/null and b/media/enventor-liveedit6.png differ diff --git a/pages/about-enventor.txt b/pages/about-enventor.txt index 5ede5d6..fc552da 100644 --- a/pages/about-enventor.txt +++ b/pages/about-enventor.txt @@ -17,16 +17,15 @@ Basically, Enventor view is divided into 2 sections, live view and text view. Th * Enventor Layout * Text View - * Live View * EDC Navigator + * Interactive Feedback + * Live Edit * File Browser * File Tab - * Interactive Feedback * Tool Functions * Configuration Setting - * Help -==Enventor Layout== +===Enventor Layout=== {{ :enventor-layout.png?&350|}} @@ -41,7 +40,7 @@ The following figure illustrates each layout section of Enventor. * White: File tab * Yellow: Status bar -==Text View== +===Text View=== Enventor text view mainly supports text editing. You can write and modify EDC source code in this view. Once part sections are written in the text view and the modified EDC source code is saved, preview images corresponding to the part objects of the EDC source code are displayed in the live view. Basically, this text editor applys syntax color and auto indentation for EDC with its one standard rule. If you open an edc file which doesn't matched with Enventor indentation rule, Enventor a [...] @@ -49,7 +48,8 @@ Furthermore, Text view supports the following fancy features: {{ :enventor-autocomplete.png?&150|}} - * Auto-complete + +==Auto-complete== To help you write EDC source code, Text view supports auto-complete function which lists the reserved keywords in a contextual pop-up. @@ -57,27 +57,31 @@ When you enter a part of a reserved keyword, a contextual pop-up comes up with a You can also use auto-complete as context help. Press "Ctrl+Space" key combination to show a list of available keywords in the current cursor position context. -{{ :enventor-candidate.png?&300|}} - * Candidate list +{{:enventor-candidate.png?&300 |}} + +==Candidate list== The EDC script provides a variety of pre-defined keywords including part object types and program action types. To edit the keywords easier, text view supports a candidate list function for the keywords. When you double-click a keyword in the text view, the available candidate keyword list based on the context pops up. If you select one of the candidate keywords, the double-clicked keyword is changed to the selected one. The candidate list function also helps you to know the available range of the numeric values based on the context. The numeric candidate function shows the range of the available number. While you are dragging the slider, Enventor updates the preview instantly. + {{ :enventor-colorselector.png?&150|}} - * Color selector +==Color selector== To change color values, use the color selector tool. Each time when the "color" keyword is double-clicked, it displays the color selector. - * Zooming text + +==Zooming text== Zooming in/out text view area changes the font size relative to the zoom factor. This action can be done by "Ctrl+Mouse Wheel Up/Down" or changed font size inside Text Editor Setting (Settings -> Text Editor -> Font Size).
[EGIT] [core/efl] master 01/02: ethumb: tell the user if the connection to the deamon failed
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a393a90ccc18462b4886793109c3ca24fcc6b08e commit a393a90ccc18462b4886793109c3ca24fcc6b08e Author: Marcel HollerbachDate: Mon Jul 11 22:59:55 2016 +0200 ethumb: tell the user if the connection to the deamon failed otherwise the user just gets no thumbnails, and no error message what actually happened. --- src/lib/ethumb_client/ethumb_client.c | 18 +- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/lib/ethumb_client/ethumb_client.c b/src/lib/ethumb_client/ethumb_client.c index 55b22f6..e5919f7 100644 --- a/src/lib/ethumb_client/ethumb_client.c +++ b/src/lib/ethumb_client/ethumb_client.c @@ -544,6 +544,17 @@ ethumb_client_shutdown(void) return _initcount; } +static void +_name_start(void *data EINA_UNUSED, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED) +{ + const char *name, *text; + if (eldbus_message_error_get(msg, , )) + { +ERR("Starting ethumb failed %s %s", name, text); +return; + } +} + /** * Connects to Ethumb server and return the client instance. * @@ -615,7 +626,12 @@ ethumb_client_connect(Ethumb_Client_Connect_Cb connect_cb, const void *data, Ein goto connection_err; } - eldbus_name_start(eclient->conn, _ethumb_dbus_bus_name, 0, NULL, NULL); + if (!eldbus_name_start(eclient->conn, _ethumb_dbus_bus_name, 0, _name_start, NULL)) + { +ERR("Failed to start ethumb bus"); +goto connection_err; + } + eldbus_name_owner_changed_callback_add(eclient->conn, _ethumb_dbus_bus_name, _ethumb_client_name_owner_changed, eclient, EINA_TRUE); --
[EGIT] [core/efl] master 02/02: ecore_wl2: clear out read_data and len
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=67917c27fe1279e76b752504909dc66ed662607f commit 67917c27fe1279e76b752504909dc66ed662607f Author: Marcel HollerbachDate: Wed Jul 13 17:38:05 2016 +0200 ecore_wl2: clear out read_data and len they are passed to the event struct, and later freed in there. --- src/lib/ecore_wl2/ecore_wl2_dnd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c b/src/lib/ecore_wl2/ecore_wl2_dnd.c index 7e17d86..414bfc4 100644 --- a/src/lib/ecore_wl2/ecore_wl2_dnd.c +++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c @@ -257,7 +257,9 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh) source->fdh = NULL; event->data = source->read_data; +source->read_data = NULL; event->len = source->len; +source->len = 0; if (source->input->drag.source) ecore_event_add(ECORE_WL2_EVENT_DND_DATA_READY, event, _selection_data_ready_cb_free, NULL); --
[EGIT] [core/efl] master 01/01: elput: Cleanup erroneous errors when trying to get output name
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2437d5327806c3b1c489adf4e78018a7bcfa4ced commit 2437d5327806c3b1c489adf4e78018a7bcfa4ced Author: Chris MichaelDate: Wed Jul 13 11:40:12 2016 -0400 elput: Cleanup erroneous errors when trying to get output name When we make calls to get an Input device's output name, if the device does not have an output name it's not actually an error so just return NULL with less noise @fix Signed-off-by: Chris Michael --- src/lib/elput/elput_input.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c index 5b2b1c5..daa3675 100644 --- a/src/lib/elput/elput_input.c +++ b/src/lib/elput/elput_input.c @@ -634,7 +634,7 @@ EAPI Eina_Stringshare * elput_input_device_output_name_get(Elput_Device *device) { EINA_SAFETY_ON_NULL_RETURN_VAL(device, NULL); - EINA_SAFETY_ON_NULL_RETURN_VAL(device->output_name, NULL); + if (!device->output_name) return NULL; return eina_stringshare_ref(device->output_name); } --
[EGIT] [core/enlightenment] master 01/01: set unmax flag for xdg shell unmaximize
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=5546c2a425b72ab01b4007697f88517910dc874b commit 5546c2a425b72ab01b4007697f88517910dc874b Author: Mike BlumenkrantzDate: Wed Jul 13 11:26:16 2016 -0400 set unmax flag for xdg shell unmaximize ref b5576dbb8c98934ab0e8c5ff59bed106c02d9874 --- src/modules/wl_desktop_shell/e_mod_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index 676736a..3c3a0d0 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -1065,7 +1065,7 @@ _e_xdg_shell_surface_cb_maximized_unset(struct wl_client *client EINA_UNUSED, st if (e_object_is_del(E_OBJECT(ec))) return; if (ec->lock_user_maximize) return; - ec->comp_data->max = (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH; + ec->comp_data->unmax = (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH; if (e_config->window_maximize_animate && (!ec->maximize_anims_disabled)) w = ec->w, h = ec->h; else --
[EGIT] [tools/eflete] master 01/01: property_group: hide colors block for textblock
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=d8cdb5a911352d918ee01e5cd0da207454b6563e commit d8cdb5a911352d918ee01e5cd0da207454b6563e Author: Andrii KroitorDate: Wed Jul 13 17:51:52 2016 +0300 property_group: hide colors block for textblock --- src/bin/ui/property/property_group.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/ui/property/property_group.c b/src/bin/ui/property/property_group.c index 3c81295..4e592a8 100644 --- a/src/bin/ui/property/property_group.c +++ b/src/bin/ui/property/property_group.c @@ -5150,7 +5150,7 @@ _init_items() IT.expandable = true; IT.expanded = true; IT.expand_cb = _subitems_get; - IT.filter_data.part_types &= ~PART_SPACER & ~PART_SWALLOW; + IT.filter_data.part_types &= ~PART_SPACER & ~PART_SWALLOW & ~PART_TEXTBLOCK; break; case PROPERTY_GROUP_ITEM_STATE_COLORS_COLOR_CLASS: IT.name = "Color class"; --
[EGIT] [core/efl] master 01/02: evas-generic: Fix gcc warning of incorrect format
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ea7fe4efdc11fef405b906d628f39d4c80c3fb5c commit ea7fe4efdc11fef405b906d628f39d4c80c3fb5c Author: Chris MichaelDate: Wed Jul 13 10:05:03 2016 -0400 evas-generic: Fix gcc warning of incorrect format Gcc warns us about using %d here when the argument is unsigned long. Fix format params. @fix Signed-off-by: Chris Michael --- src/generic/evas/ps/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generic/evas/ps/main.c b/src/generic/evas/ps/main.c index c5b8a18..d069e77 100644 --- a/src/generic/evas/ps/main.c +++ b/src/generic/evas/ps/main.c @@ -280,7 +280,7 @@ main(int argc, char **argv) { // nothing much to do, the receiver will simply ignore the // data as it's too short - D("fwrite failed (%d bytes): %m\n", width * height * sizeof(DATA32)); + D("fwrite failed (%lu bytes): %m\n", width * height * sizeof(DATA32)); } } shm_free(); --
[EGIT] [core/efl] master 02/02: evas-generic: Fix gcc wanring
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e3b00d37b7abaa83b0f927130b230553091e8801 commit e3b00d37b7abaa83b0f927130b230553091e8801 Author: Chris MichaelDate: Wed Jul 13 10:06:12 2016 -0400 evas-generic: Fix gcc wanring Gcc suggets parens around comparison value. Silence gcc warning. @fix Signed-off-by: Chris Michael --- src/generic/evas/pdf/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generic/evas/pdf/main.cpp b/src/generic/evas/pdf/main.cpp index eab137b..71d016c 100644 --- a/src/generic/evas/pdf/main.cpp +++ b/src/generic/evas/pdf/main.cpp @@ -166,7 +166,7 @@ void poppler_load_image(int size_w EINA_UNUSED, int size_h EINA_UNUSED) int bit = x & 0x7; int c = (*src & (1 << bit)) ? 0xFF : 0x00; *dst++ = ARGB_JOIN(0xFF, c, c, c); - if (x & 0x7 == 0x7) src++; + if ((x & 0x7) == 0x7) src++; } } } --
[EGIT] [website/www-content] master 01/01: about enventor: updated content.
hermet pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=aee2cd92fe54e42f0e59f6e3ba320f02e05b7ede commit aee2cd92fe54e42f0e59f6e3ba320f02e05b7ede Author: Hermet ParkDate: Wed Jul 13 23:02:20 2016 +0900 about enventor: updated content. --- media/enventor-about.png | Bin 78655 -> 0 bytes media/enventor-candidate.png | Bin 33755 -> 63786 bytes media/enventor-errors.png| Bin 0 -> 81110 bytes media/enventor-navigator.png | Bin 0 -> 74370 bytes media/enventor-slider.png| Bin 34042 -> 0 bytes media/enventor-text-zoom.png | Bin 100624 -> 0 bytes pages/about-enventor.txt | 66 --- 7 files changed, 44 insertions(+), 22 deletions(-) diff --git a/media/enventor-about.png b/media/enventor-about.png deleted file mode 100644 index ae63efa..000 Binary files a/media/enventor-about.png and /dev/null differ diff --git a/media/enventor-candidate.png b/media/enventor-candidate.png index 480c4e9..47cb9a2 100644 Binary files a/media/enventor-candidate.png and b/media/enventor-candidate.png differ diff --git a/media/enventor-errors.png b/media/enventor-errors.png new file mode 100644 index 000..f03b36b Binary files /dev/null and b/media/enventor-errors.png differ diff --git a/media/enventor-navigator.png b/media/enventor-navigator.png new file mode 100644 index 000..fc0515b Binary files /dev/null and b/media/enventor-navigator.png differ diff --git a/media/enventor-slider.png b/media/enventor-slider.png deleted file mode 100644 index 04fd629..000 Binary files a/media/enventor-slider.png and /dev/null differ diff --git a/media/enventor-text-zoom.png b/media/enventor-text-zoom.png deleted file mode 100644 index ce5..000 Binary files a/media/enventor-text-zoom.png and /dev/null differ diff --git a/pages/about-enventor.txt b/pages/about-enventor.txt index 3668627..5ede5d6 100644 --- a/pages/about-enventor.txt +++ b/pages/about-enventor.txt @@ -13,23 +13,24 @@ When your application requires realtime changeable layouts like animative ones, === About Enventor === -{{:enventor-about.png?&200 |}} - Basically, Enventor view is divided into 2 sections, live view and text view. The live view is the left pane of Enventor window and it previews images corresponding to the part objects of the EDC source code. The text view is the right pane of Enventor window and it contains the EDC source code. Thanks to its realtime updation mechanism, Enventor updates the preview on realtime while you are modifying the source code that helps you to see the result on the spot. Other than that, Enventor [...] * Enventor Layout - * Using Text View - * Using Live View - * Using EDC Navigator + * Text View + * Live View + * EDC Navigator + * File Browser + * File Tab * Interactive Feedback * Tool Functions * Configuration Setting + * Help ==Enventor Layout== -The following figure illustrates each layout section of Enventor. +{{ :enventor-layout.png?&350|}} -{{ :enventor-layout.png?&400|}} +The following figure illustrates each layout section of Enventor. * Red: Toolbar * Cyan: File browser @@ -40,9 +41,9 @@ The following figure illustrates each layout section of Enventor. * White: File tab * Yellow: Status bar -==Using Text View== +==Text View== -Enventor text view mainly supports text editing. You can write and modify EDC source code in this view. Once part sections are written in the text view and the modified EDC source code is saved, preview images corresponding to the part objects of the EDC source code are displayed in the live view. Basically, this text editor applys syntax color and auto indentation for EDC with its one standard rule. If you open an edc file which doesn't matched with Enventor indentation rule, Enventor a [...] +Enventor text view mainly supports text editing. You can write and modify EDC source code in this view. Once part sections are written in the text view and the modified EDC source code is saved, preview images corresponding to the part objects of the EDC source code are displayed in the live view. Basically, this text editor applys syntax color and auto indentation for EDC with its one standard rule. If you open an edc file which doesn't matched with Enventor indentation rule, Enventor a [...] Furthermore, Text view supports the following fancy features: @@ -56,14 +57,12 @@ When you enter a part of a reserved keyword, a contextual pop-up comes up with a You can also use auto-complete as context help. Press "Ctrl+Space" key combination to show a list of available keywords in the current cursor position context. -{{ :enventor-candidate.png?&150|}} +{{ :enventor-candidate.png?&300|}} * Candidate list The EDC script provides a variety of pre-defined keywords including part object types and program action types. To edit the keywords easier, text view supports a candidate
[EGIT] [tools/eflete] master 01/02: tabs: show project info tab on second and further new theme creating
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=7f9535998885e84cef4016223a5f5cf8401bf17d commit 7f9535998885e84cef4016223a5f5cf8401bf17d Author: Vitalii VorobiovDate: Wed Jul 13 16:09:19 2016 +0300 tabs: show project info tab on second and further new theme creating while old was opened and group was opened @fix --- src/bin/ui/tabs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c index edbdbee..e3e2e8d 100644 --- a/src/bin/ui/tabs.c +++ b/src/bin/ui/tabs.c @@ -1105,7 +1105,8 @@ _tab_close(void *data, if (!item) return; tabs.items = eina_list_remove(tabs.items, item); - _content_unset(); + tabs.current_workspace = NULL; + tabs.current_group = NULL; _del_tab(item); if (tabs.selected == it) { --
[EGIT] [tools/eflete] master 02/02: property_textblock: remove value duplication in font_glow_list
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=a2c0d40abc00a2dd035ab98cb55cdfb3f9871ec9 commit a2c0d40abc00a2dd035ab98cb55cdfb3f9871ec9 Author: Vitalii VorobiovDate: Wed Jul 13 16:16:34 2016 +0300 property_textblock: remove value duplication in font_glow_list @fix --- src/bin/ui/property/property_textblock.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/bin/ui/property/property_textblock.c b/src/bin/ui/property/property_textblock.c index 4516580..6a74f1c 100644 --- a/src/bin/ui/property/property_textblock.c +++ b/src/bin/ui/property/property_textblock.c @@ -162,7 +162,6 @@ static const char *font_glow_list[] = { "none", "outline_shadow", "outline_soft_shadow", "glow", -"shadow", "far_shadow", "soft_shadow", "far_soft_shadow", --
[EGIT] [core/efl] master 01/01: elementary: Fix issue of minimum resizing in wayland
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0e4b9afeb0817ac70c84884885aecb3518b7fe5d commit 0e4b9afeb0817ac70c84884885aecb3518b7fe5d Author: Chris MichaelDate: Wed Jul 13 09:40:22 2016 -0400 elementary: Fix issue of minimum resizing in wayland This patch fixes an issue where if you tried to resize a window to it's minimum size, the contents of the window would draw outside the window frame. Basically, when we are setting min/max size hints to the window object we need to account for framespace. @fix Signed-off-by: Chris Michael --- src/lib/elementary/efl_ui_win.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index d93b40b..71f15a3 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -2979,6 +2979,17 @@ _elm_win_resize_objects_eval(Evas_Object *obj) if (!wy) maxh = minh; else maxh = 32767; + if (sd->frame_obj) + { +int fx, fy, fw, fh; + +evas_output_framespace_get(sd->evas, , , , ); +minw += fw; +minh += fh; +maxw -= fw; +maxh -= fh; + } + evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); evas_object_geometry_get(obj, NULL, NULL, , ); --
[EGIT] [tools/exactness] master 01/01: Use correct output dir for reports
herdsman pushed a commit to branch master. http://git.enlightenment.org/tools/exactness.git/commit/?id=365630b8db0df938fa090e14732fb64bfac26f7d commit 365630b8db0df938fa090e14732fb64bfac26f7d Author: Daniel HirtDate: Wed Jul 13 16:25:39 2016 + Use correct output dir for reports Not really sure if it needs to generate reports on 'init' mode, but at least now it will be in the correct directory. --- src/bin/exactness.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/exactness.c b/src/bin/exactness.c index da4c36f..2e60eab 100644 --- a/src/bin/exactness.c +++ b/src/bin/exactness.c @@ -196,7 +196,7 @@ main(int argc, char *argv[]) /* Generate the filename. */ snprintf(report_filename, EXACTNESS_PATH_MAX, "%s/%s/errors.html", - exactness_config.dest_dir, CURRENT_SUBDIR); + exactness_config.dest_dir, mode_init ? ORIG_SUBDIR : CURRENT_SUBDIR); report_file = fopen(report_filename, "w+"); if (report_file) { --
[EGIT] [tools/eflete] master 03/06: group_navigator: fix selection after state_del
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=8e033e583ab4e6de80935ed6fef109d15bf2de73 commit 8e033e583ab4e6de80935ed6fef109d15bf2de73 Author: Andrii KroitorDate: Wed Jul 13 14:16:53 2016 +0300 group_navigator: fix selection after state_del --- src/bin/ui/workspace/group_navigator.c | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/bin/ui/workspace/group_navigator.c b/src/bin/ui/workspace/group_navigator.c index e80f0ce..e15f361 100644 --- a/src/bin/ui/workspace/group_navigator.c +++ b/src/bin/ui/workspace/group_navigator.c @@ -2048,7 +2048,7 @@ group_navigator_part_state_del(Evas_Object *obj, Part *part __UNUSED__, State *s Part_List *pl = evas_object_data_get(obj, GROUP_NAVIGATOR_DATA); Elm_Object_Item *glit; Elm_Object_Item *part_item; - Elm_Object_Item *default_glit; + Elm_Object_Item *to_select; const Eina_List *subitems; const Eina_List *l; @@ -2059,8 +2059,6 @@ group_navigator_part_state_del(Evas_Object *obj, Part *part __UNUSED__, State *s elm_genlist_item_expanded_set(part_item, true); subitems = elm_genlist_item_subitems_get(part_item); - /* "default 0.0" is always first in states list */ - default_glit = eina_list_data_get(subitems); /* find state's genlist item */ EINA_LIST_FOREACH(subitems, l, glit) { @@ -2069,7 +2067,15 @@ group_navigator_part_state_del(Evas_Object *obj, Part *part __UNUSED__, State *s } assert(glit != NULL); - elm_genlist_item_selected_set(default_glit, true); + to_select = elm_genlist_item_next_get(glit); + if ((to_select == NULL) || + ((elm_genlist_item_item_class_get(to_select) != pl->itc_state) && +(elm_genlist_item_item_class_get(to_select) != pl->itc_state_selected))) + to_select = elm_genlist_item_prev_get(glit); + + /* there should be at least default state */ + assert(to_select != NULL); + elm_genlist_item_selected_set(to_select, true); elm_object_item_del(glit); } --
[EGIT] [tools/eflete] master 05/06: group_navigator: fix selection after program_del
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=81178a2c30e7ff8149ac8b85a606f4c451023f46 commit 81178a2c30e7ff8149ac8b85a606f4c451023f46 Author: Andrii KroitorDate: Wed Jul 13 15:17:00 2016 +0300 group_navigator: fix selection after program_del --- src/bin/ui/workspace/group_navigator.c | 49 +- src/bin/ui/workspace/group_navigator.h | 2 +- src/bin/ui/workspace/workspace.c | 8 +- 3 files changed, 50 insertions(+), 9 deletions(-) diff --git a/src/bin/ui/workspace/group_navigator.c b/src/bin/ui/workspace/group_navigator.c index 2c6922f..e7375fe 100644 --- a/src/bin/ui/workspace/group_navigator.c +++ b/src/bin/ui/workspace/group_navigator.c @@ -461,6 +461,7 @@ _contract_request_cb(void *data __UNUSED__, } static Elm_Object_Item * _part_item_find(Part_List *pl, Part *part); +static Elm_Object_Item * _program_glit_find(Part_List *pl, Program *part); void group_navigator_part_state_select(Evas_Object *obj, State *state) @@ -1769,19 +1770,26 @@ _program_del(Part_List *pl, } void -group_navigator_program_del(Evas_Object *obj, Eina_Stringshare *program __UNUSED__) +group_navigator_program_del(Evas_Object *obj, Program *program) { Part_List *pl = evas_object_data_get(obj, GROUP_NAVIGATOR_DATA); + Elm_Object_Item *program_glit, *to_select; assert(pl != NULL); + assert(program != NULL); + + program_glit = _program_glit_find(pl, program); + + to_select = elm_genlist_item_next_get(program_glit); + if ((to_select == NULL) || (elm_genlist_item_item_class_get(to_select) != pl->itc_program)) + to_select = elm_genlist_item_prev_get(program_glit); + if ((to_select == NULL) || (elm_genlist_item_item_class_get(to_select) != pl->itc_program)) + to_select = pl->programs_caption_item; + + elm_object_item_del(program_glit); elm_genlist_item_update(pl->programs_caption_item); - if (elm_genlist_item_expanded_get(pl->programs_caption_item)) - { -elm_genlist_item_expanded_set(pl->programs_caption_item, false); -elm_genlist_item_expanded_set(pl->programs_caption_item, true); - } - elm_genlist_item_selected_set(pl->programs_caption_item, true); + elm_genlist_item_selected_set(to_select, true); } void @@ -1922,6 +1930,33 @@ _part_item_find(Part_List *pl, Part *part) } static Elm_Object_Item * +_program_glit_find(Part_List *pl, Program *program) +{ + Elm_Object_Item *program_glit; + const Eina_List *program_glits; + Program *pr; + + assert(pl != NULL); + assert(program != NULL); + + elm_genlist_item_expanded_set(pl->programs_caption_item, true); + program_glits = elm_genlist_item_subitems_get(pl->programs_caption_item); + + program_glit = eina_list_data_get(program_glits); + pr = elm_object_item_data_get(program_glit); + while (pr != program) + { +program_glits = eina_list_next(program_glits); +program_glit = eina_list_data_get(program_glits); +pr = elm_object_item_data_get(program_glit); + +assert(pr != NULL); + } + assert(program_glit != NULL); + return program_glit; +} + +static Elm_Object_Item * _group_data_item_find(Part_List *pl, Resource *group_data) { Elm_Object_Item *group_data_item; diff --git a/src/bin/ui/workspace/group_navigator.h b/src/bin/ui/workspace/group_navigator.h index 4c6d758..223e278 100644 --- a/src/bin/ui/workspace/group_navigator.h +++ b/src/bin/ui/workspace/group_navigator.h @@ -102,7 +102,7 @@ void group_navigator_program_add(Evas_Object *obj, Eina_Stringshare *program); void -group_navigator_program_del(Evas_Object *obj, Eina_Stringshare *program); +group_navigator_program_del(Evas_Object *obj, Program *program); void group_navigator_group_data_add(Evas_Object *obj, Eina_Stringshare *group_data); diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c index ea9b319..6037472 100644 --- a/src/bin/ui/workspace/workspace.c +++ b/src/bin/ui/workspace/workspace.c @@ -1723,11 +1723,17 @@ workspace_program_add(Evas_Object *obj, Eina_Stringshare *program_name) void workspace_program_del(Evas_Object *obj, Eina_Stringshare *program_name) { + Resource request; + Program *program; WS_DATA_GET(obj); assert(program_name != NULL); + request.resource_type = RESOURCE_TYPE_PROGRAM; + request.name = program_name; + program = (Program *)resource_get(wd->group->programs, ); + gm_program_del(ap.project, wd->group, program_name); - group_navigator_program_del(wd->group_navi, program_name); + group_navigator_program_del(wd->group_navi, program); demo_group_program_del(wd->demo_navi, program_name); } --
[EGIT] [tools/eflete] master 01/06: sound_manager: fix little typo
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=b279f62e2ffbcec12f351f232aca01243853a3d7 commit b279f62e2ffbcec12f351f232aca01243853a3d7 Author: Vitalii VorobiovDate: Wed Jul 13 15:09:52 2016 +0300 sound_manager: fix little typo no more sigsev on tone deletion! @fix --- src/bin/ui/sound_manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/ui/sound_manager.c b/src/bin/ui/sound_manager.c index dda4500..ab4fd11 100644 --- a/src/bin/ui/sound_manager.c +++ b/src/bin/ui/sound_manager.c @@ -431,7 +431,7 @@ _sound_del_cb(void *data __UNUSED__, break; case SOUND_TYPE_TONE: request.name = snd->name; - request.resource_type = RESOURCE_TYPE_SOUND; + request.resource_type = RESOURCE_TYPE_TONE; res = (External_Resource *)resource_get(ap.project->tones, ); if (res->used_in) ERR("Unable to delete tone '%s'", res->name); edje_edit_sound_tone_del(ap.project->global_object, snd->name); --
[EGIT] [tools/eflete] master 02/06: group_navigator: fix selection after part_del
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=c29077cc50e89fe2d122cb54c1b67fb1d1a8d01c commit c29077cc50e89fe2d122cb54c1b67fb1d1a8d01c Author: Andrii KroitorDate: Wed Jul 13 11:08:10 2016 +0300 group_navigator: fix selection after part_del --- src/bin/ui/workspace/group_navigator.c | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/workspace/group_navigator.c b/src/bin/ui/workspace/group_navigator.c index ddd9c3d..e80f0ce 100644 --- a/src/bin/ui/workspace/group_navigator.c +++ b/src/bin/ui/workspace/group_navigator.c @@ -1982,17 +1982,32 @@ void group_navigator_part_del(Evas_Object *obj, Part *part) { Part_List *pl = evas_object_data_get(obj, GROUP_NAVIGATOR_DATA); - Elm_Object_Item *part_item; + Elm_Object_Item *part_item, *to_select; assert(pl != NULL); assert(part != NULL); part_item = _part_item_find(pl, part); + + to_select = elm_genlist_item_next_get(part_item); + + while ((to_select != NULL) && (elm_genlist_item_item_class_get(to_select) != pl->itc_part)) + to_select = elm_genlist_item_next_get(to_select); + if (to_select == NULL) + { +to_select = elm_genlist_item_prev_get(part_item); +while ((to_select != NULL) && (elm_genlist_item_item_class_get(to_select) != pl->itc_part)) + to_select = elm_genlist_item_prev_get(to_select); + } + if (to_select == NULL) + to_select = pl->parts_caption_item; + if (part == pl->part) _unselect_part(pl); elm_object_item_del(part_item); elm_genlist_item_update(pl->parts_caption_item); + elm_genlist_item_selected_set(to_select, true); } static void --
[EGIT] [tools/eflete] master 06/06: group_navigator: fix selection after data_del
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=d0b4d55be3e392b1016989590c2f751bd440e70d commit d0b4d55be3e392b1016989590c2f751bd440e70d Author: Andrii KroitorDate: Wed Jul 13 15:33:07 2016 +0300 group_navigator: fix selection after data_del --- src/bin/ui/workspace/group_navigator.c | 22 +++--- src/bin/ui/workspace/group_navigator.h | 2 +- src/bin/ui/workspace/workspace.c | 8 +++- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/bin/ui/workspace/group_navigator.c b/src/bin/ui/workspace/group_navigator.c index e7375fe..2580746 100644 --- a/src/bin/ui/workspace/group_navigator.c +++ b/src/bin/ui/workspace/group_navigator.c @@ -462,6 +462,7 @@ _contract_request_cb(void *data __UNUSED__, static Elm_Object_Item * _part_item_find(Part_List *pl, Part *part); static Elm_Object_Item * _program_glit_find(Part_List *pl, Program *part); +static Elm_Object_Item * _group_data_item_find(Part_List *pl, Resource *group_data); void group_navigator_part_state_select(Evas_Object *obj, State *state) @@ -1844,19 +1845,26 @@ _group_data_del(Part_List *pl, } void -group_navigator_group_data_del(Evas_Object *obj, Eina_Stringshare *group_data __UNUSED__) +group_navigator_group_data_del(Evas_Object *obj, Resource *data) { Part_List *pl = evas_object_data_get(obj, GROUP_NAVIGATOR_DATA); + Elm_Object_Item *data_glit, *to_select; assert(pl != NULL); + assert(data != NULL); + data_glit = _group_data_item_find(pl, data); + + to_select = elm_genlist_item_next_get(data_glit); + + if ((to_select == NULL) || (elm_genlist_item_item_class_get(to_select) != pl->itc_group_data)) + to_select = elm_genlist_item_prev_get(data_glit); + if ((to_select == NULL) || (elm_genlist_item_item_class_get(to_select) != pl->itc_group_data)) + to_select = pl->data_caption_item; + + elm_object_item_del(data_glit); elm_genlist_item_update(pl->data_caption_item); - if (elm_genlist_item_expanded_get(pl->data_caption_item)) - { -elm_genlist_item_expanded_set(pl->data_caption_item, false); -elm_genlist_item_expanded_set(pl->data_caption_item, true); - } - elm_genlist_item_selected_set(pl->data_caption_item, true); + elm_genlist_item_selected_set(to_select, true); } static void diff --git a/src/bin/ui/workspace/group_navigator.h b/src/bin/ui/workspace/group_navigator.h index 223e278..6ef86db 100644 --- a/src/bin/ui/workspace/group_navigator.h +++ b/src/bin/ui/workspace/group_navigator.h @@ -108,7 +108,7 @@ void group_navigator_group_data_add(Evas_Object *obj, Eina_Stringshare *group_data); void -group_navigator_group_data_del(Evas_Object *obj, Eina_Stringshare *group_data); +group_navigator_group_data_del(Evas_Object *obj, Resource *group_data); void group_navigator_add_part_request(Evas_Object *obj); diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c index 6037472..19f7916 100644 --- a/src/bin/ui/workspace/workspace.c +++ b/src/bin/ui/workspace/workspace.c @@ -1750,11 +1750,17 @@ workspace_group_data_add(Evas_Object *obj, Eina_Stringshare *group_data_name) void workspace_group_data_del(Evas_Object *obj, Eina_Stringshare *group_data_name) { + Resource request; + Resource *group_data; WS_DATA_GET(obj); assert(group_data_name != NULL); + request.resource_type = RESOURCE_TYPE_DATA; + request.name = group_data_name; + group_data = resource_get(wd->group->data_items, ); + + group_navigator_group_data_del(wd->group_navi, group_data); gm_group_data_del(ap.project, wd->group, group_data_name); - group_navigator_group_data_del(wd->group_navi, group_data_name); } void --
[EGIT] [tools/eflete] master 04/06: group_navigator: fix selection after item_del
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=4314334e52caea272af934b17e73a591948df79f commit 4314334e52caea272af934b17e73a591948df79f Author: Andrii KroitorDate: Wed Jul 13 15:03:26 2016 +0300 group_navigator: fix selection after item_del --- src/bin/ui/workspace/group_navigator.c | 36 ++ src/bin/ui/workspace/group_navigator.h | 2 +- src/bin/ui/workspace/workspace.c | 9 - 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/src/bin/ui/workspace/group_navigator.c b/src/bin/ui/workspace/group_navigator.c index e15f361..2c6922f 100644 --- a/src/bin/ui/workspace/group_navigator.c +++ b/src/bin/ui/workspace/group_navigator.c @@ -2108,26 +2108,46 @@ _item_del(Part_List *pl, } void -group_navigator_part_item_del(Evas_Object *obj, Part *part __UNUSED__, Eina_Stringshare *item_name) +group_navigator_part_item_del(Evas_Object *obj, Part_Item *item) { - Elm_Object_Item *part_item; + Elm_Object_Item *part_item, *to_select; Part_List *pl = evas_object_data_get(obj, GROUP_NAVIGATOR_DATA); - Elm_Object_Item *items_glit; + Elm_Object_Item *items_glit, *item_glit; + Part_Item *it; + const Eina_List *part_items; assert(pl != NULL); - assert(pl->part != NULL); - assert(item_name != NULL); + assert(item != NULL); - part_item = _part_item_find(pl, part); + part_item = _part_item_find(pl, item->part); assert(part_item != NULL); elm_genlist_item_expanded_set(part_item, true); items_glit = eina_list_data_get(eina_list_last(elm_genlist_item_subitems_get(part_item))); + elm_genlist_item_expanded_set(items_glit, true); - elm_genlist_item_expanded_set(items_glit, false); + part_items = elm_genlist_item_subitems_get(items_glit); + item_glit = eina_list_data_get(part_items); + it = elm_object_item_data_get(item_glit); + while (it != item) + { +part_items = eina_list_next(part_items); +item_glit = eina_list_data_get(part_items); +it = elm_object_item_data_get(item_glit); + } + assert(item_glit != NULL); + + to_select = elm_genlist_item_next_get(item_glit); + + if ((to_select == NULL) || (elm_genlist_item_item_class_get(to_select) != pl->itc_item)) + to_select = elm_genlist_item_prev_get(item_glit); + if ((to_select == NULL) || (elm_genlist_item_item_class_get(to_select) != pl->itc_item)) + to_select = items_glit; + + elm_object_item_del(item_glit); elm_genlist_item_update(items_glit); - elm_genlist_item_expanded_set(items_glit, true); + elm_genlist_item_selected_set(to_select, true); } static void diff --git a/src/bin/ui/workspace/group_navigator.h b/src/bin/ui/workspace/group_navigator.h index 47eb6cc..4c6d758 100644 --- a/src/bin/ui/workspace/group_navigator.h +++ b/src/bin/ui/workspace/group_navigator.h @@ -81,7 +81,7 @@ void group_navigator_part_item_add(Evas_Object *obj, Part *part, Eina_Stringshare * item_name); void -group_navigator_part_item_del(Evas_Object *obj, Part *part, Eina_Stringshare * item_name); +group_navigator_part_item_del(Evas_Object *obj, Part_Item *item); void group_navigator_part_state_add(Evas_Object *obj, Part *part, State *state); diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c index d4ff4d6..ea9b319 100644 --- a/src/bin/ui/workspace/workspace.c +++ b/src/bin/ui/workspace/workspace.c @@ -1551,6 +1551,7 @@ workspace_part_item_del(Evas_Object *obj, Eina_Stringshare *item_name) { Part *part; + Part_Item *item; Resource request; WS_DATA_GET(obj); assert(part_name != NULL); @@ -1563,9 +1564,15 @@ workspace_part_item_del(Evas_Object *obj, assert((part->type == EDJE_PART_TYPE_TABLE) || (part->type == EDJE_PART_TYPE_BOX)); + request.resource_type = RESOURCE_TYPE_ITEM; + request.name = item_name; + item = (Part_Item *)resource_get(part->items, ); + + assert(item != NULL); + group_navigator_select(wd->group_navi, (Resource *)part); + group_navigator_part_item_del(wd->group_navi, item); gm_part_item_del(ap.project, part, item_name); - group_navigator_part_item_del(wd->group_navi, part, item_name); } void --
[EGIT] [website/www-content] master 01/01: about enventor: updated content.
hermet pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=2f9ccfb9b34a1f036739d5325c23bc82e1259bbe commit 2f9ccfb9b34a1f036739d5325c23bc82e1259bbe Author: Hermet ParkDate: Wed Jul 13 21:03:07 2016 +0900 about enventor: updated content. --- media/enventor-autocomplete.png | Bin 110676 -> 34834 bytes media/enventor-candidate.png | Bin 0 -> 33755 bytes media/enventor-candidate1.png| Bin 104095 -> 0 bytes media/enventor-candidate2.png| Bin 102057 -> 0 bytes media/enventor-candidate3.png| Bin 111879 -> 0 bytes media/enventor-colorselector.png | Bin 0 -> 39549 bytes media/enventor-highlight.png | Bin 0 -> 74382 bytes media/enventor-preview.png | Bin 0 -> 39347 bytes media/enventor-reference.png | Bin 0 -> 31910 bytes media/enventor-slider.png| Bin 0 -> 34042 bytes pages/about-enventor.txt | 51 ++- 11 files changed, 39 insertions(+), 12 deletions(-) diff --git a/media/enventor-autocomplete.png b/media/enventor-autocomplete.png index e53f9f1..8bdcefc 100644 Binary files a/media/enventor-autocomplete.png and b/media/enventor-autocomplete.png differ diff --git a/media/enventor-candidate.png b/media/enventor-candidate.png new file mode 100644 index 000..480c4e9 Binary files /dev/null and b/media/enventor-candidate.png differ diff --git a/media/enventor-candidate1.png b/media/enventor-candidate1.png deleted file mode 100644 index 632d44e..000 Binary files a/media/enventor-candidate1.png and /dev/null differ diff --git a/media/enventor-candidate2.png b/media/enventor-candidate2.png deleted file mode 100644 index 43733d3..000 Binary files a/media/enventor-candidate2.png and /dev/null differ diff --git a/media/enventor-candidate3.png b/media/enventor-candidate3.png deleted file mode 100644 index 65641fa..000 Binary files a/media/enventor-candidate3.png and /dev/null differ diff --git a/media/enventor-colorselector.png b/media/enventor-colorselector.png new file mode 100644 index 000..85b472e Binary files /dev/null and b/media/enventor-colorselector.png differ diff --git a/media/enventor-highlight.png b/media/enventor-highlight.png new file mode 100644 index 000..a428e64 Binary files /dev/null and b/media/enventor-highlight.png differ diff --git a/media/enventor-preview.png b/media/enventor-preview.png new file mode 100644 index 000..2075d7d Binary files /dev/null and b/media/enventor-preview.png differ diff --git a/media/enventor-reference.png b/media/enventor-reference.png new file mode 100644 index 000..47e26a9 Binary files /dev/null and b/media/enventor-reference.png differ diff --git a/media/enventor-slider.png b/media/enventor-slider.png new file mode 100644 index 000..04fd629 Binary files /dev/null and b/media/enventor-slider.png differ diff --git a/pages/about-enventor.txt b/pages/about-enventor.txt index 2b2da52..3668627 100644 --- a/pages/about-enventor.txt +++ b/pages/about-enventor.txt @@ -5,9 +5,11 @@ {{:icon-enventor.png?nolink |}} +Enventor, which is also known as EDC (Edje Data Collections) Editor, is a useful EDC script editor tool that supports text edit function and preview function for the EDC source code. + {{ :enventor-main.png?&300|}} -Enventor, which is also known as EDC (Edje Data Collections) Editor, is a useful EDC script editor tool that supports text edit function and preview function for the EDC source code. When your application requires realtime changeable layouts like animative ones, then you could write those layout design using EDC script, compile it to EDJ format file then import it into your application using a UI layout. But not only for that, you can write any kinds of design layouts from simple to comp [...] +When your application requires realtime changeable layouts like animative ones, then you could write those layout design using EDC script, compile it to EDJ format file then import it into your application using a UI layout. But not only for that, you can write any kinds of design layouts from simple to complex ones if you use EDC script with Enventor. Enventor helps you write EDC script code eaiser and finish your work faster. If you are not familiar with EDC programming, then please vi [...] === About Enventor === @@ -27,8 +29,9 @@ Basically, Enventor view is divided into 2 sections, live view and text view. Th The following figure illustrates each layout section of Enventor. +{{ :enventor-layout.png?&400|}} + * Red: Toolbar -{{ :enventor-layout.png?&300|}} * Cyan: File browser * Green: Live view * Blue: Text view @@ -39,11 +42,11 @@ The following figure illustrates each layout section of Enventor. ==Using Text View== -Enventor text view mainly supports text editing. You can write and modify EDC source code in this view. Once part sections are written in the text view and the modified EDC source code is saved,
[EGIT] [core/efl] master 01/01: [Bug] EFL memory leak on Windows(handler continuously increasing)
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4387f34b5475bdf6136a12fdf791efe3131d07ac commit 4387f34b5475bdf6136a12fdf791efe3131d07ac Author: Ivan FursDate: Wed Jul 13 21:01:50 2016 +0900 [Bug] EFL memory leak on Windows(handler continuously increasing) Summary: Fix: event need to clese when create event: event = WSACreateEvent(); Reviewers: bowonryu, herb, Jaehyun, thiepha, Hermet, jaehwan, cedric, raster Reviewed By: raster Subscribers: NikaWhite, reutskiy.v.v, artem.popov Differential Revision: https://phab.enlightenment.org/D4157 --- src/lib/ecore/ecore_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index 999b3f8..354edc9 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -2603,9 +2603,8 @@ _ecore_main_win32_select(int nfds EINA_UNUSED, if (timeout == 0) { -free(objects); -free(sockets); -return 0; +res = 0; +goto err; } result = _ecore_main_win32_objects_wait(objects_nbr, @@ -2701,6 +2700,7 @@ _ecore_main_win32_select(int nfds EINA_UNUSED, res = -1; } +err : /* Remove event objects again */ for (i = 0; i < events_nbr; i++) WSACloseEvent(objects[i]); --
[EGIT] [tools/eflete] master 01/01: property_textblock: update GLOW_SHADOW_DIRECTION combobox on value change
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=ab16de3b7b577e151af4a1349bc4d29cbc4a4c64 commit ab16de3b7b577e151af4a1349bc4d29cbc4a4c64 Author: Vitalii VorobiovDate: Wed Jul 13 14:03:49 2016 +0300 property_textblock: update GLOW_SHADOW_DIRECTION combobox on value change @fix --- src/bin/ui/property/property_textblock.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/ui/property/property_textblock.c b/src/bin/ui/property/property_textblock.c index 1621078..4516580 100644 --- a/src/bin/ui/property/property_textblock.c +++ b/src/bin/ui/property/property_textblock.c @@ -781,6 +781,7 @@ _change_cb(Property_Attribute *pa, Property_Action *action) assert(cb_item != NULL); eina_stringshare_del(style_table[DIRECTION_NUM][1]); style_table[DIRECTION_NUM][1] = eina_stringshare_add(cb_item->data); + tpd.direction = cb_item->index; _tag_parse(cb_item->data, "direction"); _style_edit_update(); ap.project->changed = true; --
[EGIT] [core/efl] master 01/01: ecore_evas_extn: Check whether server_data sender is client's server.
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1733b09e1b33b8a25dfee3731e8097db3b97b136 commit 1733b09e1b33b8a25dfee3731e8097db3b97b136 Author: Minkyoung KimDate: Wed Jul 13 21:00:07 2016 +0900 ecore_evas_extn: Check whether server_data sender is client's server. Summary: Sometimes, In ipc_server_data, extn->ipc.server's data is different with e->server's data. The case is as follows. Process'A' has a server. Process'B' has 'A's client(ee address : 0xB0). Process'B's client die, and 'B's server created. and server's ee address is same with destroyed client's ee(0xB0). At the same time, 'A's server send the message to 'B's client. but 'B's client is died! so _ipc_server_data would manipulate 'B's server data. Test Plan: Tizen Mobile Text. Reviewers: raster, spacegrapher, jpeg, wonsik, dkdk Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D4158 --- src/modules/ecore_evas/engines/extn/ecore_evas_extn.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c index 06f1ca8..d705df3 100644 --- a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c +++ b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c @@ -986,6 +986,8 @@ _ipc_server_data(void *data, int type EINA_UNUSED, void *event) if (!extn) return ECORE_CALLBACK_PASS_ON; if (e->major != MAJOR) return ECORE_CALLBACK_PASS_ON; + if (ee != ecore_ipc_server_data_get(extn->ipc.server)) + return ECORE_CALLBACK_PASS_ON; switch (e->minor) { case OP_UPDATE: --
[EGIT] [core/efl] master 01/01: Revert "edje_cc: Fix minor coverity defect"
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9f77c5ab55316ea27dcac7df48f8d4abcb1f1c02 commit 9f77c5ab55316ea27dcac7df48f8d4abcb1f1c02 Author: Carsten Haitzler (Rasterman)Date: Wed Jul 13 20:54:04 2016 +0900 Revert "edje_cc: Fix minor coverity defect" This reverts commit 0106455588a7390f36bae9ac6d789e94410a5216. breaks edje_cc :( spin 100% cpu building terminology themes --- src/bin/edje/edje_cc_sources.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/edje/edje_cc_sources.c b/src/bin/edje/edje_cc_sources.c index 1bd73af..3f119bb 100644 --- a/src/bin/edje/edje_cc_sources.c +++ b/src/bin/edje/edje_cc_sources.c @@ -185,6 +185,8 @@ source_fetch_file(const char *fil, const char *filname) else p++; } + +got_hash = 0; } if ((file) && (fname)) source_fetch_file(file, fname); --
[EGIT] [tools/eflete] master 02/02: project_manager: temporary fix thread blocking when imported edc contain scripts
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e6f5055353da08540421c2a53b49ccfb0131e348 commit e6f5055353da08540421c2a53b49ccfb0131e348 Author: Vitalii VorobiovDate: Wed Jul 13 12:33:49 2016 +0300 project_manager: temporary fix thread blocking when imported edc contain scripts @fix --- src/bin/project_manager/project_manager.c | 45 +++ 1 file changed, 45 insertions(+) diff --git a/src/bin/project_manager/project_manager.c b/src/bin/project_manager/project_manager.c index 48d9bfd..2363b3c 100644 --- a/src/bin/project_manager/project_manager.c +++ b/src/bin/project_manager/project_manager.c @@ -539,6 +539,21 @@ static void * _project_import_edc(void *data, Eina_Thread *thread __UNUSED__) { + /** +* Comment by Andrii: +* | problem with edje_cc is that it uses child process itself: +* | when we create thread SIGCHLD is blocked for that +* | thread by commit aeeda1f77d1b21b15e916852baac06bb530618e2, +* | when we run edje_cc from that thread it's process +* | inherits all blocked signals edje_cc starts embryo compiler +* | if group has scripts it waits for child(compiler) +* | process termination, but never receives it because of blocked SIGCHLD +*/ + sigset_t oldset, newset; + sigemptyset(); + sigaddset(, SIGCHLD); + sigprocmask(SIG_UNBLOCK, , ); + Eina_Bool send_end_child; Eina_Bool send_end = (data) ? (*(Eina_Bool *)data) : true; @@ -1577,6 +1592,21 @@ static void * _release_export(void *data __UNUSED__, Eina_Thread *thread __UNUSED__) { + /** +* Comment by Andrii: +* | problem with edje_cc is that it uses child process itself: +* | when we create thread SIGCHLD is blocked for that +* | thread by commit aeeda1f77d1b21b15e916852baac06bb530618e2, +* | when we run edje_cc from that thread it's process +* | inherits all blocked signals edje_cc starts embryo compiler +* | if group has scripts it waits for child(compiler) +* | process termination, but never receives it because of blocked SIGCHLD +*/ + sigset_t oldset, newset; + sigemptyset(); + sigaddset(, SIGCHLD); + sigprocmask(SIG_UNBLOCK, , ); + Eina_Tmpstr *tmp_dirname; Eina_Strbuf *cmd; Ecore_Exe *exe_cmd; @@ -1754,6 +1784,21 @@ static void * _enventor_save(void *data __UNUSED__, Eina_Thread *thread __UNUSED__) { + /** +* Comment by Andrii: +* | problem with edje_cc is that it uses child process itself: +* | when we create thread SIGCHLD is blocked for that +* | thread by commit aeeda1f77d1b21b15e916852baac06bb530618e2, +* | when we run edje_cc from that thread it's process +* | inherits all blocked signals edje_cc starts embryo compiler +* | if group has scripts it waits for child(compiler) +* | process termination, but never receives it because of blocked SIGCHLD +*/ + sigset_t oldset, newset; + sigemptyset(); + sigaddset(, SIGCHLD); + sigprocmask(SIG_UNBLOCK, , ); + Ecore_Event_Handler *cb_msg_stdout = NULL, *cb_msg_stderr = NULL; Ecore_Exe_Flags flags = ECORE_EXE_PIPE_READ | --
[EGIT] [tools/eflete] master 01/02: property_group: allow to put 0 font size for text
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e13445ee98887b7d3785db15ba6e000c262f21d3 commit e13445ee98887b7d3785db15ba6e000c262f21d3 Author: Vitalii VorobiovDate: Tue Jul 12 18:02:13 2016 +0300 property_group: allow to put 0 font size for text with 0 - source is working --- src/bin/ui/property/property_group.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/ui/property/property_group.c b/src/bin/ui/property/property_group.c index 1f97891..3c81295 100644 --- a/src/bin/ui/property/property_group.c +++ b/src/bin/ui/property/property_group.c @@ -878,10 +878,10 @@ _init_cb(Property_Attribute *pa, Property_Action *action) case ATTRIBUTE_STATE_MAP_POINT_COLOR_3: case ATTRIBUTE_STATE_MAP_POINT_COLOR_4: break; - case ATTRIBUTE_STATE_TEXT_SIZE: case ATTRIBUTE_STATE_MAP_PERSPECTIVE_FOCAL: elm_spinner_min_max_set(action->control, 1, ); break; + case ATTRIBUTE_STATE_TEXT_SIZE: case ATTRIBUTE_STATE_MAP_PERSPECTIVE_ZPLANE: elm_spinner_min_max_set(action->control, 0, ); break; --
[EGIT] [core/efl] master 01/01: elm tooltips - fix positioning and more to be sane and have less bugs
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7fda68dc47d5e82e3d9cc5929114dd3ac71a41e8 commit 7fda68dc47d5e82e3d9cc5929114dd3ac71a41e8 Author: Carsten Haitzler (Rasterman)Date: Wed Jul 13 18:37:21 2016 +0900 elm tooltips - fix positioning and more to be sane and have less bugs the tooltip geometry code was extra complex and iffy with certain situations. this cleans it up and also fixes the below bug this fixes T3980 @fix --- src/lib/elementary/els_tooltip.c | 197 ++- 1 file changed, 49 insertions(+), 148 deletions(-) diff --git a/src/lib/elementary/els_tooltip.c b/src/lib/elementary/els_tooltip.c index ceb5d72..4ca0450 100644 --- a/src/lib/elementary/els_tooltip.c +++ b/src/lib/elementary/els_tooltip.c @@ -358,7 +358,8 @@ _elm_tooltip_reconfigure_orient(Elm_Tooltip *tt, static void _elm_tooltip_reconfigure(Elm_Tooltip *tt) { - Evas_Coord ox, oy, ow, oh, px = 0, py = 0, tx, ty, tw, th, cw = 0, ch = 0; + Evas_Coord ox, oy, ow, oh, px = 0, py = 0, tx, ty, tw, th; + Evas_Coord cx = 0, cy = 0, cw = 0, ch = 0; Evas_Coord eminw, eminh, ominw, ominh; double rel_x, rel_y; Eina_Bool inside_eventarea; @@ -487,17 +488,17 @@ _elm_tooltip_reconfigure(Elm_Tooltip *tt) if (tt->tt_win) { -#ifdef HAVE_ELEMENTARY_X -Evas_Object *win = elm_widget_top_get(tt->owner); -Ecore_X_Window xwin = elm_win_xwindow_get(win); -if (xwin) - ecore_x_window_size_get(ecore_x_window_root_get(xwin), , ); -#endif -if (!cw) - elm_win_screen_size_get(elm_widget_top_get(tt->owner), NULL, NULL, , ); +elm_win_screen_size_get(elm_widget_top_get(tt->owner), +NULL, NULL, , ); +elm_win_screen_position_get(elm_widget_top_get(tt->owner), +, ); +evas_canvas_pointer_canvas_xy_get(tt->evas, , ); + } + else + { +evas_output_size_get(tt->evas, , ); +evas_canvas_pointer_canvas_xy_get(tt->evas, , ); } - if (!cw) - evas_output_size_get(tt->tt_evas ? tt->tt_evas : tt->evas, , ); TTDBG("SCREEN: cw=%d,ch=%d\n", cw, ch); evas_object_geometry_get(tt->eventarea, , , , ); @@ -508,162 +509,58 @@ _elm_tooltip_reconfigure(Elm_Tooltip *tt) ox = oy = 0; TTDBG("EVENTAREA: ox=%d,oy=%d,ow=%d,oh=%d\n", ox, oy, ow, oh); - if (tt->tt_win) - { -int x, y; -Evas_Object *win = elm_widget_top_get(tt->owner); -#ifdef HAVE_ELEMENTARY_X -Ecore_X_Window xwin = elm_win_xwindow_get(win); -if (xwin) - ecore_x_pointer_xy_get(xwin, , ); -#endif -elm_win_screen_position_get(win, , ); -ox += x; -if (px) px += x; -oy += y; -if (py) py += y; - } - else - evas_pointer_canvas_xy_get(tt->evas, , ); - TTDBG("POINTER: px=%d,py=%d\n", px, py); inside_eventarea = ((px >= ox) && (py >= oy) && - (px <= ox + ow) && (py <= oy + oh)); + (px <= (ox + ow)) && (py <= (oy + oh))); if (inside_eventarea) { /* try to position bottom right corner at pointer */ -tx = px - tw; -ty = py - th; -TTDBG("INIT (EVENTAREA)\n"); +tx = cx + px - tw; +ty = cy + py - th; +if (tx < 0) tx = 0; +if (ty < 0) ty = 0; +if (tx > cw) tx = cw - tw; +if (ty > ch) ty = ch - th; + +if (ow > 1) rel_x = (double)((ox + (ow / 2)) - ((tx - cx) + (tw / 2))) / (double)(ow / 2); +else rel_x = 0; +if (oh > 1) rel_y = (double)((oy + (oh / 2)) - ((ty - cy) + (th / 2))) / (double)(oh / 2); +else rel_y = 0; } else { /* try centered on middle of eventarea */ tx = ox + (ow / 2) - (tw / 2); -if (0 > (th - oy - oh)) ty = oy + th; -else ty = oy - oh; -TTDBG("INIT (INTERPRETED)\n"); - } - TTDBG("ADJUST (POINTER): tx=%d,ty=%d\n", tx, ty); - if ((tx < 0) || (tx + tw > cw)) - { -if (tx < 0) +if (py < oy) { - /* if we're offscreen to the left, try to flip over the Y axis */ - if (abs((tx + 2 * tw) - cw) < abs(tx)) - tx += tw; - else - tx = 0; + ty = oy - th; + if (ty < 0) ty = oy + oh; + if ((ty + th) > ch) ty = ch - th; } -else if (tx + tw > cw) +else { - int test_x = tx - tw; - - /* if we're offscreen to the right, try to flip over the Y axis */ - if ((test_x >= 0) || (tx + tw - cw > abs(test_x))) - tx -= tw; - else - tx = cw - tw; - } - } - else if ((tx > px) && (px > tw)) - { -if (tx + tw < cw) - tx += tw; - } - if ((ty < 0) || (ty + th > ch)) - { -if
[EGIT] [core/efl] master 08/12: evas: Fix some CID in generic loaders
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3ad848f5c5a580d0c07178c457a687b2bd99de2b commit 3ad848f5c5a580d0c07178c457a687b2bd99de2b Author: Jean-Philippe AndreDate: Wed Jul 13 15:21:06 2016 +0900 evas: Fix some CID in generic loaders Check the return value of fwrite. There is nothing sensible to do as the receiver needs to handle the error gracefully. CID 1356613, 1356614, 1356615, 1356200 --- src/generic/evas/pdf/main.cpp | 7 ++- src/generic/evas/ps/main.c| 7 ++- src/generic/evas/svg/main.c | 7 ++- src/generic/evas/xcf/main.c | 7 ++- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/generic/evas/pdf/main.cpp b/src/generic/evas/pdf/main.cpp index 8623179..eab137b 100644 --- a/src/generic/evas/pdf/main.cpp +++ b/src/generic/evas/pdf/main.cpp @@ -321,7 +321,12 @@ main(int argc, char **argv) // could also to "tmpfile %s\n" like shmfile but just // a mmaped tmp file on the system printf("data\n"); - fwrite(data, crop_width * crop_height * sizeof(DATA32), 1, stdout); + if (fwrite(data, crop_width * crop_height * sizeof(DATA32), 1, stdout) != 1) + { + // nothing much to do, the receiver will simply ignore the + // data as it's too short + D("fwrite failed (%d bytes): %m\n", crop_width * crop_height * sizeof(DATA32)); + } } shm_free(); } diff --git a/src/generic/evas/ps/main.c b/src/generic/evas/ps/main.c index 48e8a4b..c5b8a18 100644 --- a/src/generic/evas/ps/main.c +++ b/src/generic/evas/ps/main.c @@ -276,7 +276,12 @@ main(int argc, char **argv) // could also to "tmpfile %s\n" like shmfile but just // a mmaped tmp file on the system printf("data\n"); - fwrite(data, width * height * sizeof(DATA32), 1, stdout); + if (fwrite(data, width * height * sizeof(DATA32), 1, stdout) != 1) + { + // nothing much to do, the receiver will simply ignore the + // data as it's too short + D("fwrite failed (%d bytes): %m\n", width * height * sizeof(DATA32)); + } } shm_free(); } diff --git a/src/generic/evas/svg/main.c b/src/generic/evas/svg/main.c index 8c46708..f197330 100644 --- a/src/generic/evas/svg/main.c +++ b/src/generic/evas/svg/main.c @@ -218,7 +218,12 @@ int main(int argc, char **argv) else { printf("data\n"); - fwrite(shm_addr, width * height * sizeof(DATA32), 1, stdout); + if (fwrite(shm_addr, width * height * sizeof(DATA32), 1, stdout) != 1) +{ + // nothing much to do, the receiver will simply ignore the + // data as it's too short + //D("fwrite failed (%d bytes): %m\n", width * height * sizeof(DATA32)); +} } shm_free(); } diff --git a/src/generic/evas/xcf/main.c b/src/generic/evas/xcf/main.c index 4de03f8..c5ef6a8 100644 --- a/src/generic/evas/xcf/main.c +++ b/src/generic/evas/xcf/main.c @@ -1723,7 +1723,12 @@ main(int argc, char **argv) // could also to "tmpfile %s\n" like shmfile but just // a mmaped tmp file on the system printf("data\n"); - fwrite(image->data, w * h * sizeof(DATA32), 1, stdout); + if (fwrite(image->data, w * h * sizeof(DATA32), 1, stdout) != 1) + { +// nothing much to do, the receiver will simply ignore the +// data as it's too short +D("fwrite failed (%d bytes): %m\n", w * h * sizeof(DATA32)); + } } shm_free(); } --
[EGIT] [core/efl] master 07/12: pdf: Tentative implementation of mono support
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0368adfcba149c17a25eaf1ab2291ec89d303506 commit 0368adfcba149c17a25eaf1ab2291ec89d303506 Author: Jean-Philippe AndreDate: Wed Jul 13 15:04:53 2016 +0900 pdf: Tentative implementation of mono support No idea if it's correct, since I have no sample. Also, simplify ARGB code. --- src/generic/evas/pdf/main.cpp | 22 -- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/generic/evas/pdf/main.cpp b/src/generic/evas/pdf/main.cpp index 097f057..8623179 100644 --- a/src/generic/evas/pdf/main.cpp +++ b/src/generic/evas/pdf/main.cpp @@ -154,7 +154,21 @@ void poppler_load_image(int size_w EINA_UNUSED, int size_h EINA_UNUSED) if (out.format() == image::format_mono) { -//FIXME no idea what this format is like +// Looks like this is 1 bit per pixel, padded to a single byte. +// The problem is testing. I have no sample (and no doc). + +uint8_t *src; +for (y = 0; y < crop_height; y++) + { + src = (uint8_t *) out.data() + y * crop_width; + for (x = 0; x < crop_width; x++) + { + int bit = x & 0x7; + int c = (*src & (1 << bit)) ? 0xFF : 0x00; + *dst++ = ARGB_JOIN(0xFF, c, c, c); + if (x & 0x7 == 0x7) src++; + } + } } if (out.format() == image::format_rgb24) { @@ -172,11 +186,7 @@ void poppler_load_image(int size_w EINA_UNUSED, int size_h EINA_UNUSED) src = (DATA32*) out.data(); IMAGE_PIXEL_ITERATOR - { - int pos = x+y*crop_width; - - dst[pos] = src[pos]; - } + *dst++ = *src++; } end: --
[EGIT] [core/efl] master 04/12: elm test: Shut up coverity warning
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bed1e28d8505f9c013ef3f7b5edeb284c2736855 commit bed1e28d8505f9c013ef3f7b5edeb284c2736855 Author: Jean-Philippe AndreDate: Wed Jul 13 12:58:43 2016 +0900 elm test: Shut up coverity warning CID 1354839 It was non-sensical as there would be no iterator if there are no children. --- src/bin/elementary/test_ui_box.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/elementary/test_ui_box.c b/src/bin/elementary/test_ui_box.c index 7c83b4a..435376f 100644 --- a/src/bin/elementary/test_ui_box.c +++ b/src/bin/elementary/test_ui_box.c @@ -158,6 +158,8 @@ _custom_engine_layout_do(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED, // Note: This is a TERRIBLE layout. Just an example of the API, not showing // how to write a proper layout function. + if (!count) return; + efl_gfx_geometry_get(pack, , , , ); EINA_ITERATOR_FOREACH(it, sobj) { --
[EGIT] [core/efl] master 11/12: gfx: Add NULL check to silence coverity
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9cf72fe80a81cabb36f40e6186852b78750cc48d commit 9cf72fe80a81cabb36f40e6186852b78750cc48d Author: Jean-Philippe AndreDate: Wed Jul 13 16:16:02 2016 +0900 gfx: Add NULL check to silence coverity realloc() can return NULL if size is 0. It's like free(). So, the usage here is correct, and there are probably no points to interpolate between anyway. I wonder if there can be commands without points, though. Fixes CID 1293004 --- src/lib/efl/interfaces/efl_gfx_shape.c | 29 - 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c b/src/lib/efl/interfaces/efl_gfx_shape.c index 415265f..11b38a6 100644 --- a/src/lib/efl/interfaces/efl_gfx_shape.c +++ b/src/lib/efl/interfaces/efl_gfx_shape.c @@ -318,7 +318,7 @@ _efl_gfx_shape_interpolate(Eo *obj, Efl_Gfx_Shape_Data *pd, Efl_Gfx_Path_Command *cmds; Efl_Gfx_Property property_from, property_to; Efl_Gfx_Dash *dash = NULL; - double *pts, *from_pts, *to_pts; + double *pts; unsigned int i, j; from_pd = eo_data_scope_get(from, EFL_GFX_SHAPE_MIXIN); @@ -351,18 +351,21 @@ _efl_gfx_shape_interpolate(Eo *obj, Efl_Gfx_Shape_Data *pd, memcpy(cmds, from_pd->commands, sizeof (Efl_Gfx_Path_Command) * from_pd->commands_count); -to_pts = to_pd->points; -from_pts = from_pd->points; - -for (i = 0; cmds[i] != EFL_GFX_PATH_COMMAND_TYPE_END; i++) - for (j = 0; j < _efl_gfx_path_command_length(cmds[i]); j++) -{ - *pts = interpolate(*from_pts, *to_pts, pos_map); - - pts++; - from_pts++; - to_pts++; -} +if (pts) + { + double *to_pts = to_pd->points; + double *from_pts = from_pd->points; + + for (i = 0; cmds[i] != EFL_GFX_PATH_COMMAND_TYPE_END; i++) + for (j = 0; j < _efl_gfx_path_command_length(cmds[i]); j++) + { +*pts = interpolate(*from_pts, *to_pts, pos_map); + +pts++; +from_pts++; +to_pts++; + } + } } pd->points_count = from_pd->points_count; --
[EGIT] [core/efl] master 10/12: edje: Fix coverity warning
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1b6825d3fef6307b5bd93b7160b97dcae0143f73 commit 1b6825d3fef6307b5bd93b7160b97dcae0143f73 Author: Jean-Philippe AndreDate: Wed Jul 13 15:44:58 2016 +0900 edje: Fix coverity warning CID 1355234 Logically dead code The indicated dead code may have performed some action; that action will never occur. In eet_data_descriptor_element_add: Code can never be reached because of a logical contradiction (CWE-561) Solution: use explicit range within valid values with <= and >= rather than excluded values with > and < --- src/lib/eet/eet_data.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/lib/eet/eet_data.c b/src/lib/eet/eet_data.c index 0df96af..35ef7fb 100644 --- a/src/lib/eet/eet_data.c +++ b/src/lib/eet/eet_data.c @@ -2223,9 +2223,8 @@ eet_data_descriptor_element_add(Eet_Data_Descriptor *edd, */ if ((group_type > EET_G_UNKNOWN) && (group_type < EET_G_LAST) - && (((type > EET_T_UNKNOW) && (type < EET_T_STRING)) - || ((type > EET_T_NULL) && (type < EET_T_VALUE)) - || ((type > EET_T_VALUE) && (type < EET_T_LAST))) + && (((type >= EET_T_CHAR) && (type <= EET_T_ULONG_LONG)) + || ((type >= EET_T_F32P32) && (type <= EET_T_F8P24))) && (!subtype)) { subtype = calloc(1, sizeof (Eet_Data_Descriptor)); --
[EGIT] [core/efl] master 01/12: edje_pick: Fix use after free
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=82f546fc1fd7a2c85c3eb415b0cbf7bab8bbb088 commit 82f546fc1fd7a2c85c3eb415b0cbf7bab8bbb088 Author: Jean-Philippe AndreDate: Wed Jul 13 11:16:33 2016 +0900 edje_pick: Fix use after free Fixes CID 1267458 (trying again) --- src/bin/edje/edje_pick.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/edje/edje_pick.c b/src/bin/edje/edje_pick.c index 7b5d73d..ce34ed5 100644 --- a/src/bin/edje/edje_pick.c +++ b/src/bin/edje/edje_pick.c @@ -1474,12 +1474,12 @@ main(int argc, char **argv) } free(edc); - _edje_cache_file_unref(edf); edje_cache_emp_free(ce); eet_close(ef); } _edje_pick_images_copy(edf, out_file); /* Add Images to imagelist */ +_edje_cache_file_unref(edf); /* We SKIP writing source, just can't compose it */ /* FIXME: use Edje_Edit code to generate source */ --
[EGIT] [core/efl] master 09/12: edje: Add missing 'break' in edje_embryo switch
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cdc8d15a5ca0eb478882e670af89fa914ffec8ce commit cdc8d15a5ca0eb478882e670af89fa914ffec8ce Author: Jean-Philippe AndreDate: Wed Jul 13 15:33:13 2016 +0900 edje: Add missing 'break' in edje_embryo switch Fixes CID: 1352521 1352522 1352523 1352524 1352525 See 4ed9b8325 --- src/lib/edje/edje_embryo.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c index 9c5c124..a246499 100644 --- a/src/lib/edje/edje_embryo.c +++ b/src/lib/edje/edje_embryo.c @@ -2732,6 +2732,8 @@ _edje_embryo_fn_set_state_val(Embryo_Program *ep, Embryo_Cell *params) box = (Edje_Part_Description_Box *)rp->custom->description; box->box.layout = s; + + break; } case EDJE_STATE_PARAM_BOX_FALLBACK_LAYOUT: @@ -2745,6 +2747,8 @@ _edje_embryo_fn_set_state_val(Embryo_Program *ep, Embryo_Cell *params) box = (Edje_Part_Description_Box *)rp->custom->description; box->box.alt_layout = s; + + break; } case EDJE_STATE_PARAM_BOX_ALIGN: @@ -2756,6 +2760,8 @@ _edje_embryo_fn_set_state_val(Embryo_Program *ep, Embryo_Cell *params) box = (Edje_Part_Description_Box *)rp->custom->description; GETFLOAT_T(box->box.align.x, params[3]); GETFLOAT_T(box->box.align.y, params[4]); + + break; } case EDJE_STATE_PARAM_BOX_PADDING: @@ -2767,6 +2773,8 @@ _edje_embryo_fn_set_state_val(Embryo_Program *ep, Embryo_Cell *params) box = (Edje_Part_Description_Box *)rp->custom->description; GETINT(box->box.padding.x, params[3]); GETINT(box->box.padding.y, params[4]); + + break; } case EDJE_STATE_PARAM_BOX_MIN: @@ -2778,6 +2786,8 @@ _edje_embryo_fn_set_state_val(Embryo_Program *ep, Embryo_Cell *params) box = (Edje_Part_Description_Box *)rp->custom->description; GETINT(box->box.min.h, params[3]); GETINT(box->box.min.v, params[4]); + + break; } #ifdef HAVE_EPHYSICS --
[EGIT] [core/efl] master 05/12: embro_cc: Shut up some coverity warning
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3d16cdc67e66642e12279edeb5c90438e9dc7f21 commit 3d16cdc67e66642e12279edeb5c90438e9dc7f21 Author: Jean-Philippe AndreDate: Wed Jul 13 13:16:34 2016 +0900 embro_cc: Shut up some coverity warning CID 1039677 1039678 1039679 The expression's value does not depend on the operands; often, this represents an inadvertent logic error. In doarg: An operation with non-constant operands that computes a result with constant value (CWE-569) cell is defined as an int, not a long, so it can't be > INT_MAX. --- src/bin/embryo/embryo_cc_amx.h | 1 + src/bin/embryo/embryo_cc_sc1.c | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/bin/embryo/embryo_cc_amx.h b/src/bin/embryo/embryo_cc_amx.h index 0118e2d..5a00e52 100644 --- a/src/bin/embryo/embryo_cc_amx.h +++ b/src/bin/embryo/embryo_cc_amx.h @@ -47,6 +47,7 @@ typedef unsigned intucell; typedef int cell; #endif +#define CELL_MAX INT_MAX/* assume cell is always int */ struct tagAMX; typedef cell(*AMX_NATIVE) (struct tagAMX * amx, diff --git a/src/bin/embryo/embryo_cc_sc1.c b/src/bin/embryo/embryo_cc_sc1.c index b536934..2ca1aaf 100644 --- a/src/bin/embryo/embryo_cc_sc1.c +++ b/src/bin/embryo/embryo_cc_sc1.c @@ -1071,7 +1071,7 @@ declglb(char *firstname, int firsttag, int fpublic, int fstatic, error(52); /* only last dimension may be variable length */ size = needsub([numdim]); /* get size; size==0 for * "var[]" */ -#if INT_MAX < LONG_MAX +#if INT_MAX < CELL_MAX if (size > INT_MAX) error(105); /* overflow, exceeding capacity */ #endif @@ -1212,7 +1212,7 @@ declloc(int fstatic) if (numdim > 0 && dim[numdim - 1] == 0) error(52); /* only last dimension may be variable length */ size = needsub([numdim]); /* get size; size==0 for "var[]" */ -#if INT_MAX < LONG_MAX +#if INT_MAX < CELL_MAX if (size > INT_MAX) error(105); /* overflow, exceeding capacity */ #endif @@ -2668,7 +2668,7 @@ doarg(char *name, int ident, int offset, int tags[], int numtags, */ size = needsub([arg->numdim]); /* may be zero here, *it is a pointer anyway */ -#if INT_MAX < LONG_MAX +#if INT_MAX < CELL_MAX if (size > INT_MAX) error(105); /* overflow, exceeding capacity */ #endif --
[EGIT] [core/efl] master 03/12: elm test: Fix non sense check
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5871593ed16b081a3da2ef4cdb53fed8fc3612cb commit 5871593ed16b081a3da2ef4cdb53fed8fc3612cb Author: Jean-Philippe AndreDate: Wed Jul 13 12:02:20 2016 +0900 elm test: Fix non sense check CID 1353720 1353721 --- src/bin/elementary/test_gengrid.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/elementary/test_gengrid.c b/src/bin/elementary/test_gengrid.c index 92a7b01..f1768e4 100644 --- a/src/bin/elementary/test_gengrid.c +++ b/src/bin/elementary/test_gengrid.c @@ -526,7 +526,7 @@ static void _btn_bring_in_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { api_data *api = data; - if (!api && !api->grid) return; + if (!api || !api->grid) return; Elm_Object_Item *it = elm_gengrid_selected_item_get(api->grid); if (!it) return; @@ -537,7 +537,7 @@ static void _btn_show_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { api_data *api = data; - if (!api && !api->grid) return; + if (!api || !api->grid) return; Elm_Object_Item *it = elm_gengrid_selected_item_get(api->grid); if (!it) return; --
[EGIT] [core/efl] master 12/12: eina_safepointer: Fix coverity warning
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4d9de121d174873ff254046f1eec17171197e5b3 commit 4d9de121d174873ff254046f1eec17171197e5b3 Author: Jean-Philippe AndreDate: Wed Jul 13 16:22:00 2016 +0900 eina_safepointer: Fix coverity warning I guess the overflow was badly handled. Fixing it by using explicit int intermediate value. Fixes CID 1356616 and 1356619: Operands don't affect result Logically dead code --- src/lib/eina/eina_safepointer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/eina/eina_safepointer.c b/src/lib/eina/eina_safepointer.c index 42433ea..94ec1ab 100644 --- a/src/lib/eina/eina_safepointer.c +++ b/src/lib/eina/eina_safepointer.c @@ -239,6 +239,7 @@ eina_safepointer_register(const void *target) Eina_Memory_Table *table; Eina_Memory_Entry *entry = NULL; Eina_Sp_Id id = 0; + unsigned int gen; // We silently handle NULL if (!target) return NULL; @@ -254,9 +255,8 @@ eina_safepointer_register(const void *target) entry->ptr = (void*) target; entry->active = 1; - entry->generation++; - if (entry->generation == EINA_MAX_GENERATIONS) - entry->generation = 1; + gen = entry->generation + 1; + entry->generation = (gen == EINA_MAX_GENERATIONS) ? 1 : gen; id = SP_COMPOSE_FINAL_ID(table->partial_id, (entry - table->entries), --
[EGIT] [core/efl] master 02/12: edje_cc: Fix minor coverity defect
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0106455588a7390f36bae9ac6d789e94410a5216 commit 0106455588a7390f36bae9ac6d789e94410a5216 Author: Jean-Philippe AndreDate: Wed Jul 13 11:57:07 2016 +0900 edje_cc: Fix minor coverity defect CID 1261439 An assigned value that is never used may represent unnecessary computation, an incorrect algorithm, or possibly the need for cleanup or refactoring. In source_fetch_file: A value assigned to a variable is never used. (CWE-563) Tested compilation of a few EDC files with no breakage. --- src/bin/edje/edje_cc_sources.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/bin/edje/edje_cc_sources.c b/src/bin/edje/edje_cc_sources.c index 3f119bb..1bd73af 100644 --- a/src/bin/edje/edje_cc_sources.c +++ b/src/bin/edje/edje_cc_sources.c @@ -185,8 +185,6 @@ source_fetch_file(const char *fil, const char *filname) else p++; } - -got_hash = 0; } if ((file) && (fname)) source_fetch_file(file, fname); --
[EGIT] [core/efl] master 06/12: pdf: Fix page index and
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=db27a6b9403d911f76345ecd04f53a3e29aad0ea commit db27a6b9403d911f76345ecd04f53a3e29aad0ea Author: Jean-Philippe AndreDate: Wed Jul 13 14:40:18 2016 +0900 pdf: Fix page index and The module was not able to load any PDF with a single page (since the index starts from 0, not 1 as it was assumed). Also, fix a CID where Coverity was very very right. Fixes CID 1356608: The operaton may have an undefined behavior or yield to an unexpected result. In poppler_load_image(int, int): A bit shift operation has a shift amount which is too large or has a negative value. --- src/generic/evas/pdf/main.cpp | 11 +-- 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/generic/evas/pdf/main.cpp b/src/generic/evas/pdf/main.cpp index 85edf49..097f057 100644 --- a/src/generic/evas/pdf/main.cpp +++ b/src/generic/evas/pdf/main.cpp @@ -67,7 +67,7 @@ Eina_Bool poppler_init(const char *file, int page_nbr, int size_w, int size_h) /* load the page */ - doc_page = doc->create_page(page_nbr + 1); + doc_page = doc->create_page(page_nbr); if (!doc_page) goto del_pdfdoc; @@ -149,6 +149,9 @@ void poppler_load_image(int size_w EINA_UNUSED, int size_h EINA_UNUSED) for (y = 0; y < crop_height; y++) \ for (x = 0; x < crop_width; x++) +#define ARGB_JOIN(a,r,g,b) \ +(((a) << 24) + ((r) << 16) + ((g) << 8) + (b)) + if (out.format() == image::format_mono) { //FIXME no idea what this format is like @@ -159,12 +162,8 @@ void poppler_load_image(int size_w EINA_UNUSED, int size_h EINA_UNUSED) src = (RGB24*) out.data(); IMAGE_PIXEL_ITERATOR { - DATA32 d = 0xFF00; int pos = x+y*crop_width; - d |= src[pos][0] >> 8; - d |= src[pos][1] >> 16; - d |= src[pos][2] >> 24; - dst[pos] = d; + dst[pos] = ARGB_JOIN(0xFF, src[pos][0], src[pos][1], src[pos][2]); } } else if (out.format() == image::format_argb32) --