raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=44a70ab98ce0814b2090e2dff015631cb5ec5555

commit 44a70ab98ce0814b2090e2dff015631cb5ec5555
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Sat Dec 24 09:47:58 2016 +0900

    Revert "spinner: call changed callback on value set."
    
    This reverts commit 082ea9667343b7016d86143a625881a8c4aa30a4.
    
    As per mail from Andrii, and he's right:
    
    From: Andrii Kroitor <[email protected]>
    To: Enlightenment developer list <[email protected]>
    Subject: [E-devel] elementary callbacks hell
    Date: Fri, 23 Dec 2016 18:03:58 +0200
    
    Recently existing callbacks behavior was broken once again. This time by
    
https://git.enlightenment.org/core/efl.git/commit/?id=082ea9667343b7016d86143a625881a8c4aa30a4
    Before that commit "changed" callback was triggered only on user
    changes, after - on user changes and changes from code.
    I understand that in some cases this flow is needed. But previously you
    could simply trigger your callback after setting value to spinner from
    code to get desired missing behavior.
    On the other side - now you can't distinguish value changes made by code
    from value changes made by user without dirty and painful to support
    hacks. If you don't want your callback to be
    triggered by elm_spinner_value_set you need to add some flag meaning
    "change from code", raise it before every call of value_set, check it
    inside callback, remove it after the call.
    And if you want to call it from spinner "changed" callback..? Good luck
    here. This is possible, but requires additional wrappers around
    spinner_add and spinner_value_set and replacement with custom signals.
    
    So this change added bigger problems than solved.
---
 src/lib/elementary/elm_spinner.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/elementary/elm_spinner.c b/src/lib/elementary/elm_spinner.c
index 3d8746a..7c6efb0 100644
--- a/src/lib/elementary/elm_spinner.c
+++ b/src/lib/elementary/elm_spinner.c
@@ -1540,7 +1540,6 @@ _elm_spinner_efl_ui_spin_value_set(Eo *obj, 
Elm_Spinner_Data *sd, double val)
 
    _val_set(obj);
    _label_write(obj);
-   efl_event_callback_legacy_call(obj, ELM_SPINNER_EVENT_CHANGED, NULL);
 }
 
 EOLIAN static double

-- 


Reply via email to