From d91c68235dbde543131844c6c2bc0f00c126b1e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= Date: Wed, 16 Mar 2011 13:03:15 +0100 Subject: [PATCH] libnm-glib: fix calling callback when activating connection Connections were not added to pending_activations resulting in callback not being called. --- libnm-glib/nm-client.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/libnm-glib/nm-client.c b/libnm-glib/nm-client.c index f06ff5eab..da46eb12c 100644 --- a/libnm-glib/nm-client.c +++ b/libnm-glib/nm-client.c @@ -675,6 +675,7 @@ nm_client_activate_connection (NMClient *client, NMClientActivateFn callback, gpointer user_data) { + NMClientPrivate *priv; ActivateInfo *info; g_return_if_fail (NM_IS_CLIENT (client)); @@ -687,7 +688,10 @@ nm_client_activate_connection (NMClient *client, info->user_data = user_data; info->client = client; - org_freedesktop_NetworkManager_activate_connection_async (NM_CLIENT_GET_PRIVATE (client)->client_proxy, + priv = NM_CLIENT_GET_PRIVATE (client); + priv->pending_activations = g_slist_prepend (priv->pending_activations, info); + + org_freedesktop_NetworkManager_activate_connection_async (priv->client_proxy, nm_connection_get_path (connection), device ? nm_object_get_path (NM_OBJECT (device)) : "/", specific_object ? specific_object : "/", @@ -743,6 +747,7 @@ nm_client_add_and_activate_connection (NMClient *client, NMClientAddActivateFn callback, gpointer user_data) { + NMClientPrivate *priv; ActivateInfo *info; GHashTable *hash = NULL; @@ -758,7 +763,11 @@ nm_client_add_and_activate_connection (NMClient *client, hash = nm_connection_to_hash (partial, NM_SETTING_HASH_FLAG_ALL); else hash = g_hash_table_new (g_str_hash, g_str_equal); - org_freedesktop_NetworkManager_add_and_activate_connection_async (NM_CLIENT_GET_PRIVATE (client)->client_proxy, + + priv = NM_CLIENT_GET_PRIVATE (client); + priv->pending_activations = g_slist_prepend (priv->pending_activations, info); + + org_freedesktop_NetworkManager_add_and_activate_connection_async (priv->client_proxy, hash, nm_object_get_path (NM_OBJECT (device)), specific_object ? specific_object : "/",