summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Zabaluev <mikhail.zabaluev@nokia.com>2011-11-07 19:45:37 +0200
committerMikhail Zabaluev <mikhail.zabaluev@nokia.com>2011-11-08 17:10:51 +0200
commit09dec41d5b2954b45f1b9abeb407bff775d192e2 (patch)
treeb0ece5d66e3eed6d7abfac814666aa5de9f89af4
parent664556d27223a9d1916e981368a21e8aba6d526a (diff)
downloadtelepathy-glib-09dec41d5b2954b45f1b9abeb407bff775d192e2.tar.gz
TpSimplePasswordManager: don't keep a pointer to the challenge result
The pointer goes stale when the result is consumed, and it trips an assertion if the manager gets a new challenge.
-rw-r--r--telepathy-glib/simple-password-manager.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/telepathy-glib/simple-password-manager.c b/telepathy-glib/simple-password-manager.c
index 82d25445a..cdb75b8d9 100644
--- a/telepathy-glib/simple-password-manager.c
+++ b/telepathy-glib/simple-password-manager.c
@@ -99,7 +99,6 @@ struct _TpSimplePasswordManagerPrivate
guint status_changed_id;
TpBasePasswordChannel *channel;
- GAsyncResult *result;
gboolean dispose_has_run;
};
@@ -344,16 +343,14 @@ tp_simple_password_manager_prompt_common_async (
g_return_if_fail (channel != NULL);
g_return_if_fail (TP_IS_SIMPLE_PASSWORD_MANAGER (self));
g_return_if_fail (priv->channel == NULL);
- g_return_if_fail (priv->result == NULL);
priv->channel = g_object_ref (channel);
- priv->result = g_object_ref (result);
tp_g_signal_connect_object (priv->channel, "closed",
G_CALLBACK (tp_simple_password_manager_channel_closed_cb), self, 0);
tp_g_signal_connect_object (priv->channel, "finished",
G_CALLBACK (tp_simple_password_manager_channel_finished_cb),
- priv->result, 0);
+ g_object_ref (result), 0);
tp_base_channel_register ((TpBaseChannel *) priv->channel);