_ui_screen_change event isn't triggered after adding a custom screen to already exported squl. project

Description

I want to add a screen to a existing squareline project, because i allready made many changes in some of the screens. While the new screens appear, some buttons stoped working and i cant find the reason

What MCU/Processor/Board and compiler are you using?

esp32 wroom

What LVGL version are you using?

8.3.6

What do you want to achieve?

I want to fix the problem with the buttons that stopped working.

What have you tried so far?

I it has have to do with the implementation of the new screens. I added them to ui.h, ui.c, ui.event.c, ui.event.h and C.Makelists.txt. The screens i copied to the screens folder.

Code to reproduce

This is the simplest screen. The ButtonBlt works, The ImgButtonHomefromDatentransfer doesnt. This button should bring me back to the start page. However it doesnt work on any screen.


#include "../ui.h"

void ui_Datentransfer_screen_init(void)
{
ui_Datentransfer = lv_obj_create(NULL);
lv_obj_clear_flag( ui_Datentransfer, LV_OBJ_FLAG_SCROLLABLE );    /// Flags

ui_OberleisteDatentransfer = lv_obj_create(ui_Datentransfer);
lv_obj_set_width( ui_OberleisteDatentransfer, lv_pct(100));
lv_obj_set_height( ui_OberleisteDatentransfer, lv_pct(20));
lv_obj_set_align( ui_OberleisteDatentransfer, LV_ALIGN_TOP_MID );
lv_obj_clear_flag( ui_OberleisteDatentransfer, LV_OBJ_FLAG_SCROLLABLE );    /// Flags
lv_obj_set_style_radius(ui_OberleisteDatentransfer, 0, LV_PART_MAIN| LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui_OberleisteDatentransfer, lv_color_hex(0x292831), LV_PART_MAIN | LV_STATE_DEFAULT );
lv_obj_set_style_bg_opa(ui_OberleisteDatentransfer, 255, LV_PART_MAIN| LV_STATE_DEFAULT);
lv_obj_set_style_border_width(ui_OberleisteDatentransfer, 0, LV_PART_MAIN| LV_STATE_DEFAULT);

ui_ImgButtonHomefromDatentransfer = lv_btn_create(ui_OberleisteDatentransfer);
//lv_imgbtn_set_src(ui_ImgButtonHomefromDatentransfer, LV_IMGBTN_STATE_RELEASED, NULL, &ui_img_1766186437, NULL);
lv_obj_set_width( ui_ImgButtonHomefromDatentransfer, 20);
lv_obj_set_height( ui_ImgButtonHomefromDatentransfer, 20);
lv_obj_set_x( ui_ImgButtonHomefromDatentransfer, -103 );
lv_obj_set_y( ui_ImgButtonHomefromDatentransfer, 0 );
lv_obj_set_align( ui_ImgButtonHomefromDatentransfer, LV_ALIGN_CENTER );
lv_obj_add_flag(ui_ImgButtonHomefromDatentransfer, LV_OBJ_FLAG_CLICKABLE); // hinzugefügt
lv_obj_add_flag( ui_ImgButtonHomefromDatentransfer, LV_OBJ_FLAG_SCROLL_ON_FOCUS );   /// Flags
lv_obj_clear_flag( ui_ImgButtonHomefromDatentransfer, LV_OBJ_FLAG_SCROLLABLE );    /// Flags
lv_obj_set_style_bg_color(ui_ImgButtonHomefromDatentransfer, lv_color_hex(0x292999), LV_PART_MAIN | LV_STATE_DEFAULT );
lv_obj_set_style_bg_opa(ui_ImgButtonHomefromDatentransfer, 255, LV_PART_MAIN| LV_STATE_DEFAULT);

ui_ImgButtonbackfromDatentransfer = lv_imgbtn_create(ui_OberleisteDatentransfer);
lv_imgbtn_set_src(ui_ImgButtonbackfromDatentransfer, LV_IMGBTN_STATE_RELEASED, NULL, &ui_img_985096273, NULL);
lv_obj_set_width( ui_ImgButtonbackfromDatentransfer, 20);
lv_obj_set_height( ui_ImgButtonbackfromDatentransfer, 20);
lv_obj_set_x( ui_ImgButtonbackfromDatentransfer, -141 );
lv_obj_set_y( ui_ImgButtonbackfromDatentransfer, 0 );
lv_obj_set_align( ui_ImgButtonbackfromDatentransfer, LV_ALIGN_CENTER );



ui_ButtonBLT = lv_btn_create(ui_Datentransfer);
lv_obj_set_width( ui_ButtonBLT, 100);
lv_obj_set_height( ui_ButtonBLT, 50);
lv_obj_set_align( ui_ButtonBLT, LV_ALIGN_CENTER );
lv_obj_add_flag( ui_ButtonBLT, LV_OBJ_FLAG_SCROLL_ON_FOCUS );   /// Flags
lv_obj_clear_flag( ui_ButtonBLT, LV_OBJ_FLAG_SCROLLABLE );    /// Flags
lv_obj_set_style_bg_color(ui_ButtonBLT, lv_color_hex(0x292831), LV_PART_MAIN | LV_STATE_DEFAULT );
lv_obj_set_style_bg_opa(ui_ButtonBLT, 255, LV_PART_MAIN| LV_STATE_DEFAULT);

ui_LabelBLT = lv_label_create(ui_ButtonBLT);
lv_obj_set_width( ui_LabelBLT, LV_SIZE_CONTENT);  /// 1
lv_obj_set_height( ui_LabelBLT, LV_SIZE_CONTENT);   /// 1
lv_obj_set_align( ui_LabelBLT, LV_ALIGN_CENTER );
lv_label_set_text(ui_LabelBLT,"connect");

lv_obj_add_event_cb(ui_ImgButtonHomefromDatentransfer, ui_event_ImgButtonHomefromDatentransfer, LV_EVENT_ALL, NULL);
lv_obj_add_event_cb(ui_ButtonBLT, ui_event_ButtonBLT, LV_EVENT_ALL, NULL);

}

