libpurple/protocols/jabber/roster.c

changeset 36012
68d162284480
parent 36011
d8df27a1ebdc
child 36014
11df1f22a622
--- a/libpurple/protocols/jabber/roster.c	Wed May 07 13:21:45 2014 +0200
+++ b/libpurple/protocols/jabber/roster.c	Wed May 07 15:54:48 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"
@@ -215,11 +216,18 @@
 
 	js->currently_parsing_roster_push = TRUE;
 
+	if (js->server_caps & JABBER_CAP_FACEBOOK)
+		jabber_facebook_roster_cleanup(js, query);
+
 	for(item = purple_xmlnode_get_child(query, "item"); item; item = purple_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 = purple_xmlnode_get_attrib(item, "subscription");
 		jid = purple_xmlnode_get_attrib(item, "jid");
 		name = purple_xmlnode_get_attrib(item, "name");

mercurial