diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index 03b21aa..ca3bac6 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -589,6 +589,7 @@ void on_module_remove_accept(GtkWidget *, dictionary *dict){ main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*); dialog_window *window = yon_dictionary_get_data(dict->first->next->next,dialog_window*); + dict=dict->first; free(dict->first->next->next); dict->first->next->next = NULL; char *module_formated = yon_package_string_set(tab->module); @@ -800,11 +801,16 @@ void on_module_remove_clicked(GtkWidget *self,dictionary *dict){ char *action_text = NULL; dialog_window *window = yon_dialog_window_new(); yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),self==tab->update_package_button?UPDATE_MODULE_TITLE_LABEL:INSTALL_MODULE_TITLE_LABEL,icon_path,"dialog"); + if (dict->first->next->next){ + dict=dict->first; + free(dict->first->next->next); + dict->first->next->next=NULL; + } yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); + dict=dict->first; g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_module_remove_accept),dict); gtk_widget_show(window->Window); - yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))){ action_text = KERNEL_MODULE_REMOVE_CONFIRMATION_LABEL(tab->name); gtk_widget_hide(window->DependencesFrame); @@ -867,6 +873,11 @@ void on_package_remove_clicked(GtkWidget *self,dictionary *dict){ dialog_window *window = yon_dialog_window_new(); yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),self==tab->update_package_button?UPDATE_MODULE_TITLE_LABEL:INSTALL_MODULE_TITLE_LABEL,icon_path,"dialog"); + if (dict->first->next->next){ + dict=dict->first; + free(dict->first->next->next); + dict->first->next->next=NULL; + } yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); dict=dict->first; g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_package_remove_accept),dict);