Wed, 07 May 2014 17:11:45 +0200
Facebook XMPP: perform roster cleanup only once
| libpurple/protocols/jabber/facebook_roster.c | file | annotate | diff | comparison | revisions | |
| libpurple/protocols/jabber/jabber.h | file | annotate | diff | comparison | revisions |
--- a/libpurple/protocols/jabber/facebook_roster.c Wed May 07 16:36:36 2014 +0200 +++ b/libpurple/protocols/jabber/facebook_roster.c Wed May 07 17:11:45 2014 +0200 @@ -37,6 +37,10 @@ PurpleBuddy *buddy; const gchar *jid; + if (js->facebook_roster_cleanup_performed) + return; + js->facebook_roster_cleanup_performed = TRUE; + /* mark all local buddies as "to be removed" */ remove_buddies = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
--- a/libpurple/protocols/jabber/jabber.h Wed May 07 16:36:36 2014 +0200 +++ b/libpurple/protocols/jabber/jabber.h Wed May 07 17:11:45 2014 +0200 @@ -284,6 +284,9 @@ gchar *google_relay_host; GList *google_relay_requests; /* the HTTP requests to get */ /* relay info */ + + /* facebook quirks */ + gboolean facebook_roster_cleanup_performed; }; typedef gboolean (JabberFeatureEnabled)(JabberStream *js, const gchar *namespace);