public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in gnome-extra/gnome-screensaver/files: gnome-screensaver-2.30.2-popsquares-header.patch gnome-screensaver-2.30.2-libxklavier-configure.patch gnome-screensaver-2.30.2-prevent-twice.patch gnome-screensaver-2.30.2-nvidia-fade.patch gnome-screensaver-2.30.2-name-manager.patch gnome-screensaver-2.30.2-nvidia-fade2.patch
@ 2011-03-07 14:31 Pacho Ramos (pacho)
  0 siblings, 0 replies; only message in thread
From: Pacho Ramos (pacho) @ 2011-03-07 14:31 UTC (permalink / raw
  To: gentoo-commits

pacho       11/03/07 14:31:25

  Added:                gnome-screensaver-2.30.2-popsquares-header.patch
                        gnome-screensaver-2.30.2-libxklavier-configure.patch
                        gnome-screensaver-2.30.2-prevent-twice.patch
                        gnome-screensaver-2.30.2-nvidia-fade.patch
                        gnome-screensaver-2.30.2-name-manager.patch
                        gnome-screensaver-2.30.2-nvidia-fade2.patch
  Log:
  Revision bump with some fixes: The dialog uses libxklavier directly, so link against it (upstream bug #634949); fix QA warning (upstream bug #637676 by David J Cozatt); fix fading on nvidia setups (upstream bugs #610294 and #618932); don't run twice (upstream bug #642462), don't user name owner proxies for SessionManager (upstream bug #611207).
  
  (Portage version: 2.1.9.42/cvs/Linux x86_64)

Revision  Changes    Path
1.1                  gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-popsquares-header.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-popsquares-header.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-popsquares-header.patch?rev=1.1&content-type=text/plain

Index: gnome-screensaver-2.30.2-popsquares-header.patch
===================================================================
Patch for implicit declaration of exit in popsquares.c reported by Gentoo QA
patch generated by David J Cozatt

--- savers/popsquares.c	
+++ savers/popsquares.c	
@@ -22,6 +22,7 @@
 #include "config.h"
 
 #include <string.h>
+#include <stdlib.h>
 #include <gdk/gdk.h>
 #include <gdk/gdkx.h>
 #include <gtk/gtk.h>



1.1                  gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-libxklavier-configure.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-libxklavier-configure.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-libxklavier-configure.patch?rev=1.1&content-type=text/plain

Index: gnome-screensaver-2.30.2-libxklavier-configure.patch
===================================================================
From 1b4c2717763275375967f2279e065a65852967cb Mon Sep 17 00:00:00 2001
From: Robert Ancell <robert.ancell@canonical.com>
Date: Tue, 16 Nov 2010 22:01:41 +0000
Subject: The dialog uses libxklavier directly, so link against it

https://bugzilla.gnome.org/show_bug.cgi?id=634949
---
diff --git a/configure.ac b/configure.ac
index a2379f2..a80b92a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -643,7 +643,7 @@ have_libgnomekbdui=no
 AC_ARG_WITH(kbd-layout-indicator,[  --without-kbd-layout-indicator         disable keyboard layout indicator],
             [with_kbd_layout_indicator="$withval"],[with_kbd_layout_indicator=yes])
 if test x$with_kbd_layout_indicator != xno; then
-  PKG_CHECK_MODULES(LIBGNOMEKBDUI, libgnomekbdui >= $LIBGNOMEKBDUI_REQUIRED_VERSION, have_libgnomekbdui=yes, have_libgnomekbdui=no)
+  PKG_CHECK_MODULES(LIBGNOMEKBDUI, libgnomekbdui >= $LIBGNOMEKBDUI_REQUIRED_VERSION libxklavier, have_libgnomekbdui=yes, have_libgnomekbdui=no)
 fi
 if test "x$have_libgnomekbdui" = "xyes"; then
   AC_SUBST(LIBGNOMEKBDUI_CFLAGS)
--
cgit v0.8.3.4



1.1                  gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-prevent-twice.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-prevent-twice.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-prevent-twice.patch?rev=1.1&content-type=text/plain

Index: gnome-screensaver-2.30.2-prevent-twice.patch
===================================================================
From 85d22a5d784b2b8201054257f8696138de1e1b70 Mon Sep 17 00:00:00 2001
From: Marc Deslauriers <marc.deslauriers@ubuntu.com>
Date: Wed, 16 Feb 2011 13:40:15 +0000
Subject: Make sure it cannot be running twice

It is currently possible to start gnome-screensaver twice because
of a race condition. This change makes sure that we bail out if
we cannot become the primary owner of the bus name.

https://bugzilla.gnome.org/show_bug.cgi?id=642462
---
diff --git a/src/gs-listener-dbus.c b/src/gs-listener-dbus.c
index 6d0d4e5..e11c7fc 100644
--- a/src/gs-listener-dbus.c
+++ b/src/gs-listener-dbus.c
@@ -1169,7 +1169,7 @@ gboolean
 gs_listener_acquire (GSListener *listener,
                      GError    **error)
 {
-        gboolean  acquired;
+        int       res;
         DBusError buserror;
         gboolean  is_connected;
 
@@ -1213,9 +1213,10 @@ gs_listener_acquire (GSListener *listener,
                 return FALSE;
         }
 
-        acquired = dbus_bus_request_name (listener->priv->connection,
-                                          GS_LISTENER_SERVICE,
-                                          0, &buserror) != -1;
+        res = dbus_bus_request_name (listener->priv->connection,
+                                     GS_LISTENER_SERVICE,
+                                     DBUS_NAME_FLAG_DO_NOT_QUEUE,
+                                     &buserror);
         if (dbus_error_is_set (&buserror)) {
                 g_set_error (error,
                              GS_LISTENER_ERROR,
@@ -1223,6 +1224,14 @@ gs_listener_acquire (GSListener *listener,
                              "%s",
                              buserror.message);
         }
+        if (res == DBUS_REQUEST_NAME_REPLY_EXISTS) {
+                g_set_error (error,
+                             GS_LISTENER_ERROR,
+                             GS_LISTENER_ERROR_ACQUISITION_FAILURE,
+                             "%s",
+                             _("screensaver already running in this session"));
+                return FALSE;
+        }
 
         dbus_error_free (&buserror);
 
@@ -1263,7 +1272,7 @@ gs_listener_acquire (GSListener *listener,
                                     NULL);
         }
 
-        return acquired;
+        return (res != -1);
 }
 
 static char *
--
cgit v0.8.3.4



1.1                  gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-nvidia-fade.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-nvidia-fade.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-nvidia-fade.patch?rev=1.1&content-type=text/plain

Index: gnome-screensaver-2.30.2-nvidia-fade.patch
===================================================================

++ gnome-screensaver-2.30.2/debian/patches/13_nvidia_gamma_fade_fallback.patch

Description: Fall back to XF86VM gamma fade if XRANDR gamma fade is not supported
Author: Chris Coulson <chrisccoulson@ubuntu.com>
Bug-Ubuntu: https://bugs.edge.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/522806
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=610294
Forwarded: https://bugzilla.gnome.org/show_bug.cgi?id=610294

Index: gnome-screensaver-2.30.2/src/gs-fade.c
===================================================================
--- gnome-screensaver-2.30.2.orig/src/gs-fade.c	2010-11-15 17:13:12.730491003 +1100
+++ gnome-screensaver-2.30.2/src/gs-fade.c	2010-11-15 17:13:16.838491003 +1100
@@ -572,6 +572,10 @@
         GdkDisplay *display = gdk_display_get_default ();
         GdkScreen *screen = gdk_display_get_screen (display, screen_idx);
         struct GSFadeScreenPrivate *screen_priv;
+        GnomeRRCrtc **crtcs;
+        GnomeRRCrtc *crtc;
+        gboolean res;
+        int gamma_size;
 
         screen_priv = &fade->priv->screen_priv[screen_idx];
 
@@ -584,6 +588,19 @@
                 return;
         }
 
+        crtcs = gnome_rr_screen_list_crtcs (screen_priv->rrscreen);
+
+        while (*crtcs)
+        {
+                crtc = *crtcs;
+                res = gnome_rr_crtc_get_gamma (crtc, &gamma_size, NULL, NULL, NULL);
+                if (res == FALSE || gamma_size == 0) {
+                        screen_priv->fade_type = FADE_TYPE_NONE;
+                        return;                
+                }
+                crtcs++;
+        }
+
         screen_priv->fade_type = FADE_TYPE_XRANDR;
         screen_priv->fade_setup = xrandr_fade_setup;
         screen_priv->fade_finish = screen_fade_finish;



1.1                  gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-name-manager.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-name-manager.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-name-manager.patch?rev=1.1&content-type=text/plain

Index: gnome-screensaver-2.30.2-name-manager.patch
===================================================================
From d0b09165b8fb4af6a59308665f38438aa657aae2 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross@linux.intel.com>
Date: Fri, 26 Feb 2010 18:15:39 +0000
Subject: Don't user name owner proxies for SessionManager

Using proxies based on the name owner will fail if the name owner changes, for
example if gnome-session is started after the screensaver or if gnome-session is
restarted.

https://bugzilla.gnome.org/show_bug.cgi?id=611207
---
diff --git a/src/gs-watcher-x11.c b/src/gs-watcher-x11.c
index 7145448..ec63552 100644
--- a/src/gs-watcher-x11.c
+++ b/src/gs-watcher-x11.c
@@ -388,112 +388,94 @@ on_presence_status_text_changed (DBusGProxy    *presence_proxy,
         set_status_text (watcher, status_text);
 }
 
-static gboolean
+static void
 connect_presence_watcher (GSWatcher *watcher)
 {
-        DBusGConnection   *bus;
-        GError            *error;
-        gboolean           ret;
-
-        ret = FALSE;
+        DBusGConnection *bus;
+        GError          *error;
+        DBusGProxy      *proxy;
+        guint            status;
+        const char      *status_text;
+        GValue           value = { 0, };
 
         error = NULL;
         bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
         if (bus == NULL) {
                 g_warning ("Unable to get session bus: %s", error->message);
                 g_error_free (error);
-                goto done;
+                return;
         }
 
+        watcher->priv->presence_proxy = dbus_g_proxy_new_for_name (bus,
+                                                                   "org.gnome.SessionManager",
+                                                                   "/org/gnome/SessionManager/Presence",
+                                                                   "org.gnome.SessionManager.Presence");
+
+        dbus_g_proxy_add_signal (watcher->priv->presence_proxy,
+                                 "StatusChanged",
+                                 G_TYPE_UINT,
+                                 G_TYPE_INVALID);
+        dbus_g_proxy_connect_signal (watcher->priv->presence_proxy,
+                                     "StatusChanged",
+                                     G_CALLBACK (on_presence_status_changed),
+                                     watcher,
+                                     NULL);
+        dbus_g_proxy_add_signal (watcher->priv->presence_proxy,
+                                 "StatusTextChanged",
+                                 G_TYPE_STRING,
+                                 G_TYPE_INVALID);
+        dbus_g_proxy_connect_signal (watcher->priv->presence_proxy,
+                                     "StatusTextChanged",
+                                     G_CALLBACK (on_presence_status_text_changed),
+                                     watcher,
+                                     NULL);
+
+        proxy = dbus_g_proxy_new_from_proxy (watcher->priv->presence_proxy,
+                                             "org.freedesktop.DBus.Properties",
+                                             "/org/gnome/SessionManager/Presence");
+
+        status = 0;
+        status_text = NULL;
+
         error = NULL;
-        watcher->priv->presence_proxy = dbus_g_proxy_new_for_name_owner (bus,
-                                                                         "org.gnome.SessionManager",
-                                                                         "/org/gnome/SessionManager/Presence",
-                                                                         "org.gnome.SessionManager.Presence",
-                                                                         &error);
-        if (watcher->priv->presence_proxy != NULL) {
-                DBusGProxy *proxy;
-
-                dbus_g_proxy_add_signal (watcher->priv->presence_proxy,
-                                         "StatusChanged",
-                                         G_TYPE_UINT,
-                                         G_TYPE_INVALID);
-                dbus_g_proxy_connect_signal (watcher->priv->presence_proxy,
-                                             "StatusChanged",
-                                             G_CALLBACK (on_presence_status_changed),
-                                             watcher,
-                                             NULL);
-                dbus_g_proxy_add_signal (watcher->priv->presence_proxy,
-                                         "StatusTextChanged",
-                                         G_TYPE_STRING,
-                                         G_TYPE_INVALID);
-                dbus_g_proxy_connect_signal (watcher->priv->presence_proxy,
-                                             "StatusTextChanged",
-                                             G_CALLBACK (on_presence_status_text_changed),
-                                             watcher,
-                                             NULL);
-
-                proxy = dbus_g_proxy_new_from_proxy (watcher->priv->presence_proxy,
-                                                     "org.freedesktop.DBus.Properties",
-                                                     "/org/gnome/SessionManager/Presence");
-                if (proxy != NULL) {
-                        guint       status;
-                        const char *status_text;
-                        GValue      value = { 0, };
-
-                        status = 0;
-                        status_text = NULL;
-
-                        error = NULL;
-                        dbus_g_proxy_call (proxy,
-                                           "Get",
-                                           &error,
-                                           G_TYPE_STRING, "org.gnome.SessionManager.Presence",
-                                           G_TYPE_STRING, "status",
-                                           G_TYPE_INVALID,
-                                           G_TYPE_VALUE, &value,
-                                           G_TYPE_INVALID);
-
-                        if (error != NULL) {
-                                g_warning ("Couldn't get presence status: %s", error->message);
-                                g_error_free (error);
-                                goto done;
-                        } else {
-                                status = g_value_get_uint (&value);
-                        }
-
-                        g_value_unset (&value);
-
-                        error = NULL;
-                        dbus_g_proxy_call (proxy,
-                                           "Get",
-                                           &error,
-                                           G_TYPE_STRING, "org.gnome.SessionManager.Presence",
-                                           G_TYPE_STRING, "status-text",
-                                           G_TYPE_INVALID,
-                                           G_TYPE_VALUE, &value,
-                                           G_TYPE_INVALID);
-
-                        if (error != NULL) {
-                                g_warning ("Couldn't get presence status text: %s", error->message);
-                                g_error_free (error);
-                        } else {
-                                status_text = g_value_get_string (&value);
-                        }
-
-                        set_status (watcher, status);
-                        set_status_text (watcher, status_text);
-                }
-        } else {
-                g_warning ("Failed to get session presence proxy: %s", error->message);
+        dbus_g_proxy_call (proxy,
+                           "Get",
+                           &error,
+                           G_TYPE_STRING, "org.gnome.SessionManager.Presence",
+                           G_TYPE_STRING, "status",
+                           G_TYPE_INVALID,
+                           G_TYPE_VALUE, &value,
+                           G_TYPE_INVALID);
+
+        if (error != NULL) {
+                g_warning ("Couldn't get presence status: %s", error->message);
                 g_error_free (error);
-                goto done;
+                return;
+        } else {
+                status = g_value_get_uint (&value);
         }
 
-        ret = TRUE;
+        g_value_unset (&value);
+
+        error = NULL;
+        dbus_g_proxy_call (proxy,
+                           "Get",
+                           &error,
+                           G_TYPE_STRING, "org.gnome.SessionManager.Presence",
+                           G_TYPE_STRING, "status-text",
+                           G_TYPE_INVALID,
+                           G_TYPE_VALUE, &value,
+                           G_TYPE_INVALID);
+
+        if (error != NULL) {
+                g_warning ("Couldn't get presence status text: %s", error->message);
+                g_error_free (error);
+        } else {
+                status_text = g_value_get_string (&value);
+        }
 
- done:
-        return ret;
+        set_status (watcher, status);
+        set_status_text (watcher, status_text);
 }
 
 static void
--
cgit v0.8.3.4



1.1                  gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-nvidia-fade2.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-nvidia-fade2.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-extra/gnome-screensaver/files/gnome-screensaver-2.30.2-nvidia-fade2.patch?rev=1.1&content-type=text/plain

Index: gnome-screensaver-2.30.2-nvidia-fade2.patch
===================================================================

++ gnome-screensaver-2.30.2/debian/patches/16_dont_crash_in_kvm.patch

Description: Don't crash when the XF86VM extension doesn't allow the gamma to be set
 On some systems where the XF86VM extension is present, the gamma value
 can be read successfully with XF86VidModeGetGamma but attempting to
 change the gamma value with XF86VidModeSetGamma will result in a
 BadValue error (eg, on KVM).

 Trap this error and abort the fade rather than crashing.
Bug-Ubuntu: https://launchpad.net/bugs/581864
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=618932
Forwarded: https://bugzilla.gnome.org/attachment.cgi?id=161276
Author: Chris Coulson <chris.coulson@canonical.com>

Index: gnome-screensaver-2.30.2/src/gs-fade.c
===================================================================
--- gnome-screensaver-2.30.2.orig/src/gs-fade.c	2010-11-15 16:35:43.078663002 +1100
+++ gnome-screensaver-2.30.2/src/gs-fade.c	2010-11-15 16:37:45.814662558 +1100
@@ -208,7 +208,13 @@
                         g2.blue = XF86_MIN_GAMMA;
                 }
 
+                gdk_error_trap_push ();
                 status = XF86VidModeSetGamma (GDK_DISPLAY (), screen, &g2);
+                gdk_flush ();
+                if (gdk_error_trap_pop ()) {
+                        gs_debug ("Failed to set gamma. Bailing out and aborting fade");
+                        return FALSE;        
+                }
         } else {
 
 # ifdef HAVE_XF86VMODE_GAMMA_RAMP
@@ -225,7 +231,13 @@
                         b[i] = gamma_info->b[i] * ratio;
                 }
 
