diff --git a/libublsettingsui-gtk3-password.glade b/libublsettingsui-gtk3-password.glade index 118c6d4..300ab69 100644 --- a/libublsettingsui-gtk3-password.glade +++ b/libublsettingsui-gtk3-password.glade @@ -166,7 +166,6 @@ - True False diff --git a/source/libublsettingsui-gtk3-password.c b/source/libublsettingsui-gtk3-password.c index 93d1f1b..4940f54 100644 --- a/source/libublsettingsui-gtk3-password.c +++ b/source/libublsettingsui-gtk3-password.c @@ -153,8 +153,12 @@ void on_password_hash_sensitiveness(GtkWidget *,yon_password_window *window){ } } +void on_password_changed(GtkWidget *, yon_password_window *window); + void yon_password_function_set(yon_password_window *window, double *password_func){ window->strength_func = password_func; + g_signal_connect(G_OBJECT(window->PasswordEntry),"changed",G_CALLBACK(on_password_changed),window); + gtk_widget_show(window->PasswordStrengthProgress); } void on_password_accept(GtkWidget *,dictionary *dict){ @@ -183,13 +187,16 @@ void on_password_accept(GtkWidget *,dictionary *dict){ } void on_password_changed(GtkWidget *, yon_password_window *window){ - const char *password_str = gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); - double strength = ((double(*)(yon_password_window *,const char*))window->strength_func)(window,password_str); + if (window->strength_func){ + const char *password_str = gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); + double strength = ((double(*)(yon_password_window *,const char*))window->strength_func)(window,password_str); + } } yon_password_window *yon_password_window_new(){ GtkBuilder *builder = gtk_builder_new_from_resource(ui_glade_path_password); yon_password_window *window = malloc(sizeof(yon_password_window)); + memset(window,0,sizeof(yon_password_window)); window->Window = yon_gtk_builder_get_widget(builder,"PasswordWindow"); window->HeadLabel = yon_gtk_builder_get_widget(builder,"userTitleNameLabel"); window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); @@ -210,7 +217,6 @@ yon_password_window *yon_password_window_new(){ g_signal_connect(G_OBJECT(window->NoEncriptionCheck),"toggled",G_CALLBACK(on_password_hash_sensitiveness),window); g_signal_connect(G_OBJECT(window->PasswordHashEntry),"changed",G_CALLBACK(on_password_hash_sensitiveness),window); g_signal_connect(G_OBJECT(window->PasswordEntry),"changed",G_CALLBACK(on_password_hash_sensitiveness),window); - g_signal_connect(G_OBJECT(window->PasswordEntry),"changed",G_CALLBACK(on_password_changed),window); g_signal_connect(G_OBJECT(window->RepeatPasswordEntry),"changed",G_CALLBACK(on_password_hash_sensitiveness),window); gtk_widget_show(window->Window); return window;