libpurple/protocols/jabber/roster.c

branch
release-2.x.y
changeset 36013
a351cbf422ed
parent 36009
4db2936dd842
child 36014
11df1f22a622
child 36022
256604cbbe34
--- a/libpurple/protocols/jabber/roster.c	Wed May 07 13:15:19 2014 +0200
+++ b/libpurple/protocols/jabber/roster.c	Wed May 07 16:22:23 2014 +0200
@@ -27,6 +27,7 @@
 
 #include "buddy.h"
 #include "chat.h"
+#include "facebook_roster.h"
 #include "google/google.h"
 #include "google/google_roster.h"
 #include "presence.h"
@@ -211,11 +212,18 @@
 
 	js->currently_parsing_roster_push = TRUE;
 
+	if (js->server_caps & JABBER_CAP_FACEBOOK)
+		jabber_facebook_roster_cleanup(js, query);
+
 	for(item = xmlnode_get_child(query, "item"); item; item = xmlnode_get_next_twin(item))
 	{
 		const char *jid, *name, *subscription, *ask;
 		JabberBuddy *jb;
 
+		if (js->server_caps & JABBER_CAP_FACEBOOK)
+			if (!jabber_facebook_roster_incoming(js, item))
+				continue;
+
 		subscription = xmlnode_get_attrib(item, "subscription");
 		jid = xmlnode_get_attrib(item, "jid");
 		name = xmlnode_get_attrib(item, "name");

mercurial