From 2a78cc0d464402936415eeeede170db54efcc372 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 1 Apr 2026 13:12:04 +0600 Subject: [PATCH 01/11] Fixed main components softlock --- source/ubinstall-gtk-bootloader.c | 2 +- source/ubinstall-gtk-components.c | 6 +++--- source/ubinstall-gtk-installation.c | 2 +- source/ubinstall-gtk-kernel.c | 2 +- source/ubinstall-gtk-keyboard.c | 2 +- source/ubinstall-gtk-language.c | 2 +- source/ubinstall-gtk-network.c | 2 +- source/ubinstall-gtk-packages.c | 2 +- source/ubinstall-gtk-region.c | 2 +- source/ubinstall-gtk-saving.c | 10 ++++++++-- source/ubinstall-gtk-startup-apps.c | 2 +- source/ubinstall-gtk-startup-services.c | 2 +- source/ubinstall-gtk-users.c | 2 +- 13 files changed, 22 insertions(+), 16 deletions(-) diff --git a/source/ubinstall-gtk-bootloader.c b/source/ubinstall-gtk-bootloader.c index 28762bf..c780787 100644 --- a/source/ubinstall-gtk-bootloader.c +++ b/source/ubinstall-gtk-bootloader.c @@ -449,7 +449,7 @@ void yon_bootloader_init(main_window *widgets){ int size = 0; config_str users = yon_config_get_all_by_key(GRUB_PASSWORD_parameter_search,&size); yon_config_remove_by_list(users,size); - yon_config_update_by_args(GRUB_TIMEOUT_parameter,GRUB_SUPERUSERS_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, GRUB_TIMEOUT_parameter,GRUB_SUPERUSERS_parameter,NULL); yon_config_load_config(YON_CONFIG_CUSTOM,ubconfig_load_command(main_config.config_load_path),GRUB_PASSWORD_parameter_command_all,NULL); } gtk_list_store_clear(widgets->BootloadUsersList); diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index e725c7b..d76673a 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -320,7 +320,7 @@ void yon_modules_missed_func(main_window *widgets){ void yon_os_components_init(main_window *widgets){ if (!main_config.configure_mode){ - yon_config_update_by_args(modules_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, modules_parameter,NULL); } // int size = 0; GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox)); @@ -474,7 +474,7 @@ gboolean yon_software_insert(struct row_data *row_input){ void yon_software_init(main_window *widgets){ on_status_update(NULL,widgets); if (!main_config.configure_mode){ - yon_config_update_by_args(packages_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, packages_parameter,NULL); } GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdditionalComponentsList)); GList *iter; @@ -550,7 +550,7 @@ int yon_pacman_software_save(main_window *widgets){ void yon_pacman_init(main_window *widgets){ on_status_update(NULL,widgets); if (!main_config.configure_mode){ - yon_config_update_by_args(packages_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, packages_parameter,NULL); } gtk_list_store_clear(widgets->PacmanSoftwareChosenList); char *pacman_packages = config(packages_parameter); diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c index 80daa2d..e35c10c 100644 --- a/source/ubinstall-gtk-installation.c +++ b/source/ubinstall-gtk-installation.c @@ -317,7 +317,7 @@ void yon_userdata_password_open(GtkWidget *, main_window *widgets){ void yon_install_init(main_window *widgets, enum YON_PAGES page){ if (!main_config.configure_mode){ - yon_config_update_by_args(AUTOINSTALL_TYPE_INSTALL,device_parameter,part_label_parameter,part_fs_type_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, AUTOINSTALL_TYPE_INSTALL,device_parameter,part_label_parameter,part_fs_type_parameter,NULL); } yon_devices_setup(widgets); diff --git a/source/ubinstall-gtk-kernel.c b/source/ubinstall-gtk-kernel.c index 0392142..657f854 100644 --- a/source/ubinstall-gtk-kernel.c +++ b/source/ubinstall-gtk-kernel.c @@ -189,7 +189,7 @@ void yon_kernel_addon_resize(main_window *widgets){ void yon_kernel_init(main_window *widgets){ on_status_update(NULL,widgets); if (!main_config.configure_mode){ - yon_config_update_by_args(packages_parameter,KERNEL_BOOT_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, packages_parameter,KERNEL_BOOT_parameter,NULL); } GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelListBox)); GList *iter; diff --git a/source/ubinstall-gtk-keyboard.c b/source/ubinstall-gtk-keyboard.c index a4714c7..11e8206 100644 --- a/source/ubinstall-gtk-keyboard.c +++ b/source/ubinstall-gtk-keyboard.c @@ -56,7 +56,7 @@ int yon_keyboard_save(main_window *widgets){ void yon_keyboard_init(main_window *widgets){ if (!main_config.configure_mode){ - yon_config_update_by_args(xkbmodel_parameter,num_lock_boot_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, xkbmodel_parameter,num_lock_boot_parameter,NULL); } g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardModelCombo),G_CALLBACK(on_model_changed),widgets); g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardDefaultLayoutsSwitch),G_CALLBACK(on_layout_default_toggled),widgets); diff --git a/source/ubinstall-gtk-language.c b/source/ubinstall-gtk-language.c index 5a524e9..f759ff0 100644 --- a/source/ubinstall-gtk-language.c +++ b/source/ubinstall-gtk-language.c @@ -281,7 +281,7 @@ int yon_language_save(main_window *widgets){ void yon_language_init(main_window *widgets){ if (!main_config.configure_mode){ - yon_config_update_by_args(lang_parameter, locale_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, lang_parameter, locale_parameter,NULL); } yon_language_update(widgets); } diff --git a/source/ubinstall-gtk-network.c b/source/ubinstall-gtk-network.c index 5212ee9..b694aab 100644 --- a/source/ubinstall-gtk-network.c +++ b/source/ubinstall-gtk-network.c @@ -320,7 +320,7 @@ void yon_network_init(main_window *widgets){ int size = 0; config_str users = yon_config_get_all_by_key(NETWORK_parameter_search,&size); yon_config_remove_by_list(users,size); - yon_config_update_by_args(DOMAIN_parameter,DOMAIN_admanger_parameter,NTPSERVERS_parameter,hostname_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, DOMAIN_parameter,DOMAIN_admanger_parameter,NTPSERVERS_parameter,hostname_parameter,NULL); yon_config_load_config(YON_CONFIG_CUSTOM,ubconfig_load_command(main_config.config_load_path),NETWORK_parameter_all,NULL); } GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->NetworkConnectionsBox)); diff --git a/source/ubinstall-gtk-packages.c b/source/ubinstall-gtk-packages.c index d09b0a8..397086f 100644 --- a/source/ubinstall-gtk-packages.c +++ b/source/ubinstall-gtk-packages.c @@ -69,7 +69,7 @@ GtkTreeIter *yon_subcategory_check(GtkTreeStore *target, GtkTreeIter *parent_ite void yon_packages_tab_init(main_window *widgets){ on_status_update(NULL,widgets); if (!main_config.configure_mode){ - yon_config_update_by_args(packages_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, packages_parameter,NULL); } if (!main_config.configure_mode){ yon_config_remove_by_args(packages_parameter,NULL); diff --git a/source/ubinstall-gtk-region.c b/source/ubinstall-gtk-region.c index 818cff7..e335b74 100644 --- a/source/ubinstall-gtk-region.c +++ b/source/ubinstall-gtk-region.c @@ -196,7 +196,7 @@ void on_region_entry_changed(GtkWidget *, main_window *widgets){ void yon_region_init(main_window *widgets){ if (!main_config.configure_mode){ - yon_config_update_by_args(zone_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, zone_parameter,NULL); } yon_timezone_init(); gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->RegionCombo)); diff --git a/source/ubinstall-gtk-saving.c b/source/ubinstall-gtk-saving.c index 53f018f..1994897 100644 --- a/source/ubinstall-gtk-saving.c +++ b/source/ubinstall-gtk-saving.c @@ -57,12 +57,18 @@ void on_config_local_load(GtkWidget *,main_window *widgets){ } void on_config_custom_load(GtkWidget *,main_window *){ + char *temp_custom_path = NULL; if (!yon_char_is_empty(main_config.config_load_path)){ - free(main_config.config_load_path); + temp_custom_path = main_config.config_load_path; main_config.config_load_path = NULL; } yon_load_proceed(YON_CONFIG_CUSTOM); - main_config.load_mode=YON_CONFIG_CUSTOM; + if (!yon_char_is_empty(main_config.config_load_path)){ + main_config.load_mode=YON_CONFIG_CUSTOM; + free(temp_custom_path); + } else { + main_config.config_load_path = temp_custom_path; + } } void on_config_custom_load_last(GtkWidget *,main_window *){ diff --git a/source/ubinstall-gtk-startup-apps.c b/source/ubinstall-gtk-startup-apps.c index 71489b1..c2a8fd0 100644 --- a/source/ubinstall-gtk-startup-apps.c +++ b/source/ubinstall-gtk-startup-apps.c @@ -43,7 +43,7 @@ void on_startup_apps_remove(GtkWidget *self,main_window *widgets){ void yon_startup_apps_init(main_window *widgets){ if (!main_config.configure_mode){ - yon_config_update_by_args(AUTOEXEC_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, AUTOEXEC_parameter,NULL); } GtkTreeIter iter; gtk_list_store_clear(widgets->StartupAppsList); diff --git a/source/ubinstall-gtk-startup-services.c b/source/ubinstall-gtk-startup-services.c index 9d4a656..2ffbc04 100644 --- a/source/ubinstall-gtk-startup-services.c +++ b/source/ubinstall-gtk-startup-services.c @@ -51,7 +51,7 @@ void on_startup_services_remove(GtkWidget *self,main_window *widgets){ void yon_startup_services_init(main_window *widgets){ if (!main_config.configure_mode){ - yon_config_update_by_args(SERVICES_ENABLE_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, SERVICES_ENABLE_parameter,NULL); } GtkTreeIter iter; gtk_list_store_clear(widgets->StartupList); diff --git a/source/ubinstall-gtk-users.c b/source/ubinstall-gtk-users.c index 5efd748..80ca30e 100644 --- a/source/ubinstall-gtk-users.c +++ b/source/ubinstall-gtk-users.c @@ -194,7 +194,7 @@ void yon_user_init(main_window *widgets){ } } yon_config_remove_by_list(users,size); - yon_config_update_by_args(autologin_parameter,root_password_parameter,NULL); + yon_config_update_by_args(main_config.config_load_path, autologin_parameter,root_password_parameter,NULL); config_str parameters = yon_config_load(config_get_command(main_config.config_load_path),&size); for (int i=0;i Date: Wed, 1 Apr 2026 13:20:09 +0600 Subject: [PATCH 02/11] Test fix for crash --- source/ubinstall-gtk-config-hub.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/source/ubinstall-gtk-config-hub.c b/source/ubinstall-gtk-config-hub.c index 24eea7e..a2edd67 100644 --- a/source/ubinstall-gtk-config-hub.c +++ b/source/ubinstall-gtk-config-hub.c @@ -58,16 +58,18 @@ int yon_installation_check_packages_size(main_window *widgets){ } else { char *part = config(part_parameter); - for (int i=0;i2&&!strcmp(parsed[2],part)&&parsed_size>3&&!yon_char_is_empty(parsed[3])){ - part_size = atol(parsed[3]); - + if (!yon_char_is_empty(part)){ + for (int i=0;i2&&!strcmp(parsed[2],part)&&parsed_size>3&&!yon_char_is_empty(parsed[3])){ + part_size = atol(parsed[3]); + + yon_char_parsed_free(parsed,parsed_size); + break; + } yon_char_parsed_free(parsed,parsed_size); - break; } - yon_char_parsed_free(parsed,parsed_size); } } long packages_size = 0; -- 2.35.1 From 4cdb793d8ecc5bd97f2892ca3d4de8e418cdae5c Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 1 Apr 2026 13:48:22 +0600 Subject: [PATCH 03/11] Fixed config saving --- source/ubinstall-gtk-saving.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-saving.c b/source/ubinstall-gtk-saving.c index 1994897..6c9306e 100644 --- a/source/ubinstall-gtk-saving.c +++ b/source/ubinstall-gtk-saving.c @@ -344,7 +344,7 @@ int yon_config_save(main_window *widgets){ yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),ERROR_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); return 0; } - char *command = yon_debug_output("%s\n",ubconfig_set_command_full(main_config.config_save_path,"[autoinstall]",yon_char_parsed_to_string(parameters,size," "))); + char *command = yon_debug_output("%s\n",ubconfig_set_command_full(main_config.config_load_path,"[autoinstall]",yon_char_parsed_to_string(parameters,size," "))); if (system(command)){ return 0; } -- 2.35.1 From a9cdf18ec63081d9ac9c85d70362eb7eaf801f38 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 1 Apr 2026 14:14:59 +0600 Subject: [PATCH 04/11] Fixed common installation page saving --- source/ubinstall-gtk-installation.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c index e35c10c..ec8342a 100644 --- a/source/ubinstall-gtk-installation.c +++ b/source/ubinstall-gtk-installation.c @@ -30,7 +30,7 @@ int yon_install_common_save(main_window *widgets){ } if (!main_config.configure_mode){ - yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,AUTOINSTALL_TYPE_INSTALL,device_parameter,part_label_parameter,part_fs_type_parameter,NULL)); + yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,AUTOINSTALL_TYPE_INSTALL,device_parameter,part_parameter,part_size_parameter,part_label_parameter,part_fs_type_parameter,NULL)); } return 1; } -- 2.35.1 From 1258528fcc65beee88cdb0914606f3f4dedfdf80 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 1 Apr 2026 15:02:30 +0600 Subject: [PATCH 05/11] Fixed load menu items sensitivity --- source/ubinstall-gtk-advanced.c | 13 ++++++++----- source/ubinstall-gtk-page-switch.c | 17 +++++++++++++++++ source/ubinstall-gtk.h | 4 ++-- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/source/ubinstall-gtk-advanced.c b/source/ubinstall-gtk-advanced.c index 560750d..803164e 100644 --- a/source/ubinstall-gtk-advanced.c +++ b/source/ubinstall-gtk-advanced.c @@ -170,7 +170,7 @@ void yon_advanced_part_clean_config(){ yon_config_remove_by_key(part_format_parameter); } -void yon_advanced_part_save_part(advanced_part_data *data){ +gboolean yon_advanced_part_save_part(advanced_part_data *data){ if (!config(device_parameter)) yon_config_register(device_parameter,device_parameter_command,NULL); if (!config(part_parameter)) yon_config_register(part_parameter,part_parameter_command,NULL); if (!config(part_size_parameter)) yon_config_register(part_size_parameter,part_size_parameter_command,NULL); @@ -190,7 +190,7 @@ void yon_advanced_part_save_part(advanced_part_data *data){ yon_config_force_append_element(part_fs_label_parameter,"",","); yon_config_force_append_element(part_crypt_parameter,"",","); yon_config_force_append_element(part_format_parameter,"",","); - return; + return 0; } yon_config_force_append_element(device_parameter,data->device,","); yon_config_force_append_element(part_parameter,data->partition,","); @@ -208,9 +208,10 @@ void yon_advanced_part_save_part(advanced_part_data *data){ yon_config_force_append_element(part_fs_label_parameter,data->fs_label,","); yon_config_force_append_element(part_crypt_parameter,data->encryption,","); yon_config_force_append_element(part_format_parameter,data->format,","); + return 1; } -void yon_advanced_part_save(main_window *widgets){ +gboolean yon_advanced_part_save(main_window *widgets){ GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdvancedPartitionAddBox)); advanced_part_data *data1 = NULL; @@ -226,13 +227,15 @@ void yon_advanced_part_save(main_window *widgets){ yon_advanced_part_to_data(part2,data2); } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(part1->SystemSectionToggle))){ - yon_advanced_part_save_part(data1); - yon_advanced_part_save_part(data2); + if (!yon_advanced_part_save_part(data1)&&!yon_advanced_part_save_part(data2)){ + return 0; + } } else { yon_advanced_part_save_part(data2); yon_advanced_part_save_part(data1); } } + return 1; } int yon_advanced_save(main_window *widgets){ diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c index 707f465..ad24a39 100644 --- a/source/ubinstall-gtk-page-switch.c +++ b/source/ubinstall-gtk-page-switch.c @@ -183,6 +183,8 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){ case YON_PAGE_INSTALL_ERROR: case YON_PAGE_CONFIGURE_SAVE: case YON_PAGE_COMPLETION: + gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,0); + gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,0); gtk_button_set_label(GTK_BUTTON(widgets->NextButton),RESTART_LABEL); gtk_widget_hide(widgets->BackButton); gtk_widget_set_sensitive(widgets->CancelInstallButton,1); @@ -195,6 +197,8 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){ gtk_widget_set_sensitive(widgets->BackButton,1); gtk_widget_set_sensitive(widgets->NextButton,1); gtk_widget_set_sensitive(widgets->CancelInstallButton,1); + gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,1); + gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,1); gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),EXIT_LABEL); if (!yon_char_is_empty(config(AUTOINSTALL_TYPE_INSTALL))&&!main_config.configure_mode){ gtk_widget_show(widgets->StartScenarioButton); @@ -202,6 +206,19 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){ gtk_widget_hide(widgets->StartScenarioButton); } break; + case YON_PAGE_INSTALL_COMMON: + case YON_PAGE_INSTALL_SEPARATE: + case YON_PAGE_INSTALL_SAME_PARTITION: + case YON_PAGE_INSTALL_ADVANCED: + case YON_PAGE_INSTALL_RECOVERY: + case YON_PAGE_RECOVERY_GRUB_INSTALL: + case YON_PAGE_RECOVERY_GRUB_UPDATE: + case YON_PAGE_RECOVERY_OS_ONLY: + case YON_PAGE_RECOVERY_USRDATA_ONLY: + { + gtk_widget_set_sensitive(widgets->LoadLocalConfigurationMenuItem,0); + gtk_widget_set_sensitive(widgets->LoadExternalConfigurationMenuItem,0); + } break; default: gtk_widget_set_sensitive(widgets->BackButton,1); gtk_widget_set_sensitive(widgets->NextButton,1); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 485d916..a6bac12 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1602,10 +1602,10 @@ void on_advanced_part_content_changed(GtkWidget *, GtkWidget *, main_window *wid gboolean on_keyboard_search_func(GtkTreeModel *model, gint, const char *key, GtkTreeIter *iter, main_window *); void yon_update_part_sections(main_window *widgets); void on_advanced_part_toggled(GtkWidget *self); -void yon_advanced_part_save(main_window *widgets); +gboolean yon_advanced_part_save(main_window *widgets); void yon_advanced_part_clean_config(); void yon_advanced_part_to_data(advanced_part_widgets *part, advanced_part_data *data); -void yon_advanced_part_save_part(advanced_part_data *data); +gboolean yon_advanced_part_save_part(advanced_part_data *data); void yon_advanced_part_remove_for_part(const char *part_name, main_window *widgets); int yon_software_check_packages_size(GtkWidget *, main_window *widgets); void yon_user_admin_check(GtkWidget *self, main_window *widgets); -- 2.35.1 From a283f02a42e0f47e862ae5d082f4d318f70abc4a Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 1 Apr 2026 15:49:38 +0600 Subject: [PATCH 06/11] Test fix for softlock --- source/ubinstall-gtk-saving.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/ubinstall-gtk-saving.c b/source/ubinstall-gtk-saving.c index 6c9306e..9b98b7c 100644 --- a/source/ubinstall-gtk-saving.c +++ b/source/ubinstall-gtk-saving.c @@ -19,6 +19,7 @@ void yon_load_proceed(YON_CONFIG_TYPE type){ main_config.startup_config = NULL; yon_config_custom_load_config(&main_config.startup_config,config_get_command("system"),NULL); main_config.config_load_path = yon_char_new("system"); + main_config.config_save_path = main_config.config_load_path; yon_config_load_config(type,config_get_command("system"),NULL); break; case YON_CONFIG_CUSTOM: @@ -27,6 +28,7 @@ void yon_load_proceed(YON_CONFIG_TYPE type){ path=yon_custom_config_init(GTK_FILE_CHOOSER_ACTION_OPEN); if (!yon_char_is_empty(path)){ main_config.config_load_path = yon_char_new(path); + main_config.config_save_path = main_config.config_load_path; yon_config_clean(); yon_config_load_config(type,config_get_command(path),NULL); } @@ -61,6 +63,7 @@ void on_config_custom_load(GtkWidget *,main_window *){ if (!yon_char_is_empty(main_config.config_load_path)){ temp_custom_path = main_config.config_load_path; main_config.config_load_path = NULL; + main_config.config_save_path = NULL; } yon_load_proceed(YON_CONFIG_CUSTOM); if (!yon_char_is_empty(main_config.config_load_path)){ @@ -68,6 +71,7 @@ void on_config_custom_load(GtkWidget *,main_window *){ free(temp_custom_path); } else { main_config.config_load_path = temp_custom_path; + main_config.config_save_path = main_config.config_load_path; } } -- 2.35.1 From 1c713986e09775fba41d5f026e8f5ad7c52593af Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 1 Apr 2026 16:25:32 +0600 Subject: [PATCH 07/11] Fixed installation start --- source/ubinstall-gtk-page-switch.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c index ad24a39..fdc8024 100644 --- a/source/ubinstall-gtk-page-switch.c +++ b/source/ubinstall-gtk-page-switch.c @@ -334,6 +334,8 @@ int yon_page_save(main_window *widgets, enum YON_PAGES page){ return yon_install_options_save(widgets->UserdataDevicesTree,widgets->UserdataSysSectionTree,"data_only",widgets); break; case YON_PAGE_INSTALLATION_BEGIN: + yon_installation_start(widgets); + [[fallthrough]]; case YON_PAGE_CONFIGURE_END: int status = yon_config_save(widgets); if (status){ -- 2.35.1 From 6fb4b510547e561cc27e3725b6dc426e33a8dc5e Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 1 Apr 2026 16:31:20 +0600 Subject: [PATCH 08/11] Test fir for user autologin switching --- source/ubinstall-gtk-users.c | 3 ++- source/ubinstall-gtk.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/source/ubinstall-gtk-users.c b/source/ubinstall-gtk-users.c index 80ca30e..0f4d915 100644 --- a/source/ubinstall-gtk-users.c +++ b/source/ubinstall-gtk-users.c @@ -101,12 +101,13 @@ int yon_user_save(yon_user_struct *user){ return 1; } -void on_user_autoloin_switch(GtkWidget *, int status, main_window *){ +gboolean on_user_autoloin_switch(GtkWidget *, int status, main_window *){ if (status){ yon_config_register(autologin_parameter,autologin_parameter_command,"yes"); } else { yon_config_register(autologin_parameter,autologin_parameter_command,"no"); } + return status; } void on_user_add(GtkWidget *,main_window *widgets){ diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index a6bac12..53748f3 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1619,4 +1619,4 @@ void on_status_update(GtkWidget *,main_window *widgets); gboolean on_kernel_addon_menu_block(GObject *self, GdkEventButton *event); void on_os_components_uncheck_all(GtkWidget *,main_window *widgets); gboolean yon_os_components_load(main_window *widgets); -void on_user_autoloin_switch(GtkWidget *, int status, main_window *); \ No newline at end of file +gboolean on_user_autoloin_switch(GtkWidget *, int status, main_window *); \ No newline at end of file -- 2.35.1 From 8d46c74b075dd45538deff0c7679fa4037413f9b Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 1 Apr 2026 17:06:15 +0600 Subject: [PATCH 09/11] Fixed user autologin switching --- source/ubinstall-gtk-language.c | 10 ++++++++++ source/ubinstall-gtk-users.c | 2 +- source/ubinstall-gtk.c | 1 + source/ubinstall-gtk.h | 3 ++- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/source/ubinstall-gtk-language.c b/source/ubinstall-gtk-language.c index f759ff0..0a6b207 100644 --- a/source/ubinstall-gtk-language.c +++ b/source/ubinstall-gtk-language.c @@ -233,6 +233,16 @@ void on_language_default_toggled(GtkWidget *, int status, main_window *widgets){ } } +void on_locale_selected(GtkTreeView *,main_window *widgets){ + GtkTreeModel *model = NULL; + GtkTreeIter iter; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LocaleTree)),&model,&iter)){ + gtk_widget_set_sensitive(widgets->LocaleRemoveButton,1); + } else { + gtk_widget_set_sensitive(widgets->LocaleRemoveButton,0); + } +} + void on_locale_toggled(GtkCellRenderer *, gchar *path, main_window *widgets){ GtkTreeIter fiter; GtkTreeIter iter; diff --git a/source/ubinstall-gtk-users.c b/source/ubinstall-gtk-users.c index 0f4d915..eadc513 100644 --- a/source/ubinstall-gtk-users.c +++ b/source/ubinstall-gtk-users.c @@ -107,7 +107,7 @@ gboolean on_user_autoloin_switch(GtkWidget *, int status, main_window *){ } else { yon_config_register(autologin_parameter,autologin_parameter_command,"no"); } - return status; + return 0; } void on_user_add(GtkWidget *,main_window *widgets){ diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 86dbda0..3b097cb 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -690,6 +690,7 @@ void yon_main_window_create(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->LocaleRemoveButton),"clicked",G_CALLBACK(on_language_remove),widgets); g_signal_connect(G_OBJECT(widgets->LocaleDefaultSwitch),"state-set",G_CALLBACK(on_language_default_toggled),widgets); g_signal_connect(G_OBJECT(widgets->LocaleCell),"toggled",G_CALLBACK(on_locale_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->LocaleTree),"cursor-changed",G_CALLBACK(on_locale_selected),widgets); g_signal_connect(G_OBJECT(widgets->CancelInstallButton),"clicked",G_CALLBACK(on_page_cancel_clicked),widgets); g_signal_connect(G_OBJECT(widgets->RegionCombo),"changed",G_CALLBACK(on_region_changed),widgets); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 53748f3..53974d1 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1619,4 +1619,5 @@ void on_status_update(GtkWidget *,main_window *widgets); gboolean on_kernel_addon_menu_block(GObject *self, GdkEventButton *event); void on_os_components_uncheck_all(GtkWidget *,main_window *widgets); gboolean yon_os_components_load(main_window *widgets); -gboolean on_user_autoloin_switch(GtkWidget *, int status, main_window *); \ No newline at end of file +gboolean on_user_autoloin_switch(GtkWidget *, int status, main_window *); +void on_locale_selected(GtkTreeView *self,main_window *widgets); \ No newline at end of file -- 2.35.1 From 095c748a571dfb08882987aa6a2f680af91bb305 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 1 Apr 2026 17:29:09 +0600 Subject: [PATCH 10/11] Fixed autorun of applications deletable status --- source/ubinstall-gtk-startup-apps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-startup-apps.c b/source/ubinstall-gtk-startup-apps.c index c2a8fd0..a78ed37 100644 --- a/source/ubinstall-gtk-startup-apps.c +++ b/source/ubinstall-gtk-startup-apps.c @@ -103,7 +103,7 @@ void yon_startup_apps_init(main_window *widgets){ if (parsed_size&&parsed){ for (int i=0;iStartupAppsList,&iter); - gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,2,parsed[i],-1); + gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,2,parsed[i],4,1,-1); } } yon_char_parsed_free(parsed,parsed_size); -- 2.35.1 From 4c141e495b4021c3daabd32ffd1d1b559724307c Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 1 Apr 2026 18:08:51 +0600 Subject: [PATCH 11/11] Fixed double saving --- source/ubinstall-gtk.c | 1 - 1 file changed, 1 deletion(-) diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 3b097cb..02388e9 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -252,7 +252,6 @@ gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets){ return 1; } } else { - yon_config_restore(widgets); on_exit_accepted(widgets); gtk_main_quit(); } -- 2.35.1