diff options
author | Simon Rettberg | 2019-02-18 11:55:41 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-02-18 11:55:41 +0100 |
commit | ae69a754244c4e475c8d2591772ca8e005071d83 (patch) | |
tree | 58b3fa7abc2dcfe3c23e1c0ce108950c720826ab /driver/xscreensaver.c | |
parent | Update gitignore (diff) | |
download | xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.tar.gz xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.tar.xz xscreensaver-ae69a754244c4e475c8d2591772ca8e005071d83.zip |
Update to 5.42
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 f5f65dc..abcb07f 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; @@ -2071,15 +2075,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; |