diff options
Diffstat (limited to 'libnm/nm-manager.c')
| -rw-r--r-- | libnm/nm-manager.c | 16 |
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); |