Index: login-setup.c =================================================================== RCS file: /cvs/gpe/base/gpe-conf/login-setup.c,v retrieving revision 1.11 diff -u -r1.11 login-setup.c --- login-setup.c 22 Sep 2004 16:50:01 -0000 1.11 +++ login-setup.c 1 Oct 2004 16:49:31 -0000 @@ -57,6 +57,20 @@ void update_login_lock (GtkWidget *togglebutton,gpointer user_data); +static +gboolean have_password(void) +{ + struct passwd *pw; + + pw = getpwuid(getuid()); + + if (pw) + if ((pw->pw_passwd) && (strlen(pw->pw_passwd))) + return TRUE; + + return FALSE; +} + GtkWidget *Login_Setup_Build_Objects() { @@ -142,8 +156,16 @@ ownerinfo_show_check = gtk_check_button_new_with_label (_("Show owner information at login.")); - login_lock_display_check = - gtk_check_button_new_with_label (_("Lock display on suspend.")); + + if (have_password()) + login_lock_display_check = + gtk_check_button_new_with_label (_("Lock display on suspend.")); + else + { + login_lock_display_check = + gtk_check_button_new_with_label (_("Lock display on suspend. \n (needs password)")); + gtk_widget_set_sensitive(GTK_WIDGET(login_lock_display_check), FALSE); + } /* check the dontshow files to set initial values for the checkboxes */ get_initial_values();