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é

Attachment: 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

Reply via email to