http://www.tienza.es/crux/src/www.jwz.org/xscreensaver/xscreensaver-5.04.tar.gz
[xscreensaver] / driver / lock.c
index bba326b0be97f10e1e4568ac9e13e0fa9b715bad..4e1d0b547a9193c1d00ed8a72386c07fde200362 100644 (file)
@@ -1076,9 +1076,10 @@ update_passwd_window (saver_info *si, const char *printed_passwd, float ratio)
              pw->user_entry_pixmap = 0;
            }
 
-         pw->user_entry_pixmap = XCreatePixmap(si->dpy, si->passwd_dialog,
-             rects[0].width, rects[0].height, pw->prompt_screen->current_depth);
-
+         pw->user_entry_pixmap = 
+            XCreatePixmap (si->dpy, si->passwd_dialog,
+                           rects[0].width, rects[0].height, 
+                           DefaultDepthOfScreen (pw->prompt_screen->screen));
 
          XFillRectangle (si->dpy, pw->user_entry_pixmap, gc2,
                          0, 0, rects[0].width, rects[0].height);
@@ -1870,7 +1871,6 @@ passwd_event_loop (saver_info *si)
       si->pw_data->i_beam = 0;
       update_passwd_window (si, msg, 0.0);
       XSync (si->dpy, False);
-      sleep (1);
 
       /* Swallow all pending KeyPress/KeyRelease events. */
       {
@@ -2066,7 +2066,8 @@ auth_finished_cb (saver_info *si)
       }
     }
 
-  destroy_passwd_window (si);
+  if (si->pw_data)
+    destroy_passwd_window (si);
 }