diff options
author | Simon Rettberg | 2019-02-18 11:55:58 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-02-18 11:55:58 +0100 |
commit | aa7530630e595b80d5db54655fd827b61edc0fd7 (patch) | |
tree | 048cb74072450c7592f254c3537ac8f252d09d73 /driver/xscreensaver.c | |
parent | Forgot one DPMS killing instance (diff) | |
parent | Update to 5.42 (diff) | |
download | xscreensaver-aa7530630e595b80d5db54655fd827b61edc0fd7.tar.gz xscreensaver-aa7530630e595b80d5db54655fd827b61edc0fd7.tar.xz xscreensaver-aa7530630e595b80d5db54655fd827b61edc0fd7.zip |
Merge branch 'master' into openslxv23
Diffstat (limited to 'driver/xscreensaver.c')
-rw-r--r-- | driver/xscreensaver.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/driver/xscreensaver.c b/driver/xscreensaver.c index d44ea40..df816f9 100644 --- a/driver/xscreensaver.c +++ b/driver/xscreensaver.c @@ -1328,6 +1328,10 @@ main_loop (saver_info *si) { Time lock_timeout = p->lock_timeout; + /* If we're fading, don't lock until the fade finishes. */ + if (si->fading_possible_p && p->fade_p) + lock_timeout += p->fade_seconds / 1000; + if (si->emergency_lock_p && p->lock_p && lock_timeout) { int secs = p->lock_timeout / 1000; @@ -2079,15 +2083,15 @@ handle_clientmessage (saver_info *si, XEvent *event, Bool until_idle_p) sprintf (buf, "LOCK ClientMessage received; %s", response); clientmessage_response (si, window, False, buf, response); + /* Have to set the time or xscreensaver-command doesn't report + the LOCK state change. Must come before set_locked_p(). */ + si->blank_time = time ((time_t *) 0); + /* Note that this leaves things in a slightly inconsistent state: we are blanked but not locked. And blanking might actually fail if we can't get the grab. */ set_locked_p (si, True); - /* Have to set the time or xscreensaver-command doesn't - report the LOCK state change. */ - si->blank_time = time ((time_t *) 0); - si->selection_mode = 0; si->demoing_p = False; |