]> git.0d.be Git - empathy.git/commitdiff
Fix the bug "Incoming call from (null)" (Alban Crequy)
authorXavier Claessens <xclaesse@src.gnome.org>
Thu, 19 Jun 2008 12:47:54 +0000 (12:47 +0000)
committerXavier Claessens <xclaesse@src.gnome.org>
Thu, 19 Jun 2008 12:47:54 +0000 (12:47 +0000)
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

index 48e0454254669515363e1ae17a77cce384a18a55..bfa9966dab8dd5cb1ed54b64f1452c62284352f5 100644 (file)
@@ -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;
 }