X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=blobdiff_plain;f=src%2Fplugins%2Fpgpcore%2Fsgpgme.c;h=2ba23ba45c1c3fe11f4948ee3769298e29a99f9e;hp=2cd3139b3c1778d8a5d7617dd11b9cb52b53406b;hb=0c0b1cd6aef8af14fa964a7f00e4ca4dae5d260f;hpb=237bf4ff2f52b1cef5b79ca07536fc2cf8e8cff1 diff --git a/src/plugins/pgpcore/sgpgme.c b/src/plugins/pgpcore/sgpgme.c index 2cd3139b3..2ba23ba45 100644 --- a/src/plugins/pgpcore/sgpgme.c +++ b/src/plugins/pgpcore/sgpgme.c @@ -470,12 +470,16 @@ gchar *sgpgme_get_encrypt_data(GSList *recp_names, gpgme_protocol_t proto) return ret; } -gboolean sgpgme_setup_signers(gpgme_ctx_t ctx, PrefsAccount *account) +gboolean sgpgme_setup_signers(gpgme_ctx_t ctx, PrefsAccount *account, + const gchar *from_addr) { GPGAccountConfig *config; + const gchar *signer_addr = account->address; gpgme_signers_clear(ctx); + if (from_addr) + signer_addr = from_addr; config = prefs_gpg_account_get_config(account); switch(config->sign_key) { @@ -483,7 +487,7 @@ gboolean sgpgme_setup_signers(gpgme_ctx_t ctx, PrefsAccount *account) debug_print("using default gnupg key\n"); break; case SIGN_KEY_BY_FROM: - debug_print("using key for %s\n", account->address); + debug_print("using key for %s\n", signer_addr); break; case SIGN_KEY_CUSTOM: debug_print("using key for %s\n", config->sign_key_id); @@ -496,7 +500,7 @@ gboolean sgpgme_setup_signers(gpgme_ctx_t ctx, PrefsAccount *account) gpgme_error_t err; if (config->sign_key == SIGN_KEY_BY_FROM) - keyid = account->address; + keyid = signer_addr; else if (config->sign_key == SIGN_KEY_CUSTOM) keyid = config->sign_key_id; else