diff -Naur xchat-gnome-0.17.orig/src/fe-gnome/setup-dialog.c xchat-gnome-0.17/src/fe-gnome/setup-dialog.c --- xchat-gnome-0.17.orig/src/fe-gnome/setup-dialog.c 2007-03-18 19:58:18.000000000 -0400 +++ xchat-gnome-0.17/src/fe-gnome/setup-dialog.c 2007-06-30 19:45:38.000000000 -0400 @@ -29,7 +29,9 @@ #include "util.h" #include "preferences.h" -static GladeXML *xml = NULL; +static GtkWidget *real_entry = NULL; +static GtkWidget *nick_entry = NULL; +static GtkWidget *ok_button = NULL; static gboolean done; static void ok_clicked (GtkButton *button, gpointer data); @@ -37,23 +39,15 @@ void run_setup_dialog (void) { - GtkSizeGroup *group; - GtkWidget *window; - GtkWidget *nick_entry; - GtkWidget *real_entry; - GtkWidget *button; - gchar *path = locate_data_file ("setup-dialog.glade"); g_assert (path != NULL); GladeXML *xml = glade_xml_new (path, NULL, NULL); g_assert (xml != NULL); - g_free (path); - - window = glade_xml_get_widget (xml, "setup window"); + GtkWidget *window = glade_xml_get_widget (xml, "setup window"); - group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); + GtkSizeGroup *group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); nick_entry = glade_xml_get_widget (xml, "nick name entry"); real_entry = glade_xml_get_widget (xml, "real name entry"); gtk_size_group_add_widget (group, nick_entry); @@ -66,8 +60,8 @@ gtk_entry_set_text (GTK_ENTRY (real_entry), g_get_real_name ()); gtk_widget_grab_focus (nick_entry); - button = glade_xml_get_widget (xml, "ok button"); - g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (ok_clicked), NULL); + ok_button = glade_xml_get_widget (xml, "ok button"); + g_signal_connect (G_OBJECT (ok_button), "clicked", G_CALLBACK (ok_clicked), NULL); gtk_widget_show_all (window); done = FALSE; @@ -76,14 +70,13 @@ } g_object_unref (xml); + g_free (path); gtk_widget_destroy (window); } static void ok_clicked (GtkButton *button, gpointer data) { - GtkWidget *nick_entry = glade_xml_get_widget (xml, "nick name entry"); - GtkWidget *real_entry = glade_xml_get_widget (xml, "real name entry"); const gchar *nick = gtk_entry_get_text (GTK_ENTRY (nick_entry)); const gchar *real = gtk_entry_get_text (GTK_ENTRY (real_entry)); @@ -108,16 +101,11 @@ static void entry_changed (GtkEditable *entry, gpointer user_data) { - GtkWidget *ok_button, *nick_entry, *real_entry; - const gchar *nick, *real; - - ok_button = glade_xml_get_widget (xml, "ok button"); - nick_entry = glade_xml_get_widget (xml, "nick name entry"); - real_entry = glade_xml_get_widget (xml, "real name entry"); - nick = gtk_entry_get_text (GTK_ENTRY (nick_entry)); - real = gtk_entry_get_text (GTK_ENTRY (real_entry)); + const gchar *nick = gtk_entry_get_text (GTK_ENTRY (nick_entry)); + const gchar *real = gtk_entry_get_text (GTK_ENTRY (real_entry)); - if (strlen(nick) == 0 || strlen(real) == 0) { + if ((nick == NULL || strlen(nick) == 0) || + (real == NULL || strlen(real) == 0)) { gtk_widget_set_sensitive (ok_button, FALSE); } else { gtk_widget_set_sensitive (ok_button, TRUE);