From 9f95363af33241508cdaee757b6f08846a575368 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Thu, 19 Jun 2008 12:47:54 +0000 Subject: Fix the bug "Incoming call from (null)" (Alban Crequy) The status icon uses empathy_contact_get_name() to print the name of the calling contact. It uses empathy_contact_run_until_ready() to wait the return of GetAliases(). If GetAliases() failed for whatever reason, the name will be NULL and empathy_contact_get_name() will fallback to the id. If GetHandle() has not yet returned, the id is not ready and empathy_contact_run_until_ready() must wait the id to be available. svn path=/trunk/; revision=1179 --- libempathy/empathy-contact.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libempathy') diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c index 48e045425..bfa9966da 100644 --- a/libempathy/empathy-contact.c +++ b/libempathy/empathy-contact.c @@ -746,6 +746,15 @@ contact_is_ready_func (GObject *contact, ready = GPOINTER_TO_UINT (user_data); + /* When the name is NULL, empathy_contact_get_name() fallback to the id. + * When the caller want to wait the name to be ready, it also want to wait + * the id to be ready in case of fallback. */ + if ((ready | EMPATHY_CONTACT_READY_NAME) && + G_STR_EMPTY (priv->name)) + { + ready |= EMPATHY_CONTACT_READY_ID; + } + return (priv->ready & ready) == ready; } -- cgit v1.2.3