r36489 - in /desktop/unstable/gnome-control-center/debian: changelog patches/04_network_crash_signals.patch patches/series

joss at users.alioth.debian.org joss at users.alioth.debian.org
Mon Dec 17 23:41:54 UTC 2012


Author: joss
Date: Mon Dec 17 23:41:53 2012
New Revision: 36489

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=36489
Log:
04_network_crash_signals.patch: patch from upstream git. Correctly 
disconnect signal handlers to avoid crashes.

Added:
    desktop/unstable/gnome-control-center/debian/patches/04_network_crash_signals.patch
Modified:
    desktop/unstable/gnome-control-center/debian/changelog
    desktop/unstable/gnome-control-center/debian/patches/series

Modified: desktop/unstable/gnome-control-center/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-control-center/debian/changelog?rev=36489&op=diff
==============================================================================
--- desktop/unstable/gnome-control-center/debian/changelog [utf-8] (original)
+++ desktop/unstable/gnome-control-center/debian/changelog [utf-8] Mon Dec 17 23:41:53 2012
@@ -4,6 +4,8 @@
   * 11_revert_printer_class.patch: revert, merged upstream.
   * 03_network_null_unref.patch: patch from upstream git. Fix a critical 
     warning caused by g_object_unref (NULL).
+  * 04_network_crash_signals.patch: patch from upstream git. Correctly 
+    disconnect signal handlers to avoid crashes.
 
  -- Josselin Mouette <joss at debian.org>  Mon, 17 Dec 2012 23:22:21 +0100
 

Added: desktop/unstable/gnome-control-center/debian/patches/04_network_crash_signals.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-control-center/debian/patches/04_network_crash_signals.patch?rev=36489&op=file
==============================================================================
--- desktop/unstable/gnome-control-center/debian/patches/04_network_crash_signals.patch (added)
+++ desktop/unstable/gnome-control-center/debian/patches/04_network_crash_signals.patch [utf-8] Mon Dec 17 23:41:53 2012
@@ -1,0 +1,50 @@
+From c6f49c2872dcd3a4bbf0ce2d9b315faff3ea9656 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen at redhat.com>
+Date: Wed, 27 Jun 2012 23:02:02 -0400
+Subject: [PATCH] network: avoid crashes due to leftover signal handlers
+
+The libnm objects can survive the disposal of the network panel.
+If we don't disconnect the signal handlers on them, bad things
+can happen. Use g_signal_connect_object to tie the life-cycle
+of the signal handlers to the panel.
+https://bugzilla.gnome.org/show_bug.cgi?id=677969
+---
+ panels/network/cc-network-panel.c |   16 ++++++----------
+ 1 file changed, 6 insertions(+), 10 deletions(-)
+
+diff --git a/panels/network/cc-network-panel.c b/panels/network/cc-network-panel.c
+index 6cd7298..ca527d9 100644
+--- a/panels/network/cc-network-panel.c
++++ b/panels/network/cc-network-panel.c
+@@ -647,14 +647,10 @@ object_removed_cb (NetObject *object, CcNetworkPanel *panel)
+ static void
+ register_object_interest (CcNetworkPanel *panel, NetObject *object)
+ {
+-        g_signal_connect (object,
+-                          "changed",
+-                          G_CALLBACK (object_changed_cb),
+-                          panel);
+-        g_signal_connect (object,
+-                          "removed",
+-                          G_CALLBACK (object_removed_cb),
+-                          panel);
++        g_signal_connect_object (object, "changed",
++                                 G_CALLBACK (object_changed_cb), panel, 0);
++        g_signal_connect_object (object, "removed",
++                                 G_CALLBACK (object_removed_cb), panel, 0);
+ }
+ 
+ static void
+@@ -729,8 +725,8 @@ panel_add_device (CcNetworkPanel *panel, NMDevice *device)
+         g_debug ("device %s type %i",
+                  nm_device_get_udi (device),
+                  nm_device_get_device_type (device));
+-        g_signal_connect (G_OBJECT (device), "notify::state",
+-                          (GCallback) device_state_notify_changed_cb, panel);
++        g_signal_connect_object (G_OBJECT (device), "notify::state",
++                                 (GCallback) device_state_notify_changed_cb, panel, 0);
+ 
+         /* do we have to get additonal data from ModemManager */
+         if (type == NM_DEVICE_TYPE_MODEM) {
+-- 
+1.7.10.4

Modified: desktop/unstable/gnome-control-center/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-control-center/debian/patches/series?rev=36489&op=diff
==============================================================================
--- desktop/unstable/gnome-control-center/debian/patches/series [utf-8] (original)
+++ desktop/unstable/gnome-control-center/debian/patches/series [utf-8] Mon Dec 17 23:41:53 2012
@@ -1,6 +1,7 @@
 01_menu_category.patch
 02_no_assert_on_null_streams.patch
 03_network_null_unref.patch
+04_network_crash_signals.patch
 06_handle_passwd_with_ldap.patch
 10_optional_wacom_support.patch
 90_force_fallback.patch




More information about the pkg-gnome-commits mailing list