Fix #1795: ensure switch/bar visual state matches logical state (#1805)

This commit is contained in:
embeddedt
2020-09-23 06:41:37 -04:00
committed by GitHub
parent 2b49a7eb28
commit b2d201dba7
3 changed files with 6 additions and 7 deletions

View File

@@ -126,8 +126,8 @@ void lv_switch_on(lv_obj_t * sw, lv_anim_enable_t anim)
#if LV_USE_ANIMATION == 0
anim = LV_ANIM_OFF;
#endif
lv_switch_ext_t * ext = lv_obj_get_ext_attr(sw);
ext->state = 1;
if(lv_bar_get_value(sw) == 1)
return;
lv_bar_set_value(sw, 1, anim);
lv_obj_add_state(sw, LV_STATE_CHECKED);
}
@@ -144,8 +144,8 @@ void lv_switch_off(lv_obj_t * sw, lv_anim_enable_t anim)
#if LV_USE_ANIMATION == 0
anim = LV_ANIM_OFF;
#endif
lv_switch_ext_t * ext = lv_obj_get_ext_attr(sw);
ext->state = 0;
if(lv_bar_get_value(sw) == 0)
return;
lv_bar_set_value(sw, 0, anim);
lv_obj_clear_state(sw, LV_STATE_CHECKED);
}