From f31d3a69d6134818dd28e27b2586f89797d2e4c7 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 17 Apr 2026 10:00:58 +0600 Subject: [PATCH] Config restoring fixes --- source/ubinstall-gtk-install-start.c | 1 + source/ubinstall-gtk-saving.c | 24 ++++++++++++++++-------- ubinstall-gtk.glade | 2 +- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/source/ubinstall-gtk-install-start.c b/source/ubinstall-gtk-install-start.c index 85b6281..9a29405 100644 --- a/source/ubinstall-gtk-install-start.c +++ b/source/ubinstall-gtk-install-start.c @@ -23,5 +23,6 @@ void yon_quick_install(GtkWidget *self, main_window *widgets){ } else { yon_launch("ubconfig --source system get /"); + yon_launch(ubinstall_dry_run_command); } } diff --git a/source/ubinstall-gtk-saving.c b/source/ubinstall-gtk-saving.c index 338500e..086b07d 100644 --- a/source/ubinstall-gtk-saving.c +++ b/source/ubinstall-gtk-saving.c @@ -7,18 +7,18 @@ void yon_config_save_proceed(char *path, YON_CONFIG_TYPE type){ void yon_load_proceed(YON_CONFIG_TYPE type){ if (type!=YON_CONFIG_CUSTOM){ yon_config_clean(); + if (main_config.config_load_path){ + if (main_config.startup_config){ + yon_config_restore(NULL); + yon_config_custom_clean(main_config.startup_config); + } + main_config.startup_config = NULL; + yon_config_custom_load_config(&main_config.startup_config,config_get_command(main_config.config_load_path),NULL); + } } if (!yon_char_is_empty(config_get_default_command)){ yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL); } - if (main_config.config_load_path){ - if (main_config.startup_config){ - yon_config_restore(NULL); - yon_config_custom_clean(main_config.startup_config); - } - main_config.startup_config = NULL; - yon_config_custom_load_config(&main_config.startup_config,config_get_command(main_config.config_load_path),NULL); - } switch (type){ case YON_CONFIG_LOCAL: main_config.config_load_path = yon_char_new("system"); @@ -30,6 +30,14 @@ void yon_load_proceed(YON_CONFIG_TYPE type){ char *path = NULL; path=yon_custom_config_init(GTK_FILE_CHOOSER_ACTION_OPEN); if (!yon_char_is_empty(path)){ + if (main_config.config_load_path){ + if (main_config.startup_config){ + yon_config_restore(NULL); + yon_config_custom_clean(main_config.startup_config); + } + main_config.startup_config = NULL; + yon_config_custom_load_config(&main_config.startup_config,config_get_command(main_config.config_load_path),NULL); + } main_config.config_load_path = yon_char_new(path); main_config.config_save_path = main_config.config_load_path; yon_config_clean(); diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 5022ba5..bb4d4f4 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -14513,7 +14513,7 @@ separately into the selected partition. 5 - Cancel + Exit True True True