[EGIT] [core/efl] master 01/01: eina:list: Fix resource leak
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1cbd32aca1e895bccef98f8b23d6d41d845a commit 1cbd32aca1e895bccef98f8b23d6d41d845a Author: Flavio Ceolin <flavio.ceo...@gmail.com> Date: Tue Feb 28 16:00:45 2017 +0900 eina:list: Fix resource leak Summary: The usage of the macro EINA_MAGIC_CHECK_LIST can lead (in some cases) to leaks. Signed-off-by: Flavio Ceolin <flavio.ceo...@gmail.com> Reviewers: jpeg Reviewed By: jpeg Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4679 --- src/lib/eina/eina_list.c | 28 +++- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/src/lib/eina/eina_list.c b/src/lib/eina/eina_list.c index 26cf3c8..979e484 100644 --- a/src/lib/eina/eina_list.c +++ b/src/lib/eina/eina_list.c @@ -100,6 +100,15 @@ static const char EINA_MAGIC_LIST_ACCOUNTING_STR[] = "Eina List Accounting"; } \ } while(0) +#define EINA_MAGIC_CHECK_LIST_GOTO(d, label) \ + do { \ +if (!EINA_MAGIC_CHECK(d, EINA_MAGIC_LIST)) \ + { \ + EINA_MAGIC_FAIL(d, EINA_MAGIC_LIST);\ + goto label; \ + } \ + } while(0) + #define EINA_MAGIC_CHECK_LIST_ITERATOR(d, ...) \ do { \ if (!EINA_MAGIC_CHECK(d, EINA_MAGIC_LIST_ITERATOR)) \ @@ -577,7 +586,7 @@ eina_list_append(Eina_List *list, const void *data) return _eina_list_setup_accounting(new_l); } - EINA_MAGIC_CHECK_LIST(list, NULL); + EINA_MAGIC_CHECK_LIST_GOTO(list, on_error); l = list->accounting->last; list->accounting->last = new_l; @@ -587,6 +596,10 @@ eina_list_append(Eina_List *list, const void *data) _eina_list_update_accounting(list, new_l); return list; + +on_error: + _eina_list_mempool_list_free(new_l); + return NULL; } EAPI Eina_List * @@ -604,13 +617,17 @@ eina_list_prepend(Eina_List *list, const void *data) if (!list) return _eina_list_setup_accounting(new_l); - EINA_MAGIC_CHECK_LIST(list, NULL); + EINA_MAGIC_CHECK_LIST_GOTO(list, on_error); list->prev = new_l; _eina_list_update_accounting(list, new_l); return new_l; + +on_error: + _eina_list_mempool_list_free(new_l); + return NULL; } EAPI Eina_List * @@ -643,10 +660,11 @@ eina_list_append_relative_list(Eina_List *list, if ((!list) || (!relative)) return eina_list_append(list, data); + EINA_MAGIC_CHECK_LIST(relative, NULL); + new_l = _eina_list_mempool_list_new(list); if (!new_l) return list; - EINA_MAGIC_CHECK_LIST(relative, NULL); new_l->next = relative->next; new_l->data = (void *)data; @@ -693,11 +711,11 @@ eina_list_prepend_relative_list(Eina_List *list, if ((!list) || (!relative)) return eina_list_prepend(list, data); + EINA_MAGIC_CHECK_LIST(relative, NULL); + new_l = _eina_list_mempool_list_new(list); if (!new_l) return list; - EINA_MAGIC_CHECK_LIST(relative, NULL); - new_l->prev = relative->prev; new_l->next = relative; new_l->data = (void *)data; --
[EGIT] [core/enlightenment] enlightenment-0.21 09/63: emix: when in alsa mode only operate on master
discomfitor pushed a commit to branch enlightenment-0.21. http://git.enlightenment.org/core/enlightenment.git/commit/?id=6d23aa2461674fd2b8f7b5eb2e4074a07beaa883 commit 6d23aa2461674fd2b8f7b5eb2e4074a07beaa883 Author: Flavio Ceolin <flavio.ceo...@gmail.com> Date: Sun Jan 10 18:36:40 2016 -0200 emix: when in alsa mode only operate on master --- src/modules/mixer/lib/backends/alsa/alsa.c | 4 1 file changed, 4 insertions(+) diff --git a/src/modules/mixer/lib/backends/alsa/alsa.c b/src/modules/mixer/lib/backends/alsa/alsa.c index bb06a2e..add473a 100644 --- a/src/modules/mixer/lib/backends/alsa/alsa.c +++ b/src/modules/mixer/lib/backends/alsa/alsa.c @@ -302,6 +302,10 @@ _alsa_cards_refresh(void) elem = snd_mixer_first_elem(mixer); for (; elem; elem = snd_mixer_elem_next(elem)) { + if (strncmp(snd_mixer_selem_get_name(elem), + "Master", sizeof("Master") - 1)) +continue; + //check if its a source or a sink if (snd_mixer_selem_has_capture_volume(elem)) tmp_source = eina_list_append(tmp_source, elem); --
[EGIT] [core/enlightenment] master 01/01: emix: when in alsa mode only operate on master
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=5df7963ad1c4cf624f479be5ba8245e762e388e0 commit 5df7963ad1c4cf624f479be5ba8245e762e388e0 Author: Flavio Ceolin <flavio.ceo...@gmail.com> Date: Sun Jan 10 18:36:40 2016 -0200 emix: when in alsa mode only operate on master --- src/modules/mixer/lib/backends/alsa/alsa.c | 4 1 file changed, 4 insertions(+) diff --git a/src/modules/mixer/lib/backends/alsa/alsa.c b/src/modules/mixer/lib/backends/alsa/alsa.c index bb06a2e..add473a 100644 --- a/src/modules/mixer/lib/backends/alsa/alsa.c +++ b/src/modules/mixer/lib/backends/alsa/alsa.c @@ -302,6 +302,10 @@ _alsa_cards_refresh(void) elem = snd_mixer_first_elem(mixer); for (; elem; elem = snd_mixer_elem_next(elem)) { + if (strncmp(snd_mixer_selem_get_name(elem), + "Master", sizeof("Master") - 1)) +continue; + //check if its a source or a sink if (snd_mixer_selem_has_capture_volume(elem)) tmp_source = eina_list_append(tmp_source, elem); --
Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?
On Thu, Apr 30, 2015 at 11:47:18AM +0900, Carsten Haitzler wrote: On Wed, 16 Apr 2014 13:26:26 -0300 Flavio ceolin flavio.ceo...@gmail.com said: Hi, Em 15/04/2014 22:11, Lucas De Marchi lucas.de.mar...@gmail.com escreveu: Em 15/04/2014 01:04, Stefan Schmidt ste...@datenfreihafen.org escreveu: Hello. On Fri, 2014-04-04 at 13:25, Flavio Ceolin wrote: Lucas De Marchi lucas.de.mar...@gmail.com writes: On Mon, Mar 10, 2014 at 7:07 PM, Flávio Ceolin flavio.ceo...@profusion.mobi wrote: On Mon, Mar 10, 2014 at 6:43 PM, Jeff Hoogland jeffhoogl...@linux.com wrote: This will be AWESOME. Shame you missed the change window for E19 for this to be included in core. Once you have code to share I'll be getting this into the Bodhi 3.0.0 testing repos ASAP. Yeah i know, my bad :( but I'll release something usable soon. ping. Lucas De Marchi -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel It's about time :) https://git.enlightenment.org/devs/ceolin/epulse.git I have added a TODO list with the most important things i think must be done. If someone find any problem and|or have suggestions to improve it, please let me know. So much encouragement and still nobody tested it? Or nobody did report on it? :) I just didn't report. I'm using it daily... And it's working pretty well. Not the prettiest interface, but functional. Lucas De Marchi -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel I' ll check the building problem on e18. As the UI side, anybody with ideas to improve it, please share with me. considering an epulse merge... first 1. what is the license? is it ok to merge into e as-is and rop under e's blanket license? Yes, we can use e's license. 2. if anyone has any branches to stuff - merge them into epulse master if you want them in e. otherwise you'll have to port later on. Ok, i'll coordinate it with Marcel. But basically is use the emix branch (that support more backends than pulseaudio). -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com Regards, -- Flavio Ceolin -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [apps/terminology] master 01/01: Fixing alt-backspace behaviour
ceolin pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=bc4d1bbbf95a90efeb12b0f54da12014b37ed5e5 commit bc4d1bbbf95a90efeb12b0f54da12014b37ed5e5 Author: Flavio Ceolin flavio.ceo...@intel.com Date: Thu May 15 22:49:05 2014 -0300 Fixing alt-backspace behaviour --- src/bin/keyin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/keyin.c b/src/bin/keyin.c index c9dcfee..67f50cc 100644 --- a/src/bin/keyin.c +++ b/src/bin/keyin.c @@ -211,7 +211,7 @@ static const Keyout alt_keyout[] = KEY(Up, \033[1;3A), KEY(Down, \033[1;3B), KEY(End, \033[1;3F), - KEY(BackSpace,\033\177), + KEY(BackSpace,\033\b), KEY(Return, \033\015), KEY(space,\033\040), KEY(Home, \033[1;3H), --
Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?
Hi, Em 15/04/2014 22:11, Lucas De Marchi lucas.de.mar...@gmail.com escreveu: Em 15/04/2014 01:04, Stefan Schmidt ste...@datenfreihafen.org escreveu: Hello. On Fri, 2014-04-04 at 13:25, Flavio Ceolin wrote: Lucas De Marchi lucas.de.mar...@gmail.com writes: On Mon, Mar 10, 2014 at 7:07 PM, Flávio Ceolin flavio.ceo...@profusion.mobi wrote: On Mon, Mar 10, 2014 at 6:43 PM, Jeff Hoogland jeffhoogl...@linux.com wrote: This will be AWESOME. Shame you missed the change window for E19 for this to be included in core. Once you have code to share I'll be getting this into the Bodhi 3.0.0 testing repos ASAP. Yeah i know, my bad :( but I'll release something usable soon. ping. Lucas De Marchi -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel It's about time :) https://git.enlightenment.org/devs/ceolin/epulse.git I have added a TODO list with the most important things i think must be done. If someone find any problem and|or have suggestions to improve it, please let me know. So much encouragement and still nobody tested it? Or nobody did report on it? :) I just didn't report. I'm using it daily... And it's working pretty well. Not the prettiest interface, but functional. Lucas De Marchi -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel I' ll check the building problem on e18. As the UI side, anybody with ideas to improve it, please share with me. Flavio Ceolin -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?
Hi, Lucas De Marchi lucas.de.mar...@gmail.com writes: On Mon, Mar 10, 2014 at 7:07 PM, Flávio Ceolin flavio.ceo...@profusion.mobi wrote: On Mon, Mar 10, 2014 at 6:43 PM, Jeff Hoogland jeffhoogl...@linux.com wrote: This will be AWESOME. Shame you missed the change window for E19 for this to be included in core. Once you have code to share I'll be getting this into the Bodhi 3.0.0 testing repos ASAP. Yeah i know, my bad :( but I'll release something usable soon. ping. Lucas De Marchi -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel It's about time :) https://git.enlightenment.org/devs/ceolin/epulse.git I have added a TODO list with the most important things i think must be done. If someone find any problem and|or have suggestions to improve it, please let me know. Of course, patches are always extremely welcome :) --- Flavio Ceolin -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] the great commit access purge of march 2014... LOOK FOR YOUR NAME!
Hi, On Wed, Mar 19, 2014 at 11:09 AM, Carsten Haitzler ras...@rasterman.comwrote: this is pretty simple. i made a list of everyone who has not committed to any git repository we have for the past 6 months. slight problem is that people don't keep their email addresses up to date in info.txt vs their git author email, so i've had to manually check almost everyone. (i made a script to help automate this but it was getting stuff wrong)... SO here is the list. if your user id/login is on it and you think it should be taken off... SAY SO. if you don't say something soon... you'll get moved to our inactive dev pool and commit access will be removed. so RESPOND ASAP if you want yourself off this list! acidx andreas aron bdilly ceolin dorileo dresb etrunko fidencio gastal gouache hyoyoung illogict inc jeffdameth jypark kakaroto kiwi mej mello mickeyl mike_m monkeyiq nash onefang pespin playya princeamd rakuco raoul rfonseca rui shorne thanatermesis tiago urandom watchwolf xhell -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel As i said on irc i recently have commited on elm and i want to keep my commit access. Just remembering :) -- Flavio Ceolin -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: list: Fixing the focus on keyboard movement
ceolin pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=1904e2aecf77473c1388fc42b6e828aba00bce9e commit 1904e2aecf77473c1388fc42b6e828aba00bce9e Author: Flavio Ceolin flavio.ceo...@intel.com Date: Tue Mar 18 17:15:36 2014 -0300 list: Fixing the focus on keyboard movement Problem introduced on: fb13ad2 --- src/lib/elm_list.c | 15 ++- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c index e7822f0..b0f602a 100644 --- a/src/lib/elm_list.c +++ b/src/lib/elm_list.c @@ -1070,15 +1070,12 @@ _elm_list_smart_on_focus(Eo *obj, void *_pd, va_list *list) if (elm_widget_focus_get(obj)) { -if (!sd-highlighted_item) - { - if (sd-last_focused_item) -_elm_list_item_focused((Elm_List_Item *)sd-last_focused_item); - else if (sd-last_selected_item) -_elm_list_item_focused((Elm_List_Item *)sd-last_selected_item); - else -_elm_list_item_focused((Elm_List_Item *)eina_list_data_get(sd-items)); - } +if (sd-last_focused_item) + _elm_list_item_focused((Elm_List_Item *)sd-last_focused_item); +else if (sd-last_selected_item) + _elm_list_item_focused((Elm_List_Item *)sd-last_selected_item); +else if (!sd-highlighted_item) + _elm_list_item_focused((Elm_List_Item *)eina_list_data_get(sd-items)); _elm_widget_focus_highlight_start(obj); } else --
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm:list: Avoiding two items be focused at same action
Hi, On Tue, Mar 18, 2014 at 4:25 PM, Amitesh Singh singh.amit...@gmail.comwrote: This patch looks wrong to me. It will break the focus movement between widget item and elm widget. This should be reverted. I've fixed the problem. Thanks for reporting it :) -- Amitesh On Tue, Mar 18, 2014 at 3:06 PM, Daniel Zaoui daniel.za...@samsung.com wrote: Hi Flavio, I have some warning in elm_list.c. elm_list.c: In function '_item_highlight': elm_list.c:1150:25: warning: assignment from incompatible pointer type [enabled by default] sd-highlighted_item = it; It seems to be related to your patch. Thank you Daniel On 03/18/2014 12:22 AM, Flavio Ceolin wrote: ceolin pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=fb13ad2a8e88427799fb98da3cf66a85915ae5b3 commit fb13ad2a8e88427799fb98da3cf66a85915ae5b3 Author: Flavio Ceolin flavio.ceo...@intel.com Date: Mon Mar 17 16:55:08 2014 -0300 elm:list: Avoiding two items be focused at same action On a list that have not received focus yet a mouse down gives the focus for the list (that gives the focus for the first item) and the mouse up the item is selected and receive the focus. The problem: if the list is scrolled the focus given for the first item makes the list scroll to the top and not for the item selected by the user. --- src/lib/elm_list.c| 18 +++--- src/lib/elm_widget_list.h | 1 + 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c index 9d703d4..478125a 100644 --- a/src/lib/elm_list.c +++ b/src/lib/elm_list.c @@ -1062,12 +1062,15 @@ _elm_list_smart_on_focus(Eo *obj, void *_pd, va_list *list) if (elm_widget_focus_get(obj)) { -if (sd-last_focused_item) - _elm_list_item_focused((Elm_List_Item *)sd-last_focused_item); -else if (sd-last_selected_item) - _elm_list_item_focused((Elm_List_Item *)sd-last_selected_item); -else - _elm_list_item_focused((Elm_List_Item *)eina_list_data_get(sd-items)); +if (!sd-highlighted_item) + { + if (sd-last_focused_item) +_elm_list_item_focused((Elm_List_Item *)sd-last_focused_item); + else if (sd-last_selected_item) +_elm_list_item_focused((Elm_List_Item *)sd-last_selected_item); + else +_elm_list_item_focused((Elm_List_Item *)eina_list_data_get(sd-items)); + } _elm_widget_focus_highlight_start(obj); } else @@ -1144,7 +1147,7 @@ _item_highlight(Elm_List_Item *it) if ((select_raise) (!strcmp(select_raise, on))) evas_object_raise(VIEW(it)); it-highlighted = EINA_TRUE; - + sd-highlighted_item = it; _elm_list_unwalk(obj, sd); evas_object_unref(obj); } @@ -1211,6 +1214,7 @@ _item_unhighlight(Elm_List_Item *it) } it-highlighted = EINA_FALSE; + sd-highlighted_item = NULL; _elm_list_unwalk(obj, sd); evas_object_unref(obj); } diff --git a/src/lib/elm_widget_list.h b/src/lib/elm_widget_list.h index 06562da..fcca175 100644:4 --- a/src/lib/elm_widget_list.h +++ b/src/lib/elm_widget_list.h @@ -53,6 +53,7 @@ struct _Elm_List_Smart_Data Eina_Bool multi : 1; Eina_Bool swipe : 1; Eina_Bool delete_me : 1; + Elm_Object_Item *highlighted_item; }; typedef struct _Elm_List_Item Elm_List_Item; -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel - Flavio Ceolin -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment
[EGIT] [core/elementary] master 01/01: list: Avoiding the same item receive focus twice
ceolin pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=2d489a94a4cb285eb65e1769a21e2b948fbcd61f commit 2d489a94a4cb285eb65e1769a21e2b948fbcd61f Author: Flavio Ceolin flavio.ceo...@intel.com Date: Tue Mar 18 17:37:31 2014 -0300 list: Avoiding the same item receive focus twice When the item was activated by double click it received the focus twice and the second is after had emitted the activated signal. --- src/lib/elm_list.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c index b0f602a..796285b 100644 --- a/src/lib/elm_list.c +++ b/src/lib/elm_list.c @@ -1475,7 +1475,9 @@ _mouse_up_cb(void *data, evas_object_ref(obj); _elm_list_walk(sd); - elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE); + if (sd-focused_item != (Elm_Object_Item *)it) +elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE); + if (sd-multi ((sd-multi_select_mode != ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL) || (evas_key_modifier_is_set(ev-modifiers, Control --
[EGIT] [core/elementary] master 01/01: elm:list: Avoiding two items be focused at same action
ceolin pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=fb13ad2a8e88427799fb98da3cf66a85915ae5b3 commit fb13ad2a8e88427799fb98da3cf66a85915ae5b3 Author: Flavio Ceolin flavio.ceo...@intel.com Date: Mon Mar 17 16:55:08 2014 -0300 elm:list: Avoiding two items be focused at same action On a list that have not received focus yet a mouse down gives the focus for the list (that gives the focus for the first item) and the mouse up the item is selected and receive the focus. The problem: if the list is scrolled the focus given for the first item makes the list scroll to the top and not for the item selected by the user. --- src/lib/elm_list.c| 18 +++--- src/lib/elm_widget_list.h | 1 + 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c index 9d703d4..478125a 100644 --- a/src/lib/elm_list.c +++ b/src/lib/elm_list.c @@ -1062,12 +1062,15 @@ _elm_list_smart_on_focus(Eo *obj, void *_pd, va_list *list) if (elm_widget_focus_get(obj)) { -if (sd-last_focused_item) - _elm_list_item_focused((Elm_List_Item *)sd-last_focused_item); -else if (sd-last_selected_item) - _elm_list_item_focused((Elm_List_Item *)sd-last_selected_item); -else - _elm_list_item_focused((Elm_List_Item *)eina_list_data_get(sd-items)); +if (!sd-highlighted_item) + { + if (sd-last_focused_item) +_elm_list_item_focused((Elm_List_Item *)sd-last_focused_item); + else if (sd-last_selected_item) +_elm_list_item_focused((Elm_List_Item *)sd-last_selected_item); + else +_elm_list_item_focused((Elm_List_Item *)eina_list_data_get(sd-items)); + } _elm_widget_focus_highlight_start(obj); } else @@ -1144,7 +1147,7 @@ _item_highlight(Elm_List_Item *it) if ((select_raise) (!strcmp(select_raise, on))) evas_object_raise(VIEW(it)); it-highlighted = EINA_TRUE; - + sd-highlighted_item = it; _elm_list_unwalk(obj, sd); evas_object_unref(obj); } @@ -1211,6 +1214,7 @@ _item_unhighlight(Elm_List_Item *it) } it-highlighted = EINA_FALSE; + sd-highlighted_item = NULL; _elm_list_unwalk(obj, sd); evas_object_unref(obj); } diff --git a/src/lib/elm_widget_list.h b/src/lib/elm_widget_list.h index 06562da..fcca175 100644 --- a/src/lib/elm_widget_list.h +++ b/src/lib/elm_widget_list.h @@ -53,6 +53,7 @@ struct _Elm_List_Smart_Data Eina_Bool multi : 1; Eina_Bool swipe : 1; Eina_Bool delete_me : 1; + Elm_Object_Item *highlighted_item; }; typedef struct _Elm_List_Item Elm_List_Item; --
Re: [E-devel] edje_codegen seg fault on Windows. Problem in eio ?
Hi, The error is pretty weird, i will take a look on monday. Could you check if edje_inspector is working properly ? Regards, Flavio Ceolin Em Sep 8, 2012, às 6:01 AM, Vincent Torri vincent.to...@gmail.com escreveu: hey the edje_codegen prog seg fault on Windows. gdb output and bt: CRI: eina_hash.c:1017 eina_hash_del() *** Eina Magic Check Failed !!! Input handle is wrong type Expected: 9876123e - (unknown) Supplied: feeefeee - (unknown) *** NAUGHTY PROGRAMMER!!! *** SPANK SPANK SPANK!!! *** Now go fix your code. Tut tut tut! CRI: eina_hash.c:490 _eina_hash_del_by_key() *** Eina Magic Check Failed !!! Input handle is wrong type Expected: 9876123e - (unknown) Supplied: feeefeee - (unknown) *** NAUGHTY PROGRAMMER!!! *** SPANK SPANK SPANK!!! *** Now go fix your code. Tut tut tut! (gdb) bt #0 0xfeeefeee in ?? () #1 0x6f98670d in _eina_hash_del_by_key (hash=0x4cfbb18, key=0x551c5f8, data=0x551c620) at eina_hash.c:495 #2 0x6f987eb2 in eina_hash_del (hash=0x4cfbb18, key=0x551c5f8, data=0x551c620) at eina_hash.c:1022 #3 0x047c8e64 in _eio_monitor_free (monitor=0x551c620) at eio_monitor.c:38 #4 0x047c8f9e in _eio_monitor_stat_cb (data=0x551c620, handler=0x551d5f0, st=0x551d614) at eio_monitor.c:86 #5 0x047ca0ab in _eio_file_stat_done (data=0x551d5f0, thread=0x551cfe8) at eio_single.c:181 #6 0x65c0ea75 in _ecore_thread_kill (work=0x551cfe8) at ecore_thread.c:326 #7 0x65c0eb12 in _ecore_thread_handler (data=0x551cfe8) at ecore_thread.c:353 #8 0x65c029d6 in _ecore_main_call_flush () at ecore.c:841 #9 0x65c02a1d in _thread_callback (data=0x0, buffer=0x55150f8, nbyte=4) at ecore.c:852 #10 0x65c0c4e5 in _ecore_pipe_read (data=0x4cf91a8, fd_handler=0x0) at ecore_pipe.c:625 #11 0x65c0bc5a in ecore_pipe_wait (p=0x4cf91a8, message_count=1, wait=0.10001) at ecore_pipe.c:327 #12 0x65c01b1c in ecore_shutdown () at ecore.c:262 #13 0x004024ea in main (argc=6, argv=0x4cf5a00) at edje_codegen.c:730 does someone have an idea ? Vincent -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module
Hi Prince, Gustavo Sverzut Barbieri barbi...@profusion.mobi writes: On Thu, Jun 21, 2012 at 10:32 AM, PRINCE KUMAR DUBEY prince.du...@samsung.com wrote: Hi, Please find my query/comments inlined below. Ok, and could you use some email client that does proper reply? It's a mess and unusual to read your mails without the proper quote blocks. +EAPI extern Eina_Bool _on_edjecc; It seems to be not necessary. [Prince] this variable is required, in order to provide check to unnecessary multisense framework initialization during EDC compilation/decompilation mode. So, during EDC compilation, _on_edjecc=EINA_TRUE in edje_cc.c and hence, _edje_multisense_init() is being ignored in edje_main.c. No, never do this. One should have a global setter and maybe a getter to enable or disable features, or even better just load multisense if it's required. [Prince] Multisense load is not needed during compilation/decompilation, because it inculdes remix and its plug-in(i.e. eetsndreader, ALSA) load, which are specificaly required during runtime only. As per your suggestion above, should we add interfaces for setter/getter to enable this feature in edje ? Please share your opinion. I dislike having to manually enable or disable them. Just use it as last resource. Ideally the multisense would be disabled and whenever a group uses multisense, it would be enabled. You do not need to further disable the setup later, it's fine to keep it on. It's like a lazy-loaded singleton. As edje_cc will never edje_object_file_set() it will never hit the path to load multisense. Then we're fine for it and every other software that does not use it. Are you intending to do the modifications suggested ? Your patch with those modifications looks pretty good. Best Regards, Flavio Ceolin -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] enlightenment-devel Digest, Vol 74, Issue 78
PRINCE KUMAR DUBEY prince.du...@samsung.com writes: Hi Prince, Hi Flavio, I am still not able to reproduce the seg-fault. Is seg-fault happening always ? Yep, it's happening always i use the edje_player with the multisense example. The problem is: + length = count * sizeof(RemixCount); it makes length be greater than PA_PLAYER_BUFFERLEN then: +*(player-playbuffer + i) = (PLAYER_PCM) value; will access invalid memory. I rewrote this function and worked as expected. Please check if it makes sense. static void pa_player_playbuffer(RemixEnv *env __UNUSED__, PA_Player_Data *player, RemixPCM *data, RemixCount count) { int ret; RemixCount i, j; RemixPCM value; size_t length, total_written; length = count * sizeof(RemixPCM); total_written = 0; while (total_written length) { j = length - total_written; j = (j PA_PLAYER_BUFFERLEN) ? PA_PLAYER_BUFFERLEN : j; for (i = 0; i j; i++) { value = *data++ * (player-max_value); *(player-playbuffer + i) = (PLAYER_PCM) value; } ret = pa_simple_write(player-server, player-playbuffer, j, player-error); if (ret 0) { WRN(pa_simple_write() failed: (%s), pa_strerror(player-error)); return; } total_written += j; } } Please find my reply to your queries inline below. Thanks Regards, Prince --- Original Message --- Date: Mon, 18 Jun 2012 14:09:59 -0300 From: Fl?vio Ceolin Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module To: Enlightenment developer list Message-ID: Content-Type: text/plain; charset=ISO-8859-1 Hi Prince, On Mon, Jun 18, 2012 at 9:56 AM, PRINCE KUMAR DUBEY wrote: Hi Flavio, I tested edje_player multisense.edje to reproduce seg fault as mentioned below, but couldn't succeed with memcheck as well. My svn rev is 72374. Please let me know the scenario to reproduce it. And regarding the point 5, you are right, multisense will not build without remix as per current configure file. But, multisense is not all about only sound, it can have vibration etc. So, if we make remix optional for multisense feature, edje must compile e.g. ENABLE_MULTISENSE=1 and HAVE_REMIX=0. Regards, Prince I've tested in rev 72117 and now 72400 in both the problem happened. I built with these options: /configure --enable-tests --enable-build-examples --enable-multisense CFLAGS=-Wall -g -O0 As for the patch, I took a look in it and I would like to understand some points. +static void +pa_player_playbuffer(RemixEnv *env __UNUSED__, PA_Player_Data *player, RemixPCM *data, RemixCount count) +{ + int ret; + RemixCount i; + RemixPCM value; + size_t length; + + length = count * sizeof(RemixCount); Shouldn't it be length = count * sizeof(RemixPCM); [Prince] you are right, it must be the size of same data type. + + for (i = 0; i length; i++) Shouldn't check if length is greater than the size of the buffer ? [Prince] I agree. we can put the check so that written length must never exceeds the buffer size (PA_PLAYER_BUFFERLEN). + { +value = *data++ * (player-max_value); +*(player-playbuffer + i) = (PLAYER_PCM) value; With this cast we are discarding part of the data, is it ok ? [Prince] Type casting is redundant, not required at all. Just to be clear, PLAYER_PCM is short while the data(RemixPCM) is a float, so in this cast you are losing some data, I just don't know if it's ok. + } + + ret = pa_simple_write(player-server, player-playbuffer, length, player-error); + + if (ret 0) WRN(pa_simple_write() failed: (%s), pa_strerror(player-error)); + + return; +} Best regards, Flavio Ceolin --- -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel Prince I forgot to ask you if there is a reason to export this symbol: +EAPI extern Eina_Bool _on_edjecc; It seems to be not necessary. Best regards, Flavio Ceolin -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com
[E-devel] Emotion problem
Hi folks, I've got a problem when using emotion. The signal playback_started is never called. I also have checked the emotion examples and the same happens. The others signals like playback_finished and open_done are working as expected. Bellow is my example: #include Ecore.h #include Ecore_Evas.h #include Evas.h #include Emotion.h #include stdio.h static void _playback_started_cb(void *data, Evas_Object *o, void *event_info) { printf(Emotion object started playback.\n); } static Evas_Object * _create_emotion_object(Evas *e) { Evas_Object *em = emotion_object_add(e); emotion_object_init(em, generic); evas_object_smart_callback_add( em, playback_started, _playback_started_cb, NULL); return em; } int main(int argc, const char *argv[]) { Ecore_Evas *ee; Evas *e; Evas_Object *bg, *em; if (argc != 2) { printf(Usage: %s filenames\n, argv[0]); return -1; } eina_init(); if (!ecore_evas_init()) return EXIT_FAILURE; ee = ecore_evas_new(NULL, 80, 80, 640, 480, NULL); if (!ee) goto error; ecore_evas_show(ee); e = ecore_evas_get(ee); bg = evas_object_rectangle_add(e); evas_object_name_set(bg, argv[1]); evas_object_color_set(bg, 255, 255, 255, 255); evas_object_move(bg, 0, 0); evas_object_resize(bg, 640, 480); evas_object_show(bg); em = _create_emotion_object(e); emotion_object_file_set(em, argv[1]); evas_object_move(em, 0, 0); evas_object_resize(em, 640, 480); evas_object_show(em); evas_object_focus_set(bg, EINA_TRUE); emotion_object_play_set(em, EINA_TRUE); ecore_main_loop_begin(); ecore_evas_free(ee); ecore_evas_shutdown(); return 0; error: ecore_evas_shutdown(); eina_shutdown(); return -1; } Regards, Flavio Ceolin ProFUSION embedded systems http://profusion.mobi -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel