diff options
author | Mikhail Zabaluev <mikhail.zabaluev@nokia.com> | 2011-11-07 19:45:37 +0200 |
---|---|---|
committer | Mikhail Zabaluev <mikhail.zabaluev@nokia.com> | 2011-11-08 17:10:51 +0200 |
commit | 09dec41d5b2954b45f1b9abeb407bff775d192e2 (patch) | |
tree | b0ece5d66e3eed6d7abfac814666aa5de9f89af4 | |
parent | 664556d27223a9d1916e981368a21e8aba6d526a (diff) | |
download | telepathy-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.c | 5 |
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); |