[E-devel] [Edje] Signal callbacks issue (with patch)

2012-07-27 Thread Jean-Philippe André
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)

2012-07-27 Thread Gustavo Lima Chaves
* 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)

2012-07-27 Thread Jean-Philippe André
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)

2012-07-27 Thread Gustavo Sverzut Barbieri
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)

2012-07-27 Thread Cedric BAIL
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)

2012-07-27 Thread Daniel Juyung Seo
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)

2012-07-28 Thread Cedric BAIL
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)

2012-07-30 Thread Gustavo Lima Chaves
> >
> > 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