--- a/open-src/app/xscreensaver/Makefile Tue Feb 10 16:12:45 2009 -0800
+++ b/open-src/app/xscreensaver/Makefile Tue Feb 10 23:29:24 2009 -0800
@@ -30,7 +30,7 @@
# or other dealings in this Software without prior written authorization
# of the copyright holder.
#
-# @(#)Makefile 1.102 09/02/09
+# @(#)Makefile 1.103 09/02/10
#
# Package name used in tarballs
@@ -87,7 +87,8 @@
bug-6698996.patch \
bug-4802301.patch \
interference-hack.patch \
- intltool.patch
+ intltool.patch \
+ bug-6769901.patch
# We patch configure.ac & Makefile.am's so need to autoreconf
AUTORECONF=yes
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/app/xscreensaver/bug-6769901.patch Tue Feb 10 23:29:24 2009 -0800
@@ -0,0 +1,40 @@
+--- driver/lock.c-org Sun Feb 8 23:38:18 2009
++++ driver/lock.c Sun Feb 8 23:42:07 2009
+@@ -2075,6 +2075,37 @@
+ XtDispatchEvent (&event);
+ }
+ }
++
++ //bugid 6769901: popup windows appearing through xscreensaver
++ //code to stop popup windows while screen is locked
++ //Raise the screen saver window and then the password dialog window
++ if (event.xany.type == VisibilityNotify)
++ {
++ int screen;
++ for (screen = 0; screen < si->nscreens; screen++)
++ {
++ if(si->passwd_dialog)
++ {
++ saver_screen_info *ssi = &si->screens[screen];
++ if(screen==0)
++ {
++ Window screen_win[2] = {
++ si->passwd_dialog,
++ ssi->screensaver_window
++ };
++ XRestackWindows(si->dpy, screen_win, 2);
++ XMapRaised(si->dpy,si->passwd_dialog);
++ XFlush(si->dpy);
++ }
++ else
++ {
++ XMapRaised(si->dpy,ssi->screensaver_window);
++ XFlush(si->dpy);
++ }
++ }
++ }
++ }
++
+ #else /* !HAVE_XSCREENSAVER_LOCK */
+ if (event.xany.window == si->passwd_dialog && event.xany.type == Expose)
+ draw_passwd_window (si);