diff --git a/backends/libpurple/main.cpp b/backends/libpurple/main.cpp index 14017da83584f23081a304d308aa7f843446038c..34b68155810c8e924e51a105c2bb5706d81f8a06 100644 --- a/backends/libpurple/main.cpp +++ b/backends/libpurple/main.cpp @@ -126,6 +126,17 @@ class SpectrumNetworkPlugin : public NetworkPlugin { } } + void handleBuddyRemovedRequest(const std::string &user, const std::string &buddyName, const std::string &groups) { + PurpleAccount *account = m_sessions[user]; + if (account) { + PurpleBuddy *buddy = purple_find_buddy(account, buddyName.c_str()); + if (buddy) { + purple_account_remove_buddy(account, buddy, purple_buddy_get_group(buddy)); + purple_blist_remove_buddy(buddy); + } + } + } + void handleBuddyUpdatedRequest(const std::string &user, const std::string &buddyName, const std::string &alias, const std::string &groups) { PurpleAccount *account = m_sessions[user]; if (account) {