summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2006-10-02 18:05:28 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2006-10-02 18:05:28 +0000
commit80456608c0aac79363e7e883804ed5aefe01328e (patch)
tree050027421e10cdfc38deb2fc91e0751738256824
parent1ce30acc7e6a40a218906111f450e6643054654a (diff)
vcard-manager.c: On status change to CONNECTED, if we *don't* know a better alias for the local user, fetch their vCard in case they've set their alias on the server already
-rw-r--r--src/vcard-manager.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/vcard-manager.c b/src/vcard-manager.c
index c59384cd0..6572df1ec 100644
--- a/src/vcard-manager.c
+++ b/src/vcard-manager.c
@@ -229,7 +229,7 @@ status_changed_cb (GObject *object,
gchar *alias;
GabbleConnectionAliasSource alias_src;
- /* if we have an alias, patch it into our vCard on the server */
+ /* if we have a better alias, patch it into our vCard on the server */
alias_src = _gabble_connection_get_cached_alias (conn,
conn->self_handle,
&alias);
@@ -239,6 +239,14 @@ status_changed_cb (GObject *object,
gabble_vcard_manager_edit (self, 0, NULL, NULL, G_OBJECT (conn),
NULL, "NICKNAME", alias, NULL);
}
+ else
+ {
+ /* find out our own alias, so it's in the cache; again,
+ * there's nothing useful we can do with errors really
+ */
+ gabble_vcard_manager_request (self, conn->self_handle,
+ 0, NULL, NULL, NULL, NULL);
+ }
g_free(alias);
}