diff --git a/src/lv_widgets/lv_rotary.c b/src/lv_widgets/lv_rotary.c index f18694f2b..afcffe3d2 100644 --- a/src/lv_widgets/lv_rotary.c +++ b/src/lv_widgets/lv_rotary.c @@ -151,7 +151,7 @@ void lv_rotary_set_value(lv_obj_t * rotary, int16_t value, lv_anim_enable_t anim lv_arc_set_start_angle( rotary, _lv_map(ext->cur_value, ext->min_value, ext->max_value, - ext->arc.arc_angle_start, ext->arc.bg_angle_start) + ext->arc.arc_angle_end, ext->arc.bg_angle_start) ); } else { lv_arc_set_end_angle( @@ -220,9 +220,8 @@ void lv_rotary_set_reverse(lv_obj_t * rotary, bool reverse) uint16_t end = ext->arc.arc_angle_end; ext->arc.arc_angle_end = ext->arc.bg_angle_end; - ext->arc.arc_angle_start= end; - - lv_obj_invalidate(rotary); + + lv_rotary_set_value(rotary, ext->cur_value, false); } /**