Hello community,

here is the log from the commit of package gnome-screensaver for 
openSUSE:Factory
checked in at Thu May 5 16:34:02 CEST 2011.



--------
--- GNOME/gnome-screensaver/gnome-screensaver.changes   2011-02-13 
17:23:06.000000000 +0100
+++ /mounts/work_src_done/STABLE/gnome-screensaver/gnome-screensaver.changes    
2011-04-25 16:48:17.000000000 +0200
@@ -1,0 +2,91 @@
+Mon Apr 25 16:42:03 CEST 2011 - [email protected]
+
+- Add gnome-screensaver-extra < 3.0 Obsoletes, as the screensavers
+  from xscreensaver are not used anymore.
+
+-------------------------------------------------------------------
+Tue Apr  5 13:31:57 UTC 2011 - [email protected]
+
+- Update to version 3.0.0:
+  + Remove inihibit APIs from the documentation
+  + Updated translations.
+
+-------------------------------------------------------------------
+Tue Mar 22 16:31:04 UTC 2011 - [email protected]
+
+- Update to version 2.91.92:
+  + Store time values in seconds instead of minutes
+  + Don't monitor session settings
+  + Ensure the initial state of the clock is correct
+  + Remove dbus activation
+  + Remove daemonization
+  + Request shell exit overview when locking
+  + Updated translations.
+
+-------------------------------------------------------------------
+Tue Mar  8 15:40:11 UTC 2011 - [email protected]
+
+- Update to version 2.91.91:
+  + Follow the users clock format preference
+  + Port to GDBus
+  + Build cleanups
+  + Remove --poke option from the commandline tool (didn't work
+    anyway).
+  + Remove unused delay and timeout preferences
+  + Remove inhibit interface (inhibit the session instead)
+  + Remove theme and job support
+  + Update style to match gnome-shell
+  + Use accountsservice to get face
+  + Updated translations.
+- Remove extra package and any kind of dependency on xscreensaver
+  (xscreensaver-data Requires, and xscreensaver* BuildRequires).
+  Also remove xscreensaver-blacklist source file.
+
+-------------------------------------------------------------------
+Thu Feb 24 10:40:22 UTC 2011 - [email protected]
+
+- Update to version 2.91.90:
+  + Use username in top panel if real name is empty
+  + Various settings fixes
+- Changes from version 2.91.3:
+  + Fix build against recent GTK+
+  + GNOME 3 style updates
+  + Updated translations
+- Changes from version 2.91.3:
+  + Fix build against recent GTK+
+  + Use GIO to launch gdmflexiserver
+  + Translation updates
+- Changes from version 2.91.2:
+  + Fix build against recent GTK+
+  + Port to GSettings
+- Changes from version 2.91.1:
+  + Fix build against recent GTK+ and gnome-desktop
+  + Port background handling to gsettings
+  + Translation updates
+- Changes from version 2.91.0:
+  + Switch to GTK+ 3.0
+  + Fix crash on systems that lack vidmode and randr extensions
+  + Add session service activation file
+  + Use better unicode symbols in strings
+  + Drop "Leave a message" feature
+  + Drop unlock dialog theme support
+  + Drop support for non-PAM based authentication
+  + Improve aesthetics of unlock dialog
+  + Monitor hotplug fixes
+  + Auto-activate screensaver when needed if not running
+  + Translation updates
+- Add gnome-screensaver-helper.patch: put back helper
+  authentication support, removed in upstream code.
+- Update gnome-screensaver-multihead-unlock.patch and
+  gnome-screensaver-xvkbd-on-lock.patch to work with GTK+ 3.
+- Change pkgconfig() BuildRequires:
+  + change gnome-desktop-2.0 to gnome-desktop-3.0, gtk+-2.0 to
+    gtk+-3.0
+  + remove libnotify
+- Remove pkgconfig(gconf-2.0) BuildRequires and
+  %gconf_schemas_prereq. Do
+  not pass --disable-schemas-install to configure, since this is
+  needed for gconf only.
+- Use %glib2_gsettings_schema_* macros.
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  gnome-screensaver-2.30.2.tar.bz2
  xscreensaver-blacklist

