r22548 - in /desktop/unstable/gnome-screensaver/debian: changelog control control.in patches/ patches/01_session_inhibitors.patch patches/series rules

joss at users.alioth.debian.org joss at users.alioth.debian.org
Wed Dec 9 10:59:50 UTC 2009


Author: joss
Date: Wed Dec  9 10:59:49 2009
New Revision: 22548

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=22548
Log:
* Add quilt support.
* 01_session_inhibitors.patch: stolen from upstream git. Fix a leak of 
  session inhibitors. Closes: #560049.

Added:
    desktop/unstable/gnome-screensaver/debian/patches/
    desktop/unstable/gnome-screensaver/debian/patches/01_session_inhibitors.patch
    desktop/unstable/gnome-screensaver/debian/patches/series
Modified:
    desktop/unstable/gnome-screensaver/debian/changelog
    desktop/unstable/gnome-screensaver/debian/control
    desktop/unstable/gnome-screensaver/debian/control.in
    desktop/unstable/gnome-screensaver/debian/rules

Modified: desktop/unstable/gnome-screensaver/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/changelog?rev=22548&op=diff
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/changelog [utf-8] (original)
+++ desktop/unstable/gnome-screensaver/debian/changelog [utf-8] Wed Dec  9 10:59:49 2009
@@ -4,6 +4,9 @@
   * Remove the old one in the postinst.
   * Removed libxxf86misc-dev build-dependency. This extension has been 
     removed in Xorg 7.4. Closes: #559689.
+  * Add quilt support.
+  * 01_session_inhibitors.patch: stolen from upstream git. Fix a leak of 
+    session inhibitors. Closes: #560049.
 
  -- Josselin Mouette <joss at debian.org>  Tue, 03 Nov 2009 15:29:43 +0100
 

Modified: desktop/unstable/gnome-screensaver/debian/control
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/control?rev=22548&op=diff
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/control [utf-8] (original)
+++ desktop/unstable/gnome-screensaver/debian/control [utf-8] Wed Dec  9 10:59:49 2009
@@ -10,6 +10,7 @@
 Uploaders: Debian GNOME Maintainers <pkg-gnome-maintainers at lists.alioth.debian.org>, Emilio Pozuelo Monfort <pochu at debian.org>, Josselin Mouette <joss at debian.org>, Sebastian Dröge <slomo at debian.org>
 Build-Depends: cdbs,
                debhelper (>= 5.0.13),
+               quilt,
                gnome-pkg-tools (>= 0.10),
                intltool (>= 0.35.0),
                libdbus-glib-1-dev (>= 0.30),

Modified: desktop/unstable/gnome-screensaver/debian/control.in
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/control.in?rev=22548&op=diff
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/control.in [utf-8] (original)
+++ desktop/unstable/gnome-screensaver/debian/control.in [utf-8] Wed Dec  9 10:59:49 2009
@@ -5,6 +5,7 @@
 Uploaders: @GNOME_TEAM@
 Build-Depends: cdbs,
                debhelper (>= 5.0.13),
+               quilt,
                gnome-pkg-tools (>= 0.10),
                intltool (>= 0.35.0),
                libdbus-glib-1-dev (>= 0.30),

Added: desktop/unstable/gnome-screensaver/debian/patches/01_session_inhibitors.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/patches/01_session_inhibitors.patch?rev=22548&op=file
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/patches/01_session_inhibitors.patch (added)
+++ desktop/unstable/gnome-screensaver/debian/patches/01_session_inhibitors.patch [utf-8] Wed Dec  9 10:59:49 2009
@@ -1,0 +1,85 @@
+From f003d3045f6d334b41403fcb53cf5bc0b5518643 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen at redhat.com>
+Date: Mon, 02 Nov 2009 23:15:13 +0000
+Subject: Remove session inhibitors if the originator falls of the bus
+
+This fixes a problem where totem leaves inhibitors behind, see
+bug 600488.
+---
+diff --git a/src/gs-listener-dbus.c b/src/gs-listener-dbus.c
+index 85a0328..850db6d 100644
+--- a/src/gs-listener-dbus.c
++++ b/src/gs-listener-dbus.c
+@@ -985,47 +985,40 @@ listener_dbus_remove_ref_entry (GSListener     *listener,
+ }
+ 
+ static gboolean
+-listener_ref_entry_has_connection (gpointer key,
+-                                   gpointer value,
+-                                   gpointer user_data)
+-{
+-        GSListenerRefEntry *entry;
+-        const char         *connection;
+-        gboolean            matches;
+-
+-        entry = (GSListenerRefEntry *)value;
+-        connection = (const char *) user_data;
+-
+-        matches = FALSE;
+-        if (connection != NULL && entry->connection != NULL) {
+-                matches = (strcmp (connection, entry->connection) == 0);
+-                if (matches) {
+-                        gs_debug ("removing %s from %s for reason '%s' on connection %s",
+-                                  get_name_for_entry_type (entry->entry_type),
+-                                  entry->application,
+-                                  entry->reason,
+-                                  entry->connection);
+-                }
+-        }
+-
+-        return matches;
+-}
+-
+-static gboolean
+ listener_ref_entry_remove_for_connection (GSListener  *listener,
+                                           int          entry_type,
+                                           const char  *connection)
+ {
+         gboolean    removed;
+-        guint       n_removed;
+         GHashTable *hash;
++        GHashTableIter iter;
++        GSListenerRefEntry *entry;
++
++        if (connection == NULL)
++                return FALSE;
+ 
+         hash = get_hash_for_entry_type (listener, entry_type);
+ 
+         removed = FALSE;
+-        n_removed = g_hash_table_foreach_remove (hash, listener_ref_entry_has_connection, (gpointer)connection);
++        g_hash_table_iter_init (&iter, hash);
++        while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&entry)) {
++                if (entry->connection != NULL &&
++                    strcmp (connection, entry->connection) == 0) {
++                        gs_debug ("removing %s from %s for reason '%s' on connection %s",
++                                  get_name_for_entry_type (entry->entry_type),
++                                  entry->application,
++                                  entry->reason,
++                                  entry->connection);
++
++                        if (entry->entry_type == REF_ENTRY_TYPE_INHIBIT) {
++                                /* remove inhibit from gnome session */
++                                remove_session_inhibit (listener, entry);
++                        }
+ 
+-        removed = (n_removed > 0);
++                        g_hash_table_iter_remove (&iter);
++                        removed = TRUE;
++                }
++        }
+ 
+         return removed;
+ }
+--
+cgit v0.8.2

Added: desktop/unstable/gnome-screensaver/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/patches/series?rev=22548&op=file
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/patches/series (added)
+++ desktop/unstable/gnome-screensaver/debian/patches/series [utf-8] Wed Dec  9 10:59:49 2009
@@ -1,0 +1,1 @@
+01_session_inhibitors.patch

Modified: desktop/unstable/gnome-screensaver/debian/rules
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-screensaver/debian/rules?rev=22548&op=diff
==============================================================================
--- desktop/unstable/gnome-screensaver/debian/rules [utf-8] (original)
+++ desktop/unstable/gnome-screensaver/debian/rules [utf-8] Wed Dec  9 10:59:49 2009
@@ -3,6 +3,7 @@
 include /usr/share/cdbs/1/rules/debhelper.mk
 include /usr/share/cdbs/1/class/gnome.mk
 include /usr/share/cdbs/1/rules/utils.mk
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk
 include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
 -include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk
 




More information about the pkg-gnome-commits mailing list