NetworkManager/rh1264676-fix-crash-on-devi...

81 lines
2.7 KiB
Diff

From 117fd7ef515a60cf36acce970b21915f51f1074d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= <jklimes@redhat.com>
Date: Mon, 21 Sep 2015 14:30:02 +0200
Subject: [PATCH 1/2] manager: disconnect signal handlers on 'settings' in
dispose() (rh #1264676)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Otherwise a crash can occur when shutting down.
https://bugzilla.redhat.com/show_bug.cgi?id=1264676
(cherry picked from commit dd8c3ef3a005613b5a28dd084bdae54dffa203fd)
Signed-off-by: Jiří Klimeš <jklimes@redhat.com>
---
src/nm-manager.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/nm-manager.c b/src/nm-manager.c
index d91a0d7..7589053 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -5115,7 +5115,16 @@ dispose (GObject *object)
g_clear_object (&priv->policy);
}
- g_clear_object (&priv->settings);
+ if (priv->settings) {
+ g_signal_handlers_disconnect_by_func (priv->settings, settings_startup_complete_changed, manager);
+ g_signal_handlers_disconnect_by_func (priv->settings, system_unmanaged_devices_changed_cb, manager);
+ g_signal_handlers_disconnect_by_func (priv->settings, system_hostname_changed_cb, manager);
+ g_signal_handlers_disconnect_by_func (priv->settings, connection_added, manager);
+ g_signal_handlers_disconnect_by_func (priv->settings, connection_changed, manager);
+ g_signal_handlers_disconnect_by_func (priv->settings, connection_removed, manager);
+ g_clear_object (&priv->settings);
+ }
+
g_free (priv->state_file);
g_clear_object (&priv->vpn_manager);
--
2.1.0
From b010870d8477c24e2846df4eeda81acdd00000e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= <jklimes@redhat.com>
Date: Mon, 21 Sep 2015 14:38:25 +0200
Subject: [PATCH 2/2] manager: cleanup NMRfkillManager in dispose()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes: b15fb8641e26eb63c2d83d9dcc9510705086e2f2
(cherry picked from commit 85d7dc1a0fe15996f4194d28378e9738b53c99c4)
Signed-off-by: Jiří Klimeš <jklimes@redhat.com>
---
src/nm-manager.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/nm-manager.c b/src/nm-manager.c
index 7589053..40e8321 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -5152,6 +5152,11 @@ dispose (GObject *object)
g_clear_object (&priv->fw_monitor);
}
+ if (priv->rfkill_mgr) {
+ g_signal_handlers_disconnect_by_func (priv->rfkill_mgr, rfkill_manager_rfkill_changed_cb, manager);
+ g_clear_object (&priv->rfkill_mgr);
+ }
+
nm_device_factory_manager_for_each_factory (_deinit_device_factory, manager);
if (priv->timestamp_update_id) {
--
2.1.0