diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2010-12-07 19:02:48 +0000 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2010-12-08 13:10:13 +0000 |
commit | d6fbd8bfaa2db21273514bf01a93db748ee9b8e8 (patch) | |
tree | 82ec4c90b848dfc9c9dd7f84508fcd321c19d14f | |
parent | e402894d38823bdd1260b162a0e1851079648c57 (diff) | |
download | telepathy-glib-d6fbd8bfaa2db21273514bf01a93db748ee9b8e8.tar.gz |
Always call contacts_get_attributes via the context->todo queue
-rw-r--r-- | telepathy-glib/contact.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/telepathy-glib/contact.c b/telepathy-glib/contact.c index 0b2240646..a95a51bb6 100644 --- a/telepathy-glib/contact.c +++ b/telepathy-glib/contact.c @@ -3257,12 +3257,11 @@ tp_connection_get_contacts_by_handle (TpConnection *self, /* we support the Contacts interface, so we can hold the handles and * simultaneously inspect them. After that, we'll fill in any * features that are necessary (this becomes a no-op if Contacts - * gave us everything). */ - contacts_get_attributes (context); + * will give us everything). */ + g_queue_push_head (&context->todo, contacts_get_attributes); contacts_context_queue_features (context); - /* we have one excess ref to the context because we create it, - * and then contacts_get_attributes refs it */ - contacts_context_unref (context); + g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, + contacts_context_idle_continue, context, contacts_context_unref); return; } |