From 8f3a87eb243d57adc444e058e7e96ab6f87275da Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 7 Oct 2025 17:37:30 +0600 Subject: [PATCH 1/2] Fixed storage remove error --- .../ubl-settings-repomanager-storage-window.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/source/ubl-settings-repomanager-storage-window.c b/source/ubl-settings-repomanager-storage-window.c index 81e753e..43060f0 100644 --- a/source/ubl-settings-repomanager-storage-window.c +++ b/source/ubl-settings-repomanager-storage-window.c @@ -265,14 +265,16 @@ void on_storage_accept(GtkWidget *self, dictionary *dict){ int size; config_str keys = (config_str)g_hash_table_get_keys_as_array(window->storages_copy,&size); for (int i=0;i=0){ + int repos_size; + config_str repos = yon_char_parse(config(keys[i]),&repos_size,","); + if (repos_size){ + qsort(repos,repos_size,sizeof(char*),yon_char_parsed_compare); + char *repos_string = yon_char_parsed_to_string(repos,repos_size,","); + yon_config_set(keys[i],repos_string); + free(repos_string); + yon_char_parsed_free(repos,repos_size); + } } yon_storage_remove(keys[i],g_hash_table_lookup(window->storages_copy,keys[i]),NULL); } -- 2.35.1 From 56ea95dff824a78397eaba9f23e9e855f5f42685 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 7 Oct 2025 18:03:53 +0600 Subject: [PATCH 2/2] Changed remove checking mechanism --- source/ubl-settings-repomanager-storage-window.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-repomanager-storage-window.c b/source/ubl-settings-repomanager-storage-window.c index 43060f0..cfccd81 100644 --- a/source/ubl-settings-repomanager-storage-window.c +++ b/source/ubl-settings-repomanager-storage-window.c @@ -265,17 +265,17 @@ void on_storage_accept(GtkWidget *self, dictionary *dict){ int size; config_str keys = (config_str)g_hash_table_get_keys_as_array(window->storages_copy,&size); for (int i=0;i=0){ int repos_size; config_str repos = yon_char_parse(config(keys[i]),&repos_size,","); if (repos_size){ qsort(repos,repos_size,sizeof(char*),yon_char_parsed_compare); char *repos_string = yon_char_parsed_to_string(repos,repos_size,","); + int config_status = yon_config_get_status(keys[i]); yon_config_set(keys[i],repos_string); + yon_config_set_status(keys[i],config_status); free(repos_string); yon_char_parsed_free(repos,repos_size); } - } yon_storage_remove(keys[i],g_hash_table_lookup(window->storages_copy,keys[i]),NULL); } g_hash_table_remove_all(window->storages_copy); -- 2.35.1