From 8abc0819205eab6819b905e6076f7ff0d2e9729a Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Tue, 17 Feb 2026 11:06:35 +0600 Subject: [PATCH] Fixed melody saving --- source/ubl-settings-bootloader.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/source/ubl-settings-bootloader.c b/source/ubl-settings-bootloader.c index 71c0ffb..f47c5bd 100644 --- a/source/ubl-settings-bootloader.c +++ b/source/ubl-settings-bootloader.c @@ -533,14 +533,21 @@ void on_melody_toggled(GtkCellRenderer *, char *path, main_window *widgets){ GtkTreePath *cur_path = gtk_tree_path_new_from_string(path); for_iter(model,&iter){ + int status; + gtk_tree_model_get(model,&iter,0,&status,-1); GtkTreePath *compare_path = gtk_tree_model_get_path(model,&iter); if (gtk_tree_path_compare(cur_path,compare_path)){ gtk_list_store_set(widgets->BootRingtoneList,&iter,0,0,-1); } else { - gtk_list_store_set(widgets->BootRingtoneList,&iter,0,1,-1); - char *code; - gtk_tree_model_get(model,&iter,2,&code,-1); - yon_config_register(GRUB_PLAY_parameter,GRUB_PLAY_command,(char*)code); + gtk_list_store_set(widgets->BootRingtoneList,&iter,0,!status,-1); + if (status){ + yon_config_remove_by_key(GRUB_PLAY_parameter); + } else { + char *code; + gtk_tree_model_get(model,&iter,2,&code,-1); + yon_config_register(GRUB_PLAY_parameter,GRUB_PLAY_command,(char*)code); + + } } gtk_tree_path_free(compare_path); }