--- a/components/desktop/xscreensaver/patches/0006-allow-root.patch Wed Mar 29 13:16:33 2017 -0700
+++ b/components/desktop/xscreensaver/patches/0006-allow-root.patch Thu Mar 30 13:00:52 2017 -0700
@@ -1,4 +1,4 @@
-From 53a079ae5ba815381fd94cace1a56cd2841e09ed Mon Sep 17 00:00:00 2001
+From 42a34d66f5455bb0899f189a38539affbae0e212 Mon Sep 17 00:00:00 2001
From: Alan Coopersmith <[email protected]>
Date: Sat, 2 Jan 2016 20:56:50 -0800
Subject: [PATCH] allow root
@@ -13,19 +13,19 @@
See http://www.jwz.org/xscreensaver/faq.html#root-lock for his side.
---
- driver/demo-Gtk.c | 18 ++++++++++++++++++
+ driver/demo-Gtk.c | 15 +++++++++++++++
driver/exec.c | 2 ++
driver/setuid.c | 12 ++++++++++++
driver/subprocs.c | 3 +++
driver/timers.c | 2 +-
driver/xscreensaver.c | 7 ++++---
- 6 files changed, 40 insertions(+), 4 deletions(-)
+ 6 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
-index ece3c44..d4cc4a5 100644
+index d62152c..f6f9c19 100644
--- a/driver/demo-Gtk.c
+++ b/driver/demo-Gtk.c
-@@ -713,6 +713,14 @@ run_hack (state *s, int list_elt, Bool report_errors_p)
+@@ -723,6 +723,14 @@ run_hack (state *s, int list_elt, Bool report_errors_p)
char *err = 0;
int status;
@@ -40,30 +40,20 @@
if (list_elt < 0) return;
hack_number = s->list_elt_to_hack_number[list_elt];
-@@ -5173,6 +5181,15 @@ main (int argc, char **argv)
- GtkMenu *menu = GTK_MENU (gtk_option_menu_get_menu (opt));
- GList *kids = gtk_container_children (GTK_CONTAINER (menu));
- int i;
-+
-+ if (getuid () == 0)
-+ {
-+ /* If logged in as root disable menu so user can't activate a hack. */
-+ gtk_widget_set_sensitive (GTK_WIDGET (opt), False);
-+ gtk_widget_set_sensitive (GTK_WIDGET (menu), False);
-+ }
-+ else
+@@ -5163,6 +5171,13 @@ main (int argc, char **argv)
+ (gpointer) s);
+ #endif /* !HAVE_GTK2 */
+
++ if (getuid () == 0)
+ {
- for (i = 0; kids; kids = kids->next, i++)
- {
- gtk_signal_connect (GTK_OBJECT (kids->data), "activate",
-@@ -5186,6 +5203,7 @@ main (int argc, char **argv)
- mode_menu_order[i] == RANDOM_HACKS_SAME)
- gtk_widget_hide (GTK_WIDGET (kids->data));
- }
++ /* If logged in as root disable menu so user can't activate a hack. */
++ gtk_widget_set_sensitive (GTK_WIDGET (name_to_widget (s, "mode_menu")),
++ False);
+ }
-
- if (s->nscreens <= 1) /* recompute option-menu size */
- {
++ else
+ /* Hook up callbacks to the items on the mode menu. */
+ gtk_signal_connect (GTK_OBJECT (name_to_widget (s, "mode_menu")),
+ "changed", GTK_SIGNAL_FUNC (mode_menu_item_cb),
diff --git a/driver/exec.c b/driver/exec.c
index 38ca88a..b68089e 100644
--- a/driver/exec.c
@@ -204,5 +194,5 @@
else
for (i = 0; i < si->nscreens; i++)
--
-2.6.1
+2.7.4