X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=driver%2Fxscreensaver.c;h=9b26390bd6b40c092003ed5e65d192cac371fa42;hp=a799ab3ad585f93c0e260a9780246703b8aa9973;hb=06e9a7886a77cad92f9ddbc169d6d199a4d8b76d;hpb=14463b6ad1ab1ccf81f9c33350b048e410ba94cb diff --git a/driver/xscreensaver.c b/driver/xscreensaver.c index a799ab3a..9b26390b 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 */