X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=blobdiff_plain;f=src%2Fprivacy.c;h=4bf73f0dec52190d17472b58ca18d8fde8fda0cb;hp=3b9a14498ebd45886d6be69a75d29dc27fa4afb3;hb=825cb8bca94e1c3b6bf1ef8705ed0f33b750ed09;hpb=e442592493527f24658101f704399d7e58e6b9ef diff --git a/src/privacy.c b/src/privacy.c index 3b9a14498..4bf73f0de 100644 --- a/src/privacy.c +++ b/src/privacy.c @@ -417,6 +417,8 @@ gboolean privacy_sign(const gchar *id, MimeInfo *target, PrefsAccount *account, gchar *privacy_get_encrypt_data(const gchar *id, GSList *recp_names) { PrivacySystem *system; + gchar *ret = NULL; + GSList *uniq_names = NULL, *cur; g_return_val_if_fail(id != NULL, NULL); g_return_val_if_fail(recp_names != NULL, NULL); @@ -429,7 +431,15 @@ gchar *privacy_get_encrypt_data(const gchar *id, GSList *recp_names) if (system->get_encrypt_data == NULL) return NULL; - return system->get_encrypt_data(recp_names); + for (cur = recp_names; cur; cur = cur->next) { + if (!g_slist_find_custom(uniq_names, cur->data, (GCompareFunc)strcmp)) { + uniq_names = g_slist_prepend(uniq_names, cur->data); + } + } + ret = system->get_encrypt_data(uniq_names); + + g_slist_free(uniq_names); + return ret; } const gchar *privacy_get_encrypt_warning(const gchar *id)