--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/desktop/xscreensaver/patches/0019-bug-15706879.patch Tue Mar 08 09:00:31 2016 -0800
@@ -0,0 +1,58 @@
+From 404ef6681b57a43c006b92358ff7794867e01239 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <[email protected]>
+Date: Sat, 2 Jan 2016 23:13:46 -0800
+Subject: [PATCH] bug 15706879
+
+15706879 SUNBT7033508 Xscreensaver "Black Screen Only" module shows
+ portions of display when session is locked
+
+Upstream applicability & status unknown.
+---
+ driver/lock.c | 4 ++--
+ driver/xscreensaver.c | 1 -
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/driver/lock.c b/driver/lock.c
+index 08f0f98..dc40ca4 100644
+--- a/driver/lock.c
++++ b/driver/lock.c
+@@ -918,6 +918,7 @@ new_passwd_window (saver_info *si)
+ blurb(), pw->prompt_screen->number);
+ }
+
++#ifdef CR7033508
+ /* Before mapping the window, save a pixmap of the current screen.
+ When we lower the window, we restore these bits. This works,
+ because the running screenhack has already been sent SIGSTOP, so
+@@ -939,6 +940,7 @@ new_passwd_window (saver_info *si)
+ 0, 0);
+ XFreeGC (si->dpy, gc);
+ }
++#endif /*CR7033508*/
+
+ si->pw_data = pw;
+ return 0;
+@@ -3125,8 +3127,6 @@ unlock_p (saver_info *si)
+ return False;
+ }
+
+- raise_window (si, True, True, True);
+-
+ xss_authenticate(si, p->verbose_p);
+
+ return (si->unlock_state == ul_success);
+diff --git a/driver/xscreensaver.c b/driver/xscreensaver.c
+index 926fc63..7ac855f 100644
+--- a/driver/xscreensaver.c
++++ b/driver/xscreensaver.c
+@@ -1349,7 +1349,6 @@ main_loop (saver_info *si)
+ for (i = 0; i < si->nscreens; i++)
+ kill_screenhack (&si->screens[i]);
+
+- raise_window (si, True, True, False);
+ if (si->throttled_p || getuid () == 0)
+ fprintf (stderr, "%s: not launching hack (throttled.)\n", blurb());
+ else
+--
+2.6.1
+