I’m using the VS Code Simulator and when I use an event callback to change to my main app screen right after showing the welcome splash screen I got an segmentation fault. Please, any thoughts on this?
void ui_event_Welcome(lv_event_t * e)
{
lv_event_code_t event_code = lv_event_get_code(e);
lv_obj_t * target = lv_event_get_target(e);
if(event_code == LV_EVENT_SCREEN_LOADED) {
_ui_screen_change(&ui_Main, LV_SCR_LOAD_ANIM_FADE_ON, 500, 1500, &ui_Main_screen_init);
}
}
void termo_ui_init(void)
{
lv_disp_t * dispp = lv_disp_get_default();
lv_theme_t * theme = lv_theme_default_init(dispp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED),
false, LV_FONT_DEFAULT);
lv_disp_set_theme(dispp, theme);
ui_Welcome_screen_init();
ui_Main_screen_init();
_ui_screen_change(&ui_Welcome, LV_SCR_LOAD_ANIM_FADE_ON, 500, 0, &ui_Welcome_screen_init);
}
#include "../ui.h"
void ui_Welcome_screen_init(void)
{
ui_Welcome = lv_obj_create(NULL);
lv_obj_clear_flag(ui_Welcome, LV_OBJ_FLAG_SCROLLABLE); /// Flags
ui_Image2 = lv_img_create(ui_Welcome);
lv_img_set_src(ui_Image2, &ui_img_welcome_png);
lv_obj_set_width(ui_Image2, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_Image2, LV_SIZE_CONTENT); /// 1
lv_obj_set_align(ui_Image2, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_Image2, LV_OBJ_FLAG_ADV_HITTEST); /// Flags
lv_obj_clear_flag(ui_Image2, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_add_event_cb(ui_Welcome, ui_event_Welcome, LV_EVENT_ALL, NULL);
}
#include "../ui.h"
void ui_Main_screen_init(void)
{
ui_Main = lv_obj_create(NULL);
lv_obj_clear_flag(ui_Main, LV_OBJ_FLAG_SCROLLABLE); /// Flags
ui_Container1 = lv_obj_create(ui_Main);
lv_obj_remove_style_all(ui_Container1);
lv_obj_set_width(ui_Container1, lv_pct(100));
lv_obj_set_height(ui_Container1, lv_pct(100));
lv_obj_set_align(ui_Container1, LV_ALIGN_CENTER);
lv_obj_set_flex_flow(ui_Container1, LV_FLEX_FLOW_ROW);
lv_obj_set_flex_align(ui_Container1, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START);
lv_obj_clear_flag(ui_Container1, LV_OBJ_FLAG_SCROLLABLE); /// Flags
ui_ContainerMenu = lv_obj_create(ui_Container1);
lv_obj_remove_style_all(ui_ContainerMenu);
lv_obj_set_width(ui_ContainerMenu, 80);
lv_obj_set_height(ui_ContainerMenu, lv_pct(100));
lv_obj_set_align(ui_ContainerMenu, LV_ALIGN_CENTER);
lv_obj_set_flex_flow(ui_ContainerMenu, LV_FLEX_FLOW_COLUMN);
lv_obj_set_flex_align(ui_ContainerMenu, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START);
lv_obj_clear_flag(ui_ContainerMenu, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_ContainerMenu, lv_color_hex(0xF0FF00), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_ContainerMenu, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_ContainerLogo = lv_obj_create(ui_ContainerMenu);
lv_obj_remove_style_all(ui_ContainerLogo);
lv_obj_set_height(ui_ContainerLogo, 64);
lv_obj_set_width(ui_ContainerLogo, lv_pct(100));
lv_obj_set_x(ui_ContainerLogo, 0);
lv_obj_set_y(ui_ContainerLogo, -1);
lv_obj_set_align(ui_ContainerLogo, LV_ALIGN_CENTER);
lv_obj_set_flex_flow(ui_ContainerLogo, LV_FLEX_FLOW_ROW);
lv_obj_set_flex_align(ui_ContainerLogo, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER);
lv_obj_clear_flag(ui_ContainerLogo, LV_OBJ_FLAG_SCROLLABLE); /// Flags
ui_logo = lv_img_create(ui_ContainerLogo);
lv_img_set_src(ui_logo, &ui_img_logo_png);
lv_obj_set_width(ui_logo, LV_SIZE_CONTENT); /// 1
lv_obj_set_height(ui_logo, LV_SIZE_CONTENT); /// 1
lv_obj_set_x(ui_logo, -596);
lv_obj_set_y(ui_logo, -320);
lv_obj_set_align(ui_logo, LV_ALIGN_CENTER);
lv_obj_add_flag(ui_logo, LV_OBJ_FLAG_ADV_HITTEST); /// Flags
lv_obj_clear_flag(ui_logo, LV_OBJ_FLAG_SCROLLABLE); /// Flags
ui_ContainerExpand = lv_obj_create(ui_ContainerMenu);
lv_obj_remove_style_all(ui_ContainerExpand);
lv_obj_set_height(ui_ContainerExpand, 42);
lv_obj_set_width(ui_ContainerExpand, lv_pct(100));
lv_obj_set_x(ui_ContainerExpand, 0);
lv_obj_set_y(ui_ContainerExpand, -1);
lv_obj_set_align(ui_ContainerExpand, LV_ALIGN_RIGHT_MID);
lv_obj_set_flex_flow(ui_ContainerExpand, LV_FLEX_FLOW_ROW);
lv_obj_set_flex_align(ui_ContainerExpand, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER);
lv_obj_clear_flag(ui_ContainerExpand, LV_OBJ_FLAG_SCROLLABLE); /// Flags
ui_ButtonExpand = lv_btn_create(ui_ContainerExpand);
lv_obj_set_width(ui_ButtonExpand, 24);
lv_obj_set_height(ui_ButtonExpand, 24);
lv_obj_set_x(ui_ButtonExpand, -333);
lv_obj_set_y(ui_ButtonExpand, -163);
lv_obj_set_align(ui_ButtonExpand, LV_ALIGN_CENTER);
lv_obj_set_flex_flow(ui_ButtonExpand, LV_FLEX_FLOW_ROW);
lv_obj_set_flex_align(ui_ButtonExpand, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START);
lv_obj_add_flag(ui_ButtonExpand, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags
lv_obj_clear_flag(ui_ButtonExpand, LV_OBJ_FLAG_SCROLLABLE); /// Flags
ui_ContainerMain = lv_obj_create(ui_Container1);
lv_obj_remove_style_all(ui_ContainerMain);
lv_obj_set_height(ui_ContainerMain, lv_pct(100));
lv_obj_set_flex_grow(ui_ContainerMain, 1);
lv_obj_set_x(ui_ContainerMain, -125);
lv_obj_set_y(ui_ContainerMain, 138);
lv_obj_set_align(ui_ContainerMain, LV_ALIGN_CENTER);
lv_obj_set_flex_flow(ui_ContainerMain, LV_FLEX_FLOW_COLUMN);
lv_obj_set_flex_align(ui_ContainerMain, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START);
lv_obj_clear_flag(ui_ContainerMain, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_ContainerMain, lv_color_hex(0xFF0000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_ContainerMain, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_ContainerTop = lv_obj_create(ui_ContainerMain);
lv_obj_remove_style_all(ui_ContainerTop);
lv_obj_set_height(ui_ContainerTop, 66);
lv_obj_set_width(ui_ContainerTop, lv_pct(100));
lv_obj_set_x(ui_ContainerTop, -305);
lv_obj_set_y(ui_ContainerTop, 151);
lv_obj_set_align(ui_ContainerTop, LV_ALIGN_CENTER);
lv_obj_set_flex_flow(ui_ContainerTop, LV_FLEX_FLOW_ROW);
lv_obj_set_flex_align(ui_ContainerTop, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START);
lv_obj_clear_flag(ui_ContainerTop, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_ContainerTop, lv_color_hex(0x8C0000), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_ContainerTop, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
ui_ContainerBody = lv_obj_create(ui_ContainerMain);
lv_obj_remove_style_all(ui_ContainerBody);
lv_obj_set_width(ui_ContainerBody, lv_pct(100));
lv_obj_set_flex_grow(ui_ContainerBody, 1);
lv_obj_set_x(ui_ContainerBody, -305);
lv_obj_set_y(ui_ContainerBody, 151);
lv_obj_set_align(ui_ContainerBody, LV_ALIGN_CENTER);
lv_obj_set_flex_flow(ui_ContainerBody, LV_FLEX_FLOW_ROW);
lv_obj_set_flex_align(ui_ContainerBody, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START);
lv_obj_clear_flag(ui_ContainerBody, LV_OBJ_FLAG_SCROLLABLE); /// Flags
lv_obj_set_style_bg_color(ui_ContainerBody, lv_color_hex(0xFF5353), LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui_ContainerBody, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
//lv_obj_add_event_cb(ui_ButtonExpand, ui_event_ButtonExpand, LV_EVENT_ALL, NULL);
}```