summary refs log tree commit diff
path: root/libnm/nm-manager.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2019-02-26 19:01:41 +0100
committerMichael Biebl <biebl@debian.org>2019-02-26 19:01:41 +0100
commit964ae8cc391520440cf5aa13e2b9cc34850ea6c2 (patch)
tree50da9ecaee7fbb612ec18f9e24f7dec215bf7861 /libnm/nm-manager.c
parent3626b425d1bc017fdc6f1ea0cfd329d1e1681641 (diff)
New upstream version 1.14.6 upstream/1.14.6
Diffstat (limited to 'libnm/nm-manager.c')
-rw-r--r--libnm/nm-manager.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/libnm/nm-manager.c b/libnm/nm-manager.c
index aac120c6..e108f2b0 100644
--- a/libnm/nm-manager.c
+++ b/libnm/nm-manager.c
@@ -885,22 +885,20 @@ activate_info_complete (ActivateInfo *info,
                         NMActiveConnection *active,
                         GError *error)
 {
+	nm_clear_g_signal_handler (info->cancellable, &info->cancelled_id);
+
+	c_list_unlink_stale (&info->lst);
+
 	if (active)
 		g_simple_async_result_set_op_res_gpointer (info->simple, g_object_ref (active), g_object_unref);
 	else
 		g_simple_async_result_set_from_error (info->simple, error);
 	g_simple_async_result_complete (info->simple);
 
-	c_list_unlink_stale (&info->lst);
-
 	g_free (info->active_path);
 	g_free (info->new_connection_path);
 	g_object_unref (info->simple);
-	if (info->cancellable) {
-		if (info->cancelled_id)
-			g_signal_handler_disconnect (info->cancellable, info->cancelled_id);
-		g_object_unref (info->cancellable);
-	}
+	nm_g_object_unref (info->cancellable);
 	g_slice_free (ActivateInfo, info);
 }
 
@@ -1538,7 +1536,7 @@ nm_manager_checkpoint_rollback_finish (NMManager *manager,
 	if (g_simple_async_result_propagate_error (simple, error))
 		return NULL;
 	else
-		return g_simple_async_result_get_op_res_gpointer (simple);
+		return g_hash_table_ref (g_simple_async_result_get_op_res_gpointer (simple));
 }
 
 static void
@@ -1732,6 +1730,8 @@ dispose (GObject *object)
 		priv->all_devices = NULL;
 	}
 
+	nm_clear_pointer (&priv->checkpoints, g_ptr_array_unref);
+
 	free_active_connections (manager);
 	g_clear_object (&priv->primary_connection);
 	g_clear_object (&priv->activating_connection);