19033N/A/*
19033N/A * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
19033N/A *
19033N/A * Permission is hereby granted, free of charge, to any person obtaining a
19033N/A * copy of this software and associated documentation files (the "Software"),
19033N/A * to deal in the Software without restriction, including without limitation
19033N/A * the rights to use, copy, modify, merge, publish, distribute, sublicense,
19033N/A * and/or sell copies of the Software, and to permit persons to whom the
19033N/A * Software is furnished to do so, subject to the following conditions:
19033N/A *
19033N/A * The above copyright notice and this permission notice (including the next
19033N/A * paragraph) shall be included in all copies or substantial portions of the
19033N/A * Software.
19033N/A *
19033N/A * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19033N/A * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19033N/A * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19033N/A * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19033N/A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19033N/A * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
19033N/A * DEALINGS IN THE SOFTWARE.
19033N/A */
19033N/A
19033N/AFix for: 6585644 xscreensaver can cause KeyPress event loop between itself and xscreensaver-lock.
19033N/A---
19033N/A driver/timers.c | 7 +++++++
19033N/A 1 files changed, 7 insertions(+), 0 deletions(-)
19033N/A
19033N/Adiff --git xscreensaver-5.12/driver/timers.c xscreensaver-5.12/driver/timers.c
19033N/A--- xscreensaver-5.12/driver/timers.c
19033N/A+++ xscreensaver-5.12/driver/timers.c
19033N/A@@ -131,6 +131,13 @@ notice_events (saver_info *si, Window window, Bool top_p)
19033N/A unsigned int nkids;
19033N/A int screen_no;
19033N/A
19033N/A+ if ((si->pw_data->got_windowid) && (window == si->passwd_dialog))
19033N/A+ {
19033N/A+ if (p->verbose_p)
19033N/A+ fprintf (stderr, "--> notice_events() breaking out of loop!\n");
19033N/A+ return;
19033N/A+ }
19033N/A+
19033N/A if (XtWindowToWidget (si->dpy, window))
19033N/A /* If it's one of ours, don't mess up its event mask. */
19033N/A return;
19033N/A