fix apps loading logic

This commit is contained in:
MX
2024-04-05 08:57:34 +03:00
parent 1e324a7314
commit 344b624efc

View File

@@ -68,17 +68,15 @@ static inline bool desktop_scene_main_check_none(const char* str) {
static void desktop_scene_main_open_app_or_profile(Desktop* desktop, FavoriteApp* application) {
bool load_ok = false;
if(strlen(application->name_or_path) > 0) {
if(desktop_scene_main_check_none(application->name_or_path)) {
// skip loading
load_ok = true;
} else if(
loader_start(desktop->loader, application->name_or_path, NULL, NULL) ==
LoaderStatusOk) {
load_ok = true;
if(!desktop_scene_main_check_none(application->name_or_path)) {
// Load app
loader_start_detached_with_gui_error(desktop->loader, application->name_or_path, NULL);
}
load_ok = true;
}
// In case of "default" setting
if(!load_ok) {
loader_start(desktop->loader, "Passport", NULL, NULL);
loader_start_detached_with_gui_error(desktop->loader, "Passport", NULL);
}
}
@@ -88,7 +86,7 @@ static void desktop_scene_main_start_favorite(Desktop* desktop, FavoriteApp* app
loader_start_detached_with_gui_error(desktop->loader, application->name_or_path, NULL);
}
} else {
loader_start(desktop->loader, LOADER_APPLICATIONS_NAME, NULL, NULL);
loader_start_detached_with_gui_error(desktop->loader, LOADER_APPLICATIONS_NAME, NULL);
}
}