+ char *username = 0;
+ saver_screen_info *ssi = si->default_screen;
+ Widget parent = ssi->toplevel_shell;
+
+ if (ssi->demo_cmap &&
+ ssi->demo_cmap != ssi->cmap &&
+ ssi->demo_cmap != DefaultColormapOfScreen (ssi->screen))
+ {
+ XFreeColormap (si->dpy, ssi->demo_cmap);
+ ssi->demo_cmap = 0;
+ }
+
+ if (ssi->default_visual == DefaultVisualOfScreen (ssi->screen))
+ ssi->demo_cmap = DefaultColormapOfScreen (ssi->screen);
+ else
+ ssi->demo_cmap = XCreateColormap (si->dpy,
+ RootWindowOfScreen (ssi->screen),
+ ssi->default_visual, AllocNone);
+
+ create_passwd_dialog (parent, ssi->default_visual, ssi->demo_cmap);
+
+#ifdef HAVE_ATHENA
+ XtVaSetValues(passwd_form, XtNvalue, typed_passwd, 0);
+
+ XawDialogAddButton(passwd_form,"ok", passwd_done_cb, 0);
+ XawDialogAddButton(passwd_form,"cancel", passwd_cancel_cb, 0);
+ passwd_done = XtNameToWidget(passwd_form,"ok");
+ passwd_text = XtNameToWidget(passwd_form,"value");
+
+ XtAppAddActions(XtWidgetToApplicationContext(passwd_text),
+ actions, XtNumber(actions));
+ XtOverrideTranslations(passwd_text, XtParseTranslationTable(translations));
+
+ /* Lose the label on the inner dialog. */
+ {
+ Widget w = XtNameToWidget(passwd_form, "label");
+ if (w) XtUnmanageChild(w);
+ }
+
+#else /* HAVE_MOTIF */