The relevant parts of the ui.c file:

// SCREEN: ui_Datentransfer

void ui_Datentransfer_screen_init(void);

lv_obj_t *ui_Datentransfer;

lv_obj_t *ui_OberleisteDatentransfer;

void ui_event_ImgButtonHomefromDatentransfer( lv_event_t * e);

lv_obj_t *ui_ImgButtonHomefromDatentransfer;

lv_obj_t *ui_ImgButtonbackfromDatentransfer;

void ui_event_ButtonBLT( lv_event_t * e);

lv_obj_t *ui_ButtonBLT;

lv_obj_t *ui_LabelBLT;

lv_obj_t *ui____initial_actions0;



void ui_event_ImgButtonHomefromDatentransfer( lv_event_t * e) {
    printf("Entered ui_event_ImgButtonHomefromDatentransfer\n");
    lv_event_code_t event_code = lv_event_get_code(e);
    printf("Event code: %d\n", event_code);
    //lv_event_code_t event_code = lv_event_get_code(e);lv_obj_t * target = lv_event_get_target(e); ändern! oben weg
if ( event_code == LV_EVENT_CLICKED) {
    printf("pressed");
      _ui_screen_change( &ui_Startbildschirm, LV_SCR_LOAD_ANIM_FADE_ON, 500, 0, &ui_Startbildschirm_screen_init);
      printf("presseddone");
}
}
void ui_event_ButtonBLT( 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_CLICKED) {
      connecttoblt( e );

The ImgButtonHomefromDatentransfer isnt triggered at all. I have tried a lot but nothing worked to fix this. Did i forget to change some file?
I would be very thankful for help or any suggestions.

Why is the button “ui_ImgButtonHomefromDatentransfer” created on the object “ui_OberleisteDatentransfer”, and the second button on the “ui_Datentransfer object”?

The “ui_ImgButtonbackfromDatentransfer” object should be created on the “ui_ImgButtonHomefromDatentransfer” object.