diff --git a/backends/libpurple/main.cpp b/backends/libpurple/main.cpp index a76454c1..bbfcbb1c 100644 --- a/backends/libpurple/main.cpp +++ b/backends/libpurple/main.cpp @@ -542,6 +542,10 @@ class SpectrumNetworkPlugin : public NetworkPlugin { while (keys && keys[i] != NULL) { std::string key = keys[i]; + if (key == "fb_api_key" || key == "fb_api_secret") { + purple_account_set_bool(account, "auth_fb", TRUE); + } + PurplePlugin *plugin = purple_find_prpl(purple_account_get_protocol_id(account)); PurplePluginProtocolInfo *prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(plugin); bool found = false; diff --git a/src/usermanager.cpp b/src/usermanager.cpp index a52690aa..d193492d 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -319,6 +319,11 @@ void UserManager::handleSubscription(Swift::Presence::ref presence) { return; } + // Don't let RosterManager to handle presences for us + if (presence->getTo().getNode().empty()) { + return; + } + User *user = getUser(presence->getFrom().toBare().toString()); if (user) {