New:
----
  gnome-screensaver-3.0.0.tar.bz2
  gnome-screensaver-helper.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnome-screensaver.spec ++++++
--- /var/tmp/diff_new_pack.fiqrVQ/_old  2011-05-05 16:27:32.000000000 +0200
+++ /var/tmp/diff_new_pack.fiqrVQ/_new  2011-05-05 16:27:32.000000000 +0200
@@ -19,16 +19,17 @@
 
 
 Name:           gnome-screensaver
-Version:        2.30.2
-Release:        3
+Version:        3.0.0
+Release:        1
 Url:            http://www.gnome.org/
 Group:          System/GUI/GNOME
 License:        GPLv2+
 Summary:        GNOME Screen Saver and Locker
 Source:         
ftp://ftp.gnome.org/pub/gnome/sources/%{name}/2.18/%{name}-%{version}.tar.bz2
-Source1:        xscreensaver-blacklist
 # PATCH-FEATURE-OPENSUSE gnome-screensaver-suse-pam.diff
 Patch:          gnome-screensaver-suse-pam.diff
+# PATCH-FIX-UPSTREAM gnome-screensaver-helper.patch bgo#640647 
[email protected] -- Put back helper authentication, removed by upstream
+Patch1:         gnome-screensaver-helper.patch
 # PATCH-FEATURE-OPENSUSE gnome-screensaver-xvkbd-on-lock.patch 
[email protected] -- Run xvkbd when locking the screen
 Patch7:         gnome-screensaver-xvkbd-on-lock.patch
 # PATCH-NEEDS-REBASE gnome-screensaver-2.19.1.1-securitytoken.patch
@@ -44,28 +45,20 @@
 BuildRequires:  pam-devel
 BuildRequires:  translation-update-upstream
 BuildRequires:  update-desktop-files
-%if 0%{?suse_version} <= 1120
-BuildRequires:  xscreensaver
-%else
-BuildRequires:  xscreensaver-data
-BuildRequires:  xscreensaver-data-extra
-%endif
 BuildRequires:  pkgconfig(dbus-glib-1)
-BuildRequires:  pkgconfig(gconf-2.0)
-BuildRequires:  pkgconfig(gnome-desktop-2.0)
-BuildRequires:  pkgconfig(gtk+-2.0)
+BuildRequires:  pkgconfig(gnome-desktop-3.0)
+BuildRequires:  pkgconfig(gtk+-3.0)
 # Needed by gnome-screensaver-finger-print.patch
 BuildRequires:  pkgconfig(libfprint)
 BuildRequires:  pkgconfig(libgnomekbdui)
 BuildRequires:  pkgconfig(libgnome-menu)
-BuildRequires:  pkgconfig(libnotify)
 BuildRequires:  pkgconfig(x11)
 Requires:       /sbin/unix2_chkpwd
-Requires:       xscreensaver-data
 Recommends:     %{name}-lang
 Provides:       %{name}-devel = %{version}-%{release}
+Obsoletes:      %{name}-extra < 3.0
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-%gconf_schemas_prereq
+%glib2_gsettings_schema_requires
 
 %description
 gnome-screensaver is a screen saver and locker that aims to have
@@ -76,28 +69,12 @@
         * translation into other languages
         * user switching
 
-%package extra
-Group:          System/GUI/GNOME
-License:        GPLv2+
-Summary:        GNOME Screen Saver and Locker -- Additional screensavers
-Requires:       xscreensaver-data-extra
-Supplements:    packageand(%{name}:xscreensaver-data-extra)
-BuildArch:      noarch
-
-%description extra
-gnome-screensaver is a screen saver and locker that aims to have
-simple, sane, secure defaults and be well integrated in the desktop.
-It is designed to support:
-
-        * the ability to lock down configuration settings
-        * translation into other languages
-        * user switching
-
 %lang_package
 %prep
 %setup -q
 translation-update-upstream
 %patch
