diff options
author | <dafydd.harries@collabora.co.uk> | 2006-05-24 13:43:11 +0000 |
---|---|---|
committer | <dafydd.harries@collabora.co.uk> | 2006-05-24 13:43:11 +0000 |
commit | 407907322be085012697704d936dea905fb4b4e8 (patch) | |
tree | b5f1081b93abaf4fbf1abe7c8666990a9e9364e5 /src/gabble-presence-cache.c | |
parent | 670fc04f325baaaad0341350bf9c1e1bc80562da (diff) |
create presence for people who only have nicknames
Diffstat (limited to 'src/gabble-presence-cache.c')
-rw-r--r-- | src/gabble-presence-cache.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gabble-presence-cache.c b/src/gabble-presence-cache.c index cc9433b37..c0ed0e31c 100644 --- a/src/gabble-presence-cache.c +++ b/src/gabble-presence-cache.c @@ -53,6 +53,8 @@ static void gabble_presence_cache_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec); static void gabble_presence_cache_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec); +static GabblePresence *_cache_insert (GabblePresenceCache *cache, + GabbleHandle handle); static void gabble_presence_cache_status_changed_cb (GabbleConnection *, TpConnectionStatus, TpConnectionStatusReason, gpointer); @@ -358,7 +360,10 @@ _grab_nickname (GabblePresenceCache *cache, presence = gabble_presence_cache_get (cache, handle); if (NULL == presence) - return; + { + presence = _cache_insert (cache, handle); + presence->keep_unavailable = TRUE; + } nickname = lm_message_node_get_value (node); g_debug ("got nickname \"%s\" for %s", nickname, from); |