r43957 - in /desktop/unstable/gnome-settings-daemon/debian: changelog control patches/30_xrandr_dbus_init.patch patches/series

joss at users.alioth.debian.org joss at users.alioth.debian.org
Sun Nov 30 12:14:21 UTC 2014


Author: joss
Date: Sun Nov 30 12:14:21 2014
New Revision: 43957

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=43957
Log:
* New upstream translation and bugfix release.
* 30_xrandr_dbus_init.patch: patch from upstream git. Fixes a crash
  due to a race condition in dbus initialization.

Added:
    desktop/unstable/gnome-settings-daemon/debian/patches/30_xrandr_dbus_init.patch
Modified:
    desktop/unstable/gnome-settings-daemon/debian/changelog
    desktop/unstable/gnome-settings-daemon/debian/control
    desktop/unstable/gnome-settings-daemon/debian/patches/series

Modified: desktop/unstable/gnome-settings-daemon/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-settings-daemon/debian/changelog?rev=43957&op=diff
==============================================================================
--- desktop/unstable/gnome-settings-daemon/debian/changelog	[utf-8] (original)
+++ desktop/unstable/gnome-settings-daemon/debian/changelog	[utf-8] Sun Nov 30 12:14:21 2014
@@ -1,3 +1,11 @@
+gnome-settings-daemon (3.14.2-1) unstable; urgency=medium
+
+  * New upstream translation and bugfix release.
+  * 30_xrandr_dbus_init.patch: patch from upstream git. Fixes a crash
+    due to a race condition in dbus initialization.
+
+ -- Josselin Mouette <joss at debian.org>  Sun, 30 Nov 2014 12:46:20 +0100
+
 gnome-settings-daemon (3.14.1-1) unstable; urgency=medium
 
   * New upstream release.

Modified: desktop/unstable/gnome-settings-daemon/debian/control
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-settings-daemon/debian/control?rev=43957&op=diff
==============================================================================
--- desktop/unstable/gnome-settings-daemon/debian/control	[utf-8] (original)
+++ desktop/unstable/gnome-settings-daemon/debian/control	[utf-8] Sun Nov 30 12:14:21 2014
@@ -6,7 +6,7 @@
 Section: gnome
 Priority: optional
 Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers at lists.alioth.debian.org>
-Uploaders: Andreas Henriksson <andreas at fatal.se>, Emilio Pozuelo Monfort <pochu at debian.org>, Laurent Bigonville <bigon at debian.org>, Sjoerd Simons <sjoerd at debian.org>
+Uploaders: Andreas Henriksson <andreas at fatal.se>, Emilio Pozuelo Monfort <pochu at debian.org>, Josselin Mouette <joss at debian.org>, Laurent Bigonville <bigon at debian.org>
 Build-Depends: cdbs,
                debhelper (>= 9),
                gnome-pkg-tools,
@@ -45,7 +45,7 @@
                libgeocode-glib-dev (>= 3.10.0),
                geoclue-2.0 (>= 2.1.2),
                xkb-data
-Standards-Version: 3.9.5
+Standards-Version: 3.9.6
 Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-gnome/desktop/unstable/gnome-settings-daemon/
 Vcs-Svn: svn://anonscm.debian.org/pkg-gnome/desktop/unstable/gnome-settings-daemon/
 

Added: desktop/unstable/gnome-settings-daemon/debian/patches/30_xrandr_dbus_init.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-settings-daemon/debian/patches/30_xrandr_dbus_init.patch?rev=43957&op=file
==============================================================================
--- desktop/unstable/gnome-settings-daemon/debian/patches/30_xrandr_dbus_init.patch	(added)
+++ desktop/unstable/gnome-settings-daemon/debian/patches/30_xrandr_dbus_init.patch	[utf-8] Sun Nov 30 12:14:21 2014
@@ -0,0 +1,65 @@
+From e4b1d27d5d1df77301a5c018ddfb086e4da9e8e4 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos at gmail.com>
+Date: Fri, 14 Nov 2014 23:27:54 +0100
+Subject: xrandr: Register our DBus API only after all other initialization
+
+Otherwise we risk being called and not have all out internal state
+ready (e.g. priv->rw_screen being NULL) leading to crashes.
+
+We also need to disown our well known name on stop() since we'll
+reaquire it if start() gets called again.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=740151
+
+diff --git a/plugins/xrandr/gsd-xrandr-manager.c b/plugins/xrandr/gsd-xrandr-manager.c
+index 007beab..67b3ed1 100644
+--- a/plugins/xrandr/gsd-xrandr-manager.c
++++ b/plugins/xrandr/gsd-xrandr-manager.c
+@@ -129,6 +129,7 @@ static void get_allowed_rotations_for_output (GnomeRRConfig *config,
+                                               GnomeRRRotation *out_rotations);
+ static void handle_fn_f7 (GsdXrandrManager *mgr, gint64 timestamp);
+ static void handle_rotate_windows (GsdXrandrManager *mgr, GnomeRRRotation rotation, gint64 timestamp);
++static void register_manager_dbus (GsdXrandrManager *manager);
+ 
+ G_DEFINE_TYPE (GsdXrandrManager, gsd_xrandr_manager, G_TYPE_OBJECT)
+ 
+@@ -1232,6 +1233,7 @@ on_rr_screen_acquired (GObject      *object,
+         manager->priv->settings = g_settings_new (CONF_SCHEMA);
+ 
+         manager_init_devices (manager);
++        register_manager_dbus (manager);
+ 
+         log_close ();
+ }
+@@ -1283,6 +1285,9 @@ gsd_xrandr_manager_stop (GsdXrandrManager *manager)
+                 manager->priv->upower_client = NULL;
+         }
+ 
++        if (manager->priv->name_id != 0)
++                g_bus_unown_name (manager->priv->name_id);
++
+         if (manager->priv->introspection_data) {
+                 g_dbus_node_info_unref (manager->priv->introspection_data);
+                 manager->priv->introspection_data = NULL;
+@@ -1341,9 +1346,6 @@ gsd_xrandr_manager_finalize (GObject *object)
+ 
+         gsd_xrandr_manager_stop (manager);
+ 
+-        if (manager->priv->name_id != 0)
+-                g_bus_unown_name (manager->priv->name_id);
+-
+         G_OBJECT_CLASS (gsd_xrandr_manager_parent_class)->finalize (object);
+ }
+ 
+@@ -1462,8 +1464,6 @@ gsd_xrandr_manager_new (void)
+                 manager_object = g_object_new (GSD_TYPE_XRANDR_MANAGER, NULL);
+                 g_object_add_weak_pointer (manager_object,
+                                            (gpointer *) &manager_object);
+-
+-                register_manager_dbus (manager_object);
+         }
+ 
+         return GSD_XRANDR_MANAGER (manager_object);
+-- 
+cgit v0.10.1
+

Modified: desktop/unstable/gnome-settings-daemon/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-settings-daemon/debian/patches/series?rev=43957&op=diff
==============================================================================
--- desktop/unstable/gnome-settings-daemon/debian/patches/series	[utf-8] (original)
+++ desktop/unstable/gnome-settings-daemon/debian/patches/series	[utf-8] Sun Nov 30 12:14:21 2014
@@ -1 +1,2 @@
 04_superP.patch
+30_xrandr_dbus_init.patch




More information about the pkg-gnome-commits mailing list