diff --git a/src/extra/widgets/tabview/lv_tabview.c b/src/extra/widgets/tabview/lv_tabview.c index 240bca756..701423371 100644 --- a/src/extra/widgets/tabview/lv_tabview.c +++ b/src/extra/widgets/tabview/lv_tabview.c @@ -126,6 +126,7 @@ void lv_tabview_set_act(lv_obj_t * obj, uint32_t id, lv_anim_enable_t anim_en) lv_obj_update_layout(obj); lv_obj_t * cont = lv_tabview_get_content(obj); + if(cont == NULL) return; lv_coord_t gap = lv_obj_get_style_pad_column(cont, LV_PART_MAIN); lv_coord_t w = lv_obj_get_content_width(obj); lv_obj_scroll_to_x(cont, id * (gap + w), anim_en); @@ -246,11 +247,12 @@ static void lv_tabview_event(const lv_obj_class_t * class_p, lv_event_t * e) lv_event_code_t code = lv_event_get_code(e); lv_obj_t * target = lv_event_get_target(e); - if(code == LV_EVENT_SIZE_CHANGED) { + if(code == LV_EVENT_SIZE_CHANGED || LV_EVENT_CHILD_CHANGED) { lv_tabview_set_act(target, lv_tabview_get_tab_act(target), LV_ANIM_OFF); } } + static void btns_value_changed_event_cb(lv_event_t * e) { lv_obj_t * btns = lv_event_get_target(e);