diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index 0771942..49757c9 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -311,7 +311,10 @@ void on_software_uncheck_all(GtkWidget *, main_window *widgets){ GList *iter; for(iter = list;iter;iter=iter->next){ os_row *row = g_object_get_data(iter->data,"kernel_row"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0); + int sensitive = gtk_widget_get_sensitive(row->InstallCheck); + if (sensitive){ + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0); + } } } break; } @@ -330,7 +333,7 @@ int yon_software_save(main_window *widgets){ } for(iter = list;iter;iter=iter->next){ os_row *row = g_object_get_data(iter->data,"kernel_row"); - char *target = row->name; + char *target = row->name; int status = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck)); if (status){ if (!yon_char_check_element(config_val,target,",")){ @@ -368,7 +371,9 @@ int yon_software_check_packages_size(GtkWidget *, main_window *widgets){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){ long cur_size = yon_packages_get_installed_size(YON_PACKAGES_ALL,row->name); pacman_size += cur_size; - gtk_widget_show(widgets->AdditionalComponentsUncheckAllCheck); + if (gtk_widget_get_sensitive(row->InstallCheck)){ + gtk_widget_show(widgets->AdditionalComponentsUncheckAllCheck); + } } } } @@ -421,8 +426,8 @@ gboolean yon_software_insert(struct row_data *row_input){ modules_param = yon_char_parsed_to_string(final,final_size,","); } if (yon_char_check_elements(modules_param,row_input->name,",")){ - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1); gtk_widget_set_sensitive(row->InstallCheck,0); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1); } if (!yon_char_is_empty(modules_param)) free(modules_param); return G_SOURCE_REMOVE;