diff --git a/source/ubl-settings-usergroups-user.c b/source/ubl-settings-usergroups-user.c index 7619f40..6337aec 100644 --- a/source/ubl-settings-usergroups-user.c +++ b/source/ubl-settings-usergroups-user.c @@ -663,6 +663,7 @@ int yon_system_user_sync(char *target_user){ !yon_char_is_empty(groups_string)?groups_string:"",":", !yon_char_is_empty(optionals)?optionals:"",":", user_size>1&&strcmp(parsed[1],"x")?yon_char_return_if_exist(parsed[1],""):yon_char_return_if_exist(parsed_shadow[1],""),NULL); + char *config_shadow = yon_char_unite(yon_char_return_if_exist(parsed_shadow[2],""),":", user_size>3?parsed_shadow[3]:"",":", user_size>4?parsed_shadow[4]:"",":", @@ -674,8 +675,10 @@ int yon_system_user_sync(char *target_user){ if (!yon_char_is_empty(config_user)){ char *user_command = yon_config_parameter_prepare_command(dull_parameter_get_command,NULL,"users",USERADD(target_user)); - yon_config_register(USERADD(target_user),user_command,config_user); - free(config_user); + char *parameter_name = USERADD(target_user); + yon_config_register(parameter_name,user_command,config_user); + yon_config_remove_ignore(parameter_name); + // free(config_user); } else return 0; if (!yon_char_is_empty(config_shadow)){ diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 03faec5..cec79cc 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -336,10 +336,14 @@ void yon_hide_passwords(template_saving_window *window){ char *new_value; gtk_tree_model_get(model,&iter,1,&name,2,&old_value,3,&new_value,-1); if (strstr(name,USERADD_SEARCH_macro)){ - if (!yon_char_is_empty(new_value)&&!yon_char_is_empty(old_value)&&strstr(new_value,old_value)){ + if (!yon_char_is_empty(new_value)&&!yon_char_is_empty(old_value)&&strstr(new_value,old_value)&&new_value[0]==old_value[0]){ GtkTreeIter *iter_cur = gtk_tree_iter_copy(&iter); gtk_list_store_remove(window->list,iter_cur); - gtk_tree_model_get_iter_first(model,&iter); + if (!gtk_tree_model_get_iter_first(model,&iter)){ + gtk_widget_destroy(window->Window); + yon_ubl_status_box_render(yon_char_get_localised_from_lib(NOTHING_TO_SAVE_LABEL),BACKGROUND_IMAGE_FAIL_TYPE); + return; + } continue; } char *old=NULL;