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
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;
}