X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=driver%2Fxscreensaver.c;h=5ed966ecb819e444705abcaf219ec6783b81b75d;hb=93f25dc6827112d98b8b855ea85c8f5eb8123086;hp=a799ab3ad585f93c0e260a9780246703b8aa9973;hpb=0ed85ca0e4b0eae40a4f50a51d63f2f41e45373a;p=xscreensaver diff --git a/driver/xscreensaver.c b/driver/xscreensaver.c index a799ab3a..5ed966ec 100644 --- a/driver/xscreensaver.c +++ b/driver/xscreensaver.c @@ -996,6 +996,20 @@ main_loop (saver_info *si) si->dbox_up_p = False; XDefineCursor (si->dpy, ssi->screensaver_window, ssi->cursor); suspend_screenhack (si, False); /* resume */ + + if (!ok_to_unblank && + !screenhack_running_p (si)) + { + /* If the lock dialog has been dismissed and we're not about to + unlock the screen, and there is currently no hack running, + then launch one. (There might be no hack running if DPMS + had kicked in. But DPMS is off now, so bring back the hack) + */ + if (si->cycle_id) + XtRemoveTimeOut (si->cycle_id); + si->cycle_id = 0; + cycle_timer ((XtPointer) si, 0); + } } #endif /* !NO_LOCKING */ @@ -1057,7 +1071,7 @@ main (int argc, char **argv) global_si_kludge = si; /* I hate C so much... */ # undef ya_rand_init - ya_rand_init ((int) time ((time_t *) 0)); + ya_rand_init (0); save_argv (argc, argv); set_version_string (si, &argc, argv);