+%patch1 -p1
 %patch7 -p1
 # %patch8 -p1
 %patch10
@@ -105,6 +82,7 @@
 
 %build
 # gnome-common intltool are needed only here
+# needed by patch1
 autoreconf -f -i
 # FIXME: Maybe libexecdir the same as xscreensaver.
 %configure\
@@ -112,7 +90,6 @@
        --with-pam-prefix=/etc\
        --enable-authentication-scheme=helper\
        --with-passwd-helper="/sbin/unix2_chkpwd"\
-       --with-xscreensaverdir=/etc/xscreensaver\
        --disable-docbook-docs
 %__make %{?jobs:-j%jobs}
 
@@ -122,89 +99,31 @@
 %{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/*
 %endif
 %find_lang %{name} %{?no_lang_C}
-%find_gconf_schemas
 %suse_update_desktop_file gnome-screensaver
-%suse_update_desktop_file gnome-screensaver-preferences GNOME 
X-SuSE-ControlCenter-LookAndFeel
-%suse_update_desktop_file popsquares
-%suse_update_desktop_file personal-slideshow
-%suse_update_desktop_file footlogo-floaters
-%suse_update_desktop_file cosmos-slideshow
 sed -e 's/common-auth/common-auth-smartcard/g' < 
$RPM_BUILD_ROOT/etc/pam.d/gnome-screensaver > 
$RPM_BUILD_ROOT/etc/pam.d/gnome-screensaver-smartcard
-# migrate all xscreensaver savers, except blacklisted ones because they are 
ugly
-mkdir -p $RPM_BUILD_ROOT/%{_datadir}/applications/screensavers
-for file in `ls -1 %{_sysconfdir}/xscreensaver/*.xml | grep -v -f %{S:1} | 
xargs` ; do
-    file_root=`basename "$file" .xml`
-    sh data/migrate-xscreensaver-config.sh $file
-    # remove the Comment key: it's way too long for translators,
-    # and it doesn't appear in the UI
-    sed "s/\(^Comment=.*\)/#\1/g" $file_root.desktop > 
$RPM_BUILD_ROOT%{_datadir}/applications/screensavers/$file_root.desktop
-    %suse_update_desktop_file $file_root
-done
-rm -f screensavers.lst screensavers-extra.lst
-for file in popsquares personal-slideshow footlogo-floaters cosmos-slideshow; 
do
-    echo %{_datadir}/applications/screensavers/$file.desktop >> 
screensavers.lst
-done
-%if 0%{?suse_version} <= 1120
-for file in `rpm -ql xscreensaver | grep %{_sysconfdir}/xscreensaver/.*xml`; do
-    file_root=`basename "$file" .xml`
-    echo %{_datadir}/applications/screensavers/$file_root.desktop >> 
screensavers.lst
-done
-%else
-for file in `rpm -ql xscreensaver-data | grep 
%{_sysconfdir}/xscreensaver/.*xml`; do
-    file_root=`basename "$file" .xml`
-    echo %{_datadir}/applications/screensavers/$file_root.desktop >> 
screensavers.lst
-done
-for file in `rpm -ql xscreensaver-data-extra | grep 
%{_sysconfdir}/xscreensaver/.*xml`; do
-    file_root=`basename "$file" .xml`
-    echo %{_datadir}/applications/screensavers/$file_root.desktop >> 
screensavers-extra.lst
-done
-%endif
 %fdupes $RPM_BUILD_ROOT
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%pre -f %{name}.schemas_pre
-
 %post
+%glib2_gsettings_schema_post
 %desktop_database_post
 
-%posttrans -f %{name}.schemas_posttrans
-
-%preun -f %{name}.schemas_preun
-
 %postun
+%glib2_gsettings_schema_postun
 %desktop_database_postun
 
-%files -f %{name}.schemas_list -f screensavers.lst
+%files
 %defattr (-, root, root)
-%doc AUTHORS COPYING ChangeLog NEWS README TODO
+%doc AUTHORS COPYING NEWS README
 %config /etc/pam.d/gnome-screensaver
 %config /etc/pam.d/gnome-screensaver-smartcard
 %{_sysconfdir}/xdg/autostart/*.desktop
-%{_sysconfdir}/xdg/menus/gnome-screensavers.menu
 %{_bindir}/*
-%{_datadir}/applications/*.desktop
-%{_datadir}/desktop-directories/gnome-screensaver.directory
-%{_datadir}/backgrounds/*
-%{_datadir}/dbus-1/services/org.gnome.ScreenSaver.service
-%{_datadir}/gnome-background-properties/cosmos.xml
-%{_datadir}/gnome-screensaver
-%{_datadir}/pixmaps/gnome-logo-white.svg
 %{_mandir}/man1/gnome-screensaver*.1.gz
 %{_libdir}/pkgconfig/gnome-screensaver.pc
 %{_libexecdir}/%{name}
-# FIXME: Directory ownership:
-%dir %{_datadir}/applications/screensavers
-# FIXME: Maybe bad directory ownership:
-%dir %{_datadir}/backgrounds
-%dir %{_datadir}/gnome-background-properties
-
-%if 0%{?suse_version} > 1120
-
-%files extra -f screensavers-extra.lst
-%defattr (-, root, root)
-%endif
 
 %files lang -f %{name}.lang
 

++++++ gnome-screensaver-2.30.2.tar.bz2 -> gnome-screensaver-3.0.0.tar.bz2 
++++++
++++ 104108 lines of diff (skipped)

++++++ gnome-screensaver-helper.patch ++++++
reverted:
Index: gnome-screensaver-2.91.91/configure.ac
===================================================================
--- gnome-screensaver-2.91.91.orig/configure.ac
+++ gnome-screensaver-2.91.91/configure.ac
@@ -555,6 +555,75 @@ if test "x$have_pam" = "xyes"; then
 fi
 
 
+#       Check for external password helper
+#       On SuSE, instead of having xscreensaver be a setuid program, they
+#       fork an external program that takes the password on stdin, and
+#       returns true if that password is a valid one.  Then only that
+#       smaller program needs to be setuid.
+#
+#       (Note that this external program is not a GUI: the GUI is still
+#       all in xscreensaver itself; the external program just does auth.)
+
+have_passwd_helper=no
+with_passwd_helper_req=unspecified
+
+AC_ARG_WITH(passwd-helper,
+[  --with-passwd-helper    Include support for an external password
+                          verification helper program.],
+  [with_passwd_helper="$withval"; 
with_passwd_helper_req="$withval"],[with_passwd_helper=no])
+# no HANDLE_X_PATH_ARG for this one
+
+if test "$enable_locking" = no ; then
+  with_passwd_helper_req=no
+  with_passwd_helper=no
+fi
+
+case "$with_passwd_helper" in
+  ""|no) : ;;
+  /*)
+    AC_DEFINE_UNQUOTED(PASSWD_HELPER_PROGRAM, "$with_passwd_helper", [Full 
pathname of password helper application])
+    have_passwd_helper=yes;;
+  *)
+    echo "error: --with-passwd-helper needs full pathname of helper (not 
'$with_passwd_helper')." >&2
+    exit 1
+esac
+AM_CONDITIONAL(HAVE_PASSWD_HELPER, test x$have_passwd_helper = xyes)
+AC_SUBST(HAVE_PASSWD_HELPER)
+
+dnl ---------------------------------------------------------------------------
+dnl  Authentication scheme
+dnl ---------------------------------------------------------------------------
+
+AC_ARG_ENABLE(authentication-scheme,
+  [  --enable-authentication-scheme=[auto/pam/helper]  Choose a specific
+                          authentication scheme [default=auto]],,
+  enable_authentication_scheme=auto)
+
+AUTH_SCHEME="auth-pam"
+
+if test x$enable_authentication_scheme = xpam -a x$have_pam = xno ; then
+       AC_MSG_ERROR(PAM support requested but not available)
+fi
+if test x$enable_authentication_scheme = xhelper -a x$have_passwd_helper = xno 
; then
+       AC_MSG_ERROR(Password helper support requested but not available)
+fi
+
+if test x$enable_authentication_scheme = xpam ; then
+        AUTH_SCHEME="pam"
+elif test x$enable_authentication_scheme = xhelper ; then
+        AUTH_SCHEME="helper"
+elif test x$enable_authentication_scheme = xauto ; then
+       if test x$have_pam != xno ; then
+               AUTH_SCHEME="pam"
+       elif test x$have_passwd_helper != xno ; then
+               AUTH_SCHEME="helper"
+        fi
+else
+       AC_MSG_ERROR(Unknown authentication scheme)
+fi
+
+AC_SUBST(AUTH_SCHEME)
+
 dnl ---------------------------------------------------------------------------
 dnl libgnomekbd
 dnl ---------------------------------------------------------------------------
@@ -731,6 +800,9 @@ echo "
         Screen locking enabled:   ${enable_locking}
         Show keyboard indicator:  ${with_kbd_layout_indicator}
         PAM prefix:               ${PAM_PREFIX}
+        Have password helper:     ${have_passwd_helper}
+        Authentication scheme:    ${AUTH_SCHEME}"
+
 
-"
 
+echo ""
Index: gnome-screensaver-2.91.91/src/Makefile.am
===================================================================
--- gnome-screensaver-2.91.91.orig/src/Makefile.am
+++ gnome-screensaver-2.91.91/src/Makefile.am
@@ -63,6 +63,11 @@ gnome_screensaver_command_LDADD =    \
        $(GNOME_SCREENSAVER_COMMAND_LIBS)       \
        $(NULL)
 
+AUTH_SOURCES =                         \
+       gs-auth.h               \
+       gs-auth-@[email protected] \
+       $(NULL)
+
 test_fade_SOURCES =                    \
        test-fade.c                     \
        gs-fade.c                       \
@@ -78,8 +83,7 @@ test_fade_LDADD =                     \
 
 test_passwd_SOURCES =                  \
        test-passwd.c                   \
-       gs-auth.h                       \
-       gs-auth-pam.c                   \
+       $(AUTH_SOURCES)                 \
        setuid.c                        \
        setuid.h                        \
        subprocs.c                      \
@@ -136,8 +140,13 @@ gnome_screensaver_dialog_SOURCES =         \
        setuid.h                        \
        subprocs.c                      \
        subprocs.h                      \
-       gs-auth.h                       \
-       gs-auth-pam.c                   \
+       $(AUTH_SOURCES)                 \
+       $(NULL)
+
+EXTRA_gnome_screensaver_dialog_SOURCES = \
+       gs-auth-pam.c           \
+       gs-auth-helper.c        \
+       gs-auth-pwent.c         \
        $(NULL)
 
 gnome_screensaver_dialog_LDADD =       \
Index: gnome-screensaver-2.91.91/src/gs-auth-helper.c
===================================================================
--- /dev/null
+++ gnome-screensaver-2.91.91/src/gs-auth-helper.c
@@ -0,0 +1,198 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * written by Olaf Kirch <[email protected]>
+ * xscreensaver, Copyright (c) 1993-2004 Jamie Zawinski <[email protected]>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or
+ * implied warranty.
+ */
+
+/* The idea here is to be able to run gnome-screensaver-dialog without any 
setuid bits.
+ * Password verification happens through an external program that you feed
+ * your password to on stdin.  The external command is invoked with a user
+ * name argument.
+ *
+ * The external helper does whatever authentication is necessary.  Currently,
+ * SuSE uses "unix2_chkpwd", which is a variation of "unix_chkpwd" from the
+ * PAM distribution.
+ *
+ * Normally, the password helper should just authenticate the calling user
+ * (i.e. based on the caller's real uid).  This is in order to prevent
+ * brute-forcing passwords in a shadow environment.  A less restrictive
+ * approach would be to allow verifying other passwords as well, but always
+ * with a 2 second delay or so.  (Not sure what SuSE's "unix2_chkpwd"
+ * currently does.)
+ *                         -- Olaf Kirch <[email protected]>, 16-Dec-2003
+ */
+
+#include "config.h"
+
+#include <stdlib.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <pwd.h>
+#include <errno.h>
+#include <sys/wait.h>
+
+#include <glib.h>
+#include <glib/gstdio.h>
+
+#include "gs-auth.h"
+#include "subprocs.h"
+
+static gboolean verbose_enabled = FALSE;
+
+GQuark
+gs_auth_error_quark (void)
+{
+        static GQuark quark = 0;
+        if (! quark) {
+                quark = g_quark_from_static_string ("gs_auth_error");
+        }
+
+        return quark;
+}
+
+void
+gs_auth_set_verbose (gboolean enabled)
+{
+        verbose_enabled = enabled;
+}
+
+gboolean
+gs_auth_get_verbose (void)
+{
+        return verbose_enabled;
+}
+
+static gboolean
+ext_run (const char *user,
+         const char *typed_passwd,
+         gboolean    verbose)
+{
+        int   pfd[2], status;
+        pid_t pid;
+
+        if (pipe (pfd) < 0) {
+                return 0;
+        }
+
+        if (verbose) {
+                g_message ("ext_run (%s, %s)",
+                           PASSWD_HELPER_PROGRAM, user);
+        }
+
+        block_sigchld ();
+
+        if ((pid = fork ()) < 0) {
+                close (pfd [0]);
+                close (pfd [1]);
+                return FALSE;
+        }
+
+        if (pid == 0) {
+                close (pfd [1]);
+                if (pfd [0] != 0) {
+                        dup2 (pfd [0], 0);
+                }
+
+                /* Helper is invoked as helper service-name [user] */
+                execlp (PASSWD_HELPER_PROGRAM, PASSWD_HELPER_PROGRAM, 
"gnome-screensaver", user, NULL);
+                if (verbose) {
+                        g_message ("%s: %s", PASSWD_HELPER_PROGRAM, g_strerror 
(errno));
+                }
+
+                exit (1);
+        }
+
+        close (pfd [0]);
+
+        /* Write out password to helper process */
+        if (!typed_passwd) {
+                typed_passwd = "";
+        }
+        write (pfd [1], typed_passwd, strlen (typed_passwd));
+        close (pfd [1]);
+
+        while (waitpid (pid, &status, 0) < 0) {
+                if (errno == EINTR) {
+                        continue;
+                }
+
+                if (verbose) {
+                        g_message ("ext_run: waitpid failed: %s\n",
+                                   g_strerror (errno));
+                }
+
+                unblock_sigchld ();
+                return FALSE;
+        }
+
+        unblock_sigchld ();
+
+        if (! WIFEXITED (status) || WEXITSTATUS (status) != 0) {
+                return FALSE;
+        }
+
+        return TRUE;
+}
+
+gboolean
+gs_auth_verify_user (const char       *username,
+                     const char       *display,
+                     GSAuthMessageFunc func,
+                     gpointer          data,
+                     GError          **error)
+{
+        gboolean       res = FALSE;
+        char          *password;
+
+        password = NULL;
+
+        /* ask for the password for user */
+        if (func != NULL) {
+                func (GS_AUTH_MESSAGE_PROMPT_ECHO_OFF,
+                      "Password: ",
+                      &password,
+                      data);
+        }
+
+        if (password == NULL) {
+                return FALSE;
+        }
+
+        res = ext_run (username, password, gs_auth_get_verbose ());
+
+        return res;
+}
+
+gboolean
+gs_auth_init (void)
+{
+        return TRUE;
+}
+
+gboolean
+gs_auth_priv_init (void)
+{
+        /* Make sure the passwd helper exists */
+        if (g_access (PASSWD_HELPER_PROGRAM, X_OK) < 0) {
+                g_warning ("%s does not exist. "
+                           "password authentication via "
+                           "external helper will not work.",
+                           PASSWD_HELPER_PROGRAM);
+                return FALSE;
+        }
+
+        return TRUE;
+}
++++++ gnome-screensaver-multihead-unlock.patch ++++++
--- /var/tmp/diff_new_pack.fiqrVQ/_old  2011-05-05 16:27:32.000000000 +0200
+++ /var/tmp/diff_new_pack.fiqrVQ/_new  2011-05-05 16:27:32.000000000 +0200
@@ -2,7 +2,16 @@
 ===================================================================
 --- src/gs-window-x11.c.orig
 +++ src/gs-window-x11.c
-@@ -1115,6 +1115,7 @@ static void
+@@ -661,7 +661,7 @@ setup_xvkbd_window (GSWindow *gswindow,
+ {
+       gs_debug ("Setting up xvkbd_window from window %d", (int) window);
+ 
+-      xvkbd_window = gdk_x11_window_foreign_new_for_display 
(gtk_widget_get_display (widget), window);
++      xvkbd_window = gdk_x11_window_foreign_new_for_display 
(gtk_widget_get_display (GTK_WIDGET(window)), window);
+         gdk_window_hide (xvkbd_window);
+         gdk_window_set_override_redirect (xvkbd_window, TRUE);
+         gdk_window_set_events (xvkbd_window, gdk_window_get_events 
(xvkbd_window) | GDK_STRUCTURE_MASK);
+@@ -1094,6 +1094,7 @@ static void
  lock_plug_added (GtkWidget *widget,
                   GSWindow  *window)
  {

++++++ gnome-screensaver-xvkbd-on-lock.patch ++++++
--- /var/tmp/diff_new_pack.fiqrVQ/_old  2011-05-05 16:27:32.000000000 +0200
+++ /var/tmp/diff_new_pack.fiqrVQ/_new  2011-05-05 16:27:32.000000000 +0200
@@ -1,14 +1,8 @@
-commit a6180a624e2f325f32edecd284fa8c394a25ec45
-Author: Hans Petter Jansson <[email protected]>
-Date:   Tue Jan 11 22:31:04 2011 +0100
-
-    Patch 7: gnome-screensaver-xvkbd-on-lock.patch
-
-diff --git a/src/gnome-screensaver-dialog.c b/src/gnome-screensaver-dialog.c
-index 9d72fcb..2db1e9b 100644
---- a/src/gnome-screensaver-dialog.c
-+++ b/src/gnome-screensaver-dialog.c
-@@ -115,10 +115,19 @@ response_ok (void)
+Index: gnome-screensaver-2.91.2/src/gnome-screensaver-dialog.c
+===================================================================
+--- gnome-screensaver-2.91.2.orig/src/gnome-screensaver-dialog.c
++++ gnome-screensaver-2.91.2/src/gnome-screensaver-dialog.c
+@@ -119,10 +119,19 @@ response_ok (void)
          fflush (stdout);
  }
  
@@ -28,7 +22,7 @@
          gtk_main_quit ();
          return FALSE;
  }
-@@ -127,6 +136,12 @@ static gboolean
+@@ -131,6 +140,12 @@ static gboolean
  quit_response_cancel (void)
  {
          response_cancel ();
@@ -41,7 +35,7 @@
          gtk_main_quit ();
          return FALSE;
  }
-@@ -418,6 +433,14 @@ popup_dialog_idle (void)
+@@ -422,6 +437,14 @@ popup_dialog_idle (void)
          return FALSE;
  }
  
@@ -56,7 +50,7 @@
  
  /*
   * Copyright (c) 1991-2004 Jamie Zawinski <[email protected]>
-@@ -578,6 +601,8 @@ main (int    argc,
+@@ -582,6 +605,8 @@ main (int    argc,
                  exit (1);
          }
  
@@ -65,7 +59,7 @@
          if (show_version) {
                  g_print ("%s %s\n", argv [0], VERSION);
                  exit (1);
-@@ -594,10 +619,27 @@ main (int    argc,
+@@ -598,10 +623,27 @@ main (int    argc,
  
          gs_debug_init (verbose, FALSE);
  
@@ -93,11 +87,11 @@
          gs_profile_end (NULL);
          gs_debug_shutdown ();
  
-diff --git a/src/gs-window-x11.c b/src/gs-window-x11.c
-index 4216ea4..3b6b1f7 100644
---- a/src/gs-window-x11.c
-+++ b/src/gs-window-x11.c
-@@ -769,6 +769,49 @@ x11_window_is_ours (Window window)
+Index: gnome-screensaver-2.91.2/src/gs-window-x11.c
+===================================================================
+--- gnome-screensaver-2.91.2.orig/src/gs-window-x11.c
++++ gnome-screensaver-2.91.2/src/gs-window-x11.c
+@@ -633,6 +633,49 @@ x11_window_is_ours (Window window)
          return ret;
  }
  
@@ -129,25 +123,25 @@
 +{
 +      gs_debug ("Setting up xvkbd_window from window %d", (int) window);
 +
-+      xvkbd_window = gdk_window_foreign_new (window);
++      xvkbd_window = gdk_x11_window_foreign_new_for_display 
(gtk_widget_get_display (widget), window);
 +        gdk_window_hide (xvkbd_window);
 +        gdk_window_set_override_redirect (xvkbd_window, TRUE);
 +        gdk_window_set_events (xvkbd_window, gdk_window_get_events 
(xvkbd_window) | GDK_STRUCTURE_MASK);
 +       
 +        int display_width, display_height, width, height;
-+        GdkWindow *root = gdk_screen_get_root_window (gdk_drawable_get_screen 
(xvkbd_window));
++        GdkWindow *root = gdk_screen_get_root_window (gdk_window_get_screen 
(xvkbd_window));
 +       
-+        gdk_window_get_geometry (xvkbd_window, NULL, NULL, &width, &height, 
NULL);
-+        gdk_window_get_geometry (root, NULL, NULL, &display_width, 
&display_height, NULL);
++        gdk_window_get_geometry (xvkbd_window, NULL, NULL, &width, &height);
++        gdk_window_get_geometry (root, NULL, NULL, &display_width, 
&display_height);
 +        gdk_window_reparent (xvkbd_window, NULL, display_width - width, 
display_height - height);
-+        gdk_window_set_transient_for (xvkbd_window, GTK_WIDGET 
(gswindow)->window);
++        gdk_window_set_transient_for (xvkbd_window, gtk_widget_get_window 
(GTK_WIDGET (gswindow)));
 +        gdk_window_show (xvkbd_window);
 +}
 +
  #ifdef HAVE_SHAPE_EXT
  static void
  unshape_window (GSWindow *window)
-@@ -791,6 +834,16 @@ gs_window_xevent (GSWindow  *window,
+@@ -655,6 +698,16 @@ gs_window_xevent (GSWindow  *window,
          /* MapNotify is used to tell us when new windows are mapped.
             ConfigureNofify is used to tell us when windows are raised. */
          switch (ev->xany.type) {
@@ -164,7 +158,7 @@
          case MapNotify:
                  {
                          XMapEvent *xme = &ev->xmap;
-@@ -808,7 +861,7 @@ gs_window_xevent (GSWindow  *window,
+@@ -672,7 +725,7 @@ gs_window_xevent (GSWindow  *window,
                          XConfigureEvent *xce = &ev->xconfigure;
  
                          if (! x11_window_is_ours (xce->window)) {


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to