[E-devel] [Edje] Signal callbacks issue (with patch)
Dear EFL devs, I've been looking into the elm_spinner widget, and its most obvious issues. The main problem is that the entry is selected when clicking a button, and then the buttons becomes useless (in vertical mode). There are issues in elm_spinner.c as well as spinner.edc, which I'll try to address in proper patches later on. But some extremely weird behaviour occurs: the entry toggle callback is called when clicking on a spinner button (up/down). Here's why: - In elm_spinner.c, the mouse down callback calls val_inc_start() as expected. - This calls [...] elm_layout_set_text() (in label_write()). - elm_layout_set_text() emits a signal (in text_signal_emit()) using edje_object_signal_emit(). - Then, edje_object_message_signal_process() is invoked to update the layout. edje_object_message_signal_process and edje_message_signal_process are reintrant, so there should be no problem. But, the wrong signal callback will be called from edje_match_callback_exec_check_finals (in edje_match.c:487, sig,source is different from esdc's sig,source). Here's where attached the 1-line patch comes in :) I don't know how to thoroughly test this fix, so please let me know if it's ok :) Also, for some reason, when I click quickly, I receive mouse down,up,up instead of mouse down,up,down,up, but that's probably another story. Best regards, -- Jean-Philippe André edje-signal-callback.patch Description: Binary data -- 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] [Edje] Signal callbacks issue (with patch)
* Jean-Philippe André [2012-07-27 12:09:48 -0400]: > Dear EFL devs, > > I've been looking into the elm_spinner widget, and its most obvious issues. > The main problem is that the entry is selected when clicking a button, > and then the buttons becomes useless (in vertical mode). > > There are issues in elm_spinner.c as well as spinner.edc, which I'll > try to address in proper patches later on. > > But some extremely weird behaviour occurs: the entry toggle callback > is called when clicking on a spinner button (up/down). > Here's why: > > - In elm_spinner.c, the mouse down callback calls val_inc_start() as expected. > - This calls [...] elm_layout_set_text() (in label_write()). > - elm_layout_set_text() emits a signal (in text_signal_emit()) using > edje_object_signal_emit(). > - Then, edje_object_message_signal_process() is invoked to update the layout. > > edje_object_message_signal_process and edje_message_signal_process are > reintrant, so there should be no problem. > But, the wrong signal callback will be called from > edje_match_callback_exec_check_finals (in edje_match.c:487, sig,source > is different from esdc's sig,source). > > Here's where attached the 1-line patch comes in :) > > I don't know how to thoroughly test this fix, so please let me know if > it's ok :) > > > Also, for some reason, when I click quickly, I receive mouse > down,up,up instead of mouse down,up,down,up, but that's probably > another story. > > Best regards, Holy shit, Jean, I was looking into the very same weirdness here. Yes, this is an Edje bug and maybe this is the right fix, indeed! Cedric, can you check it please? Very annoying bug, thanks for the effort :) Regards, > > -- > Jean-Philippe André > -- > 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 -- Gustavo Lima Chaves Computer Engineer @ ProFUSION Embedded Systems -- 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] [Edje] Signal callbacks issue (with patch)
Hey, On Fri, Jul 27, 2012 at 12:17 PM, Gustavo Lima Chaves wrote: > * Jean-Philippe André [2012-07-27 12:09:48 -0400]: > >> Dear EFL devs, >> >> I've been looking into the elm_spinner widget, and its most obvious issues. >> The main problem is that the entry is selected when clicking a button, >> and then the buttons becomes useless (in vertical mode). >> >> There are issues in elm_spinner.c as well as spinner.edc, which I'll >> try to address in proper patches later on. >> >> But some extremely weird behaviour occurs: the entry toggle callback >> is called when clicking on a spinner button (up/down). >> Here's why: >> >> - In elm_spinner.c, the mouse down callback calls val_inc_start() as >> expected. >> - This calls [...] elm_layout_set_text() (in label_write()). >> - elm_layout_set_text() emits a signal (in text_signal_emit()) using >> edje_object_signal_emit(). >> - Then, edje_object_message_signal_process() is invoked to update the layout. >> >> edje_object_message_signal_process and edje_message_signal_process are >> reintrant, so there should be no problem. >> But, the wrong signal callback will be called from >> edje_match_callback_exec_check_finals (in edje_match.c:487, sig,source >> is different from esdc's sig,source). >> >> Here's where attached the 1-line patch comes in :) >> >> I don't know how to thoroughly test this fix, so please let me know if >> it's ok :) >> >> >> Also, for some reason, when I click quickly, I receive mouse >> down,up,up instead of mouse down,up,down,up, but that's probably >> another story. >> >> Best regards, > > Holy shit, Jean, I was looking into the very same weirdness here. Yes, > this is an Edje bug and maybe this is the right fix, indeed! Cedric, > can you check it please? Very annoying bug, thanks for the effort :) Yeah, it was hard to hunt, but I've had plenty of time to dive into EFL. Glad I can help then :) -- Jean-Philippe André -- 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] [Edje] Signal callbacks issue (with patch)
On Friday, July 27, 2012, Jean-Philippe André wrote: > Hey, > > On Fri, Jul 27, 2012 at 12:17 PM, Gustavo Lima Chaves > > wrote: > > * Jean-Philippe André > [2012-07-27 > 12:09:48 -0400]: > > > >> Dear EFL devs, > >> > >> I've been looking into the elm_spinner widget, and its most obvious > issues. > >> The main problem is that the entry is selected when clicking a button, > >> and then the buttons becomes useless (in vertical mode). > >> > >> There are issues in elm_spinner.c as well as spinner.edc, which I'll > >> try to address in proper patches later on. > >> > >> But some extremely weird behaviour occurs: the entry toggle callback > >> is called when clicking on a spinner button (up/down). > >> Here's why: > >> > >> - In elm_spinner.c, the mouse down callback calls val_inc_start() as > expected. > >> - This calls [...] elm_layout_set_text() (in label_write()). > >> - elm_layout_set_text() emits a signal (in text_signal_emit()) using > >> edje_object_signal_emit(). > >> - Then, edje_object_message_signal_process() is invoked to update the > layout. > >> > >> edje_object_message_signal_process and edje_message_signal_process are > >> reintrant, so there should be no problem. > >> But, the wrong signal callback will be called from > >> edje_match_callback_exec_check_finals (in edje_match.c:487, sig,source > >> is different from esdc's sig,source). > >> > >> Here's where attached the 1-line patch comes in :) > >> > >> I don't know how to thoroughly test this fix, so please let me know if > >> it's ok :) > >> > >> > >> Also, for some reason, when I click quickly, I receive mouse > >> down,up,up instead of mouse down,up,down,up, but that's probably > >> another story. > >> > >> Best regards, > > > > Holy shit, Jean, I was looking into the very same weirdness here. Yes, > > this is an Edje bug and maybe this is the right fix, indeed! Cedric, > > can you check it please? Very annoying bug, thanks for the effort :) > > Yeah, it was hard to hunt, but I've had plenty of time to dive into EFL. > Glad I can help then :) > > Plenty of time? Make us an official VLC GUI using EFL ;-) > -- > Jean-Philippe André > > > -- > 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 > -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 -- 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] [Edje] Signal callbacks issue (with patch)
On Sat, Jul 28, 2012 at 1:17 AM, Gustavo Lima Chaves wrote: > * Jean-Philippe André [2012-07-27 12:09:48 -0400]: >> I've been looking into the elm_spinner widget, and its most obvious issues. >> The main problem is that the entry is selected when clicking a button, >> and then the buttons becomes useless (in vertical mode). >> >> There are issues in elm_spinner.c as well as spinner.edc, which I'll >> try to address in proper patches later on. >> >> But some extremely weird behaviour occurs: the entry toggle callback >> is called when clicking on a spinner button (up/down). >> Here's why: >> >> - In elm_spinner.c, the mouse down callback calls val_inc_start() as >> expected. >> - This calls [...] elm_layout_set_text() (in label_write()). >> - elm_layout_set_text() emits a signal (in text_signal_emit()) using >> edje_object_signal_emit(). >> - Then, edje_object_message_signal_process() is invoked to update the layout. >> >> edje_object_message_signal_process and edje_message_signal_process are >> reintrant, so there should be no problem. >> But, the wrong signal callback will be called from >> edje_match_callback_exec_check_finals (in edje_match.c:487, sig,source >> is different from esdc's sig,source). >> >> Here's where attached the 1-line patch comes in :) >> >> I don't know how to thoroughly test this fix, so please let me know if >> it's ok :) Sadly, that one logically break the support for multiple callback being fired during the same run. My current understanding of what you see is that somehow due to the reentrance, either the list or the automate is modified and the match no longer make sense. I don't think the issue is with the Edje_Pattern as they are refcounted. Maybe a small workaround would be to build a list of callback to execute instead of executing them directly. I have no idea if that would fix the issue. -- Cedric BAIL -- 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] [Edje] Signal callbacks issue (with patch)
JP!!! Official VLC GUI based on EFL sounds good! Daniel Juyung Seo (SeoZ) On Jul 28, 2012 2:36 AM, "Gustavo Sverzut Barbieri" wrote: > On Friday, July 27, 2012, Jean-Philippe André wrote: > > > Hey, > > > > On Fri, Jul 27, 2012 at 12:17 PM, Gustavo Lima Chaves > > > wrote: > > > * Jean-Philippe André > [2012-07-27 > > 12:09:48 -0400]: > > > > > >> Dear EFL devs, > > >> > > >> I've been looking into the elm_spinner widget, and its most obvious > > issues. > > >> The main problem is that the entry is selected when clicking a button, > > >> and then the buttons becomes useless (in vertical mode). > > >> > > >> There are issues in elm_spinner.c as well as spinner.edc, which I'll > > >> try to address in proper patches later on. > > >> > > >> But some extremely weird behaviour occurs: the entry toggle callback > > >> is called when clicking on a spinner button (up/down). > > >> Here's why: > > >> > > >> - In elm_spinner.c, the mouse down callback calls val_inc_start() as > > expected. > > >> - This calls [...] elm_layout_set_text() (in label_write()). > > >> - elm_layout_set_text() emits a signal (in text_signal_emit()) using > > >> edje_object_signal_emit(). > > >> - Then, edje_object_message_signal_process() is invoked to update the > > layout. > > >> > > >> edje_object_message_signal_process and edje_message_signal_process are > > >> reintrant, so there should be no problem. > > >> But, the wrong signal callback will be called from > > >> edje_match_callback_exec_check_finals (in edje_match.c:487, sig,source > > >> is different from esdc's sig,source). > > >> > > >> Here's where attached the 1-line patch comes in :) > > >> > > >> I don't know how to thoroughly test this fix, so please let me know if > > >> it's ok :) > > >> > > >> > > >> Also, for some reason, when I click quickly, I receive mouse > > >> down,up,up instead of mouse down,up,down,up, but that's probably > > >> another story. > > >> > > >> Best regards, > > > > > > Holy shit, Jean, I was looking into the very same weirdness here. Yes, > > > this is an Edje bug and maybe this is the right fix, indeed! Cedric, > > > can you check it please? Very annoying bug, thanks for the effort :) > > > > Yeah, it was hard to hunt, but I've had plenty of time to dive into EFL. > > Glad I can help then :) > > > > > Plenty of time? Make us an official VLC GUI using EFL ;-) > > > > > -- > > Jean-Philippe André > > > > > > > -- > > 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 > > > > > -- > Gustavo Sverzut Barbieri > http://profusion.mobi embedded systems > -- > MSN: barbi...@gmail.com > Skype: gsbarbieri > Mobile: +55 (19) 9225-2202 > > -- > 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] [Edje] Signal callbacks issue (with patch)
On Sat, Jul 28, 2012 at 3:42 AM, Cedric BAIL wrote: > On Sat, Jul 28, 2012 at 1:17 AM, Gustavo Lima Chaves > wrote: >> * Jean-Philippe André [2012-07-27 12:09:48 -0400]: >>> I've been looking into the elm_spinner widget, and its most obvious issues. >>> The main problem is that the entry is selected when clicking a button, >>> and then the buttons becomes useless (in vertical mode). >>> >>> There are issues in elm_spinner.c as well as spinner.edc, which I'll >>> try to address in proper patches later on. >>> >>> But some extremely weird behaviour occurs: the entry toggle callback >>> is called when clicking on a spinner button (up/down). >>> Here's why: >>> >>> - In elm_spinner.c, the mouse down callback calls val_inc_start() as >>> expected. >>> - This calls [...] elm_layout_set_text() (in label_write()). >>> - elm_layout_set_text() emits a signal (in text_signal_emit()) using >>> edje_object_signal_emit(). >>> - Then, edje_object_message_signal_process() is invoked to update the >>> layout. >>> >>> edje_object_message_signal_process and edje_message_signal_process are >>> reintrant, so there should be no problem. >>> But, the wrong signal callback will be called from >>> edje_match_callback_exec_check_finals (in edje_match.c:487, sig,source >>> is different from esdc's sig,source). >>> >>> Here's where attached the 1-line patch comes in :) >>> >>> I don't know how to thoroughly test this fix, so please let me know if >>> it's ok :) > > Sadly, that one logically break the support for multiple callback > being fired during the same run. My current understanding of what you > see is that somehow due to the reentrance, either the list or the > automate is modified and the match no longer make sense. I don't think > the issue is with the Edje_Pattern as they are refcounted. Maybe a > small workaround would be to build a list of callback to execute > instead of executing them directly. I have no idea if that would fix > the issue. Ok, I have just commited a potential fix for this issue in svn r74539. Let me know if that does fix the problem. Have fun, -- Cedric BAIL -- 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] [Edje] Signal callbacks issue (with patch)
> > > > Sadly, that one logically break the support for multiple callback > > being fired during the same run. My current understanding of what you > > see is that somehow due to the reentrance, either the list or the > > automate is modified and the match no longer make sense. I don't think > > the issue is with the Edje_Pattern as they are refcounted. Maybe a > > small workaround would be to build a list of callback to execute > > instead of executing them directly. I have no idea if that would fix > > the issue. > > Ok, I have just commited a potential fix for this issue in svn r74539. > Let me know if that does fix the problem. It does! Thank you, Cedric and Jean ;) > > Have fun, > -- > Cedric BAIL > > -- > 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 -- Gustavo Lima Chaves Computer Engineer @ ProFUSION Embedded Systems -- 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