diff --git a/source/libublsettingsui-gtk3-save.c b/source/libublsettingsui-gtk3-save.c
index f0a6094..a6752a3 100644
--- a/source/libublsettingsui-gtk3-save.c
+++ b/source/libublsettingsui-gtk3-save.c
@@ -413,13 +413,15 @@ void yon_save_window_loaded_config_init(template_saving_window *window, struct l
GtkTreeIter iter;
if (status==0||status==-2) status = 0;
else status=1;
- if (strstr(current->data,"&")) {current->data = yon_char_replace(current->data,"&","\003");current->data = yon_char_replace(current->data,"\003","&");}
- if (strstr(current->data,">")) current->data = yon_char_replace(current->data,">","<");
- if (strstr(current->data,"<")) current->data = yon_char_replace(current->data,"<",">");
- if (strstr(dict->data,"&")) {dict->data = yon_char_replace(dict->data,"&","\003");dict->data = yon_char_replace(dict->data,"\003","&");}
- if (strstr(dict->data,">")) dict->data = yon_char_replace(dict->data,">","<");
- if (strstr(dict->data,"<")) dict->data = yon_char_replace(dict->data,"<",">");
- char *compare_string = yon_char_unite("",(char*)dict->data,"\n",(char*)current->data,NULL);
+ char *old_val = yon_char_new(current->data);
+ char *new_val = yon_char_new(dict->data);
+ if (strstr(old_val,"&")) {old_val = yon_char_replace(old_val,"&","\003");old_val = yon_char_replace(old_val,"\003","&");}
+ if (strstr(old_val,">")) old_val = yon_char_replace(old_val,">","<");
+ if (strstr(old_val,"<")) old_val = yon_char_replace(old_val,"<",">");
+ if (strstr(new_val,"&")) {new_val = yon_char_replace(new_val,"&","\003");new_val = yon_char_replace(new_val,"\003","&");}
+ if (strstr(new_val,">")) new_val = yon_char_replace(new_val,">","<");
+ if (strstr(new_val,"<")) new_val = yon_char_replace(new_val,"<",">");
+ char *compare_string = yon_char_unite("",(char*)new_val,"\n",(char*)old_val,NULL);
gtk_list_store_append(window->list,&iter);
gtk_list_store_set(window->list,&iter,0,status,1,current->key,2,(char*)dict->data,3,(char*)current->data,4,compare_string,6,1,7,yon_config_get_section_for_key(current->key),-1);
free(compare_string);
diff --git a/source/libublsettingsui-gtk3.c b/source/libublsettingsui-gtk3.c
index a72143b..db82ca4 100644
--- a/source/libublsettingsui-gtk3.c
+++ b/source/libublsettingsui-gtk3.c
@@ -566,27 +566,30 @@ char *yon_gtk_entry_check_restricted(GtkEntry *target){
GtkInputPurpose purpose = gtk_entry_get_input_purpose(target);
const char *text = gtk_entry_get_text(target);
char *error=NULL;
- switch(purpose){
- case GTK_INPUT_PURPOSE_EMAIL:{
- char *temp = NULL;
- if (!((temp = strstr(text,"@"))&&
- strstr(temp,".")&&
- strlen(temp)!=strlen(text)&&
- temp[1]!='.'&&
- strstr(temp,".")[1]!='\0')){
- error = yon_char_get_localised_from_lib(EMAIL_INVALID_LABEL);
+ if (!yon_char_is_empty(text)){
+ switch(purpose){
+ case GTK_INPUT_PURPOSE_EMAIL:{
+ char *temp = NULL;
+ if (!((temp = strstr(text,"@"))&&
+ strstr(temp,".")&&
+ strlen(temp)!=strlen(text)&&
+ temp[1]!='.'&&
+ strstr(temp,".")[1]!='\0')){
+ error = yon_char_get_localised_from_lib(EMAIL_INVALID_LABEL);
+ }
}
- }
- break;
- case GTK_INPUT_PURPOSE_URL:{
- if (!strstr(text,"/")){
- error = yon_char_get_localised_from_lib(PATH_INVALID_LABEL);
+ break;
+ case GTK_INPUT_PURPOSE_URL:{
+ if (!strstr(text,"/")){
+ error = yon_char_get_localised_from_lib(PATH_INVALID_LABEL);
+ }
}
+ break;
+ default: break;
}
- break;
- default: break;
}
return error;
+
}
void yon_entry_set_entry_type(GtkEntry *target,GtkBox *status){
@@ -604,7 +607,5 @@ void yon_entry_set_entry_type(GtkEntry *target,GtkBox *status){
break;
default: break;
-
-
}
}
\ No newline at end of file