diff --git a/src/lv_widgets/lv_list.c b/src/lv_widgets/lv_list.c index 8ccdb0b335..0db402c215 100644 --- a/src/lv_widgets/lv_list.c +++ b/src/lv_widgets/lv_list.c @@ -250,9 +250,13 @@ bool lv_list_remove(const lv_obj_t * list, uint16_t index) { LV_ASSERT_OBJ(list, LV_OBJX_NAME); + lv_list_ext_t * ext = lv_obj_get_ext_attr(list); uint16_t count = 0; lv_obj_t * e = lv_list_get_next_btn(list, NULL); while(e != NULL) { + if(e == ext->last_sel_btn) ext->last_sel_btn = NULL; + if(e == ext->act_sel_btn) ext->act_sel_btn = NULL; + if(count == index) { lv_obj_del(e); return true;