summaryrefslogtreecommitdiff
path: root/libpurple/protocols/silc10/buddy.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpurple/protocols/silc10/buddy.c')
-rw-r--r--libpurple/protocols/silc10/buddy.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libpurple/protocols/silc10/buddy.c b/libpurple/protocols/silc10/buddy.c
index 67e53f630f..5939ef40a0 100644
--- a/libpurple/protocols/silc10/buddy.c
+++ b/libpurple/protocols/silc10/buddy.c
@@ -1390,7 +1390,12 @@ silcpurple_add_buddy_i(PurpleConnection *gc, PurpleBuddy *b, gboolean init)
void silcpurple_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group)
{
- silcpurple_add_buddy_i(gc, buddy, FALSE);
+ /* Don't add if the buddy is already on the list.
+ *
+ * SILC doesn't have groups, so we don't need to do anything
+ * for a move. */
+ if (purple_buddy_get_protocol_data(buddy) == NULL)
+ silcpurple_add_buddy_i(gc, buddy, FALSE);
}
void silcpurple_send_buddylist(PurpleConnection *gc)