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