summaryrefslogtreecommitdiff
path: root/src/gabble-presence-cache.c
diff options
context:
space:
mode:
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
commit407907322be085012697704d936dea905fb4b4e8 (patch)
treeb5f1081b93abaf4fbf1abe7c8666990a9e9364e5 /src/gabble-presence-cache.c
parent670fc04f325baaaad0341350bf9c1e1bc80562da (diff)
create presence for people who only have nicknames
Diffstat (limited to 'src/gabble-presence-cache.c')
-rw-r--r--src/gabble-presence-cache.c7
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);