+                gdk_error_trap_push ();
                 status = XF86VidModeSetGammaRamp (GDK_DISPLAY (), screen, gamma_info->size, r, g, b);
+                gdk_flush ();
+                if (gdk_error_trap_pop ()) {
+                        gs_debug ("Failed to set gamma. Bailing out and aborting fade");
+                        return FALSE;                
+                }
 
                 g_free (r);
                 g_free (g);
@@ -236,8 +248,6 @@
 # endif /* !HAVE_XF86VMODE_GAMMA_RAMP */
         }
 
-        gdk_flush ();
-
         return status;
 }
 
@@ -391,7 +401,7 @@
         screen_priv = &fade->priv->screen_priv[screen_idx];
         res = xf86_whack_gamma (screen_idx, screen_priv, alpha);
 
-        return TRUE;
+        return res;
 }
 #endif /* HAVE_XF86VMODE_GAMMA */
 






^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2011-03-07 14:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-07 14:31 [gentoo-commits] gentoo-x86 commit in gnome-extra/gnome-screensaver/files: gnome-screensaver-2.30.2-popsquares-header.patch gnome-screensaver-2.30.2-libxklavier-configure.patch gnome-screensaver-2.30.2-prevent-twice.patch gnome-screensaver-2.30.2-nvidia-fade.patch gnome-screensaver-2.30.2-name-manager.patch gnome-screensaver-2.30.2-nvidia-fade2.patch Pacho Ramos (pacho)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox