diff --git a/legacy/elementary/AUTHORS b/legacy/elementary/AUTHORS index 1ea7e24e6e..08ba166c62 100644 --- a/legacy/elementary/AUTHORS +++ b/legacy/elementary/AUTHORS @@ -61,3 +61,4 @@ Michal Pakula vel Rutka Thiep Ha Artem Popov Minseok Kim +Jean-Philippe André \ No newline at end of file diff --git a/legacy/elementary/src/lib/elm_spinner.c b/legacy/elementary/src/lib/elm_spinner.c index 3c276ab06c..7abbce3aac 100644 --- a/legacy/elementary/src/lib/elm_spinner.c +++ b/legacy/elementary/src/lib/elm_spinner.c @@ -325,8 +325,16 @@ static Eina_Bool _spin_value(void *data) { ELM_SPINNER_DATA_GET(data, sd); + double real_speed = sd->spin_speed; - if (_value_set(data, sd->val + sd->spin_speed)) _label_write(data); + /* Sanity check: our step size should be at least as large as our rounding value */ + if ((sd->spin_speed != 0.0) && (abs(sd->spin_speed) < sd->round)) + { + WRN("The spinning step is smaller than the rounding value, please check your code"); + real_speed = sd->spin_speed > 0 ? sd->round : -sd->round; + } + + if (_value_set(data, sd->val + real_speed)) _label_write(data); sd->interval = sd->interval / 1.05; ecore_timer_interval_set(sd->spin, sd->interval);