aboutsummaryrefslogtreecommitdiffstats
path: root/composer/e-msg-composer.c
diff options
context:
space:
mode:
Diffstat (limited to 'composer/e-msg-composer.c')
-rw-r--r--composer/e-msg-composer.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index 2a6180c21e..5138227383 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -2329,7 +2329,10 @@ from_changed_cb (EMsgComposerHdrs *hdrs, void *data)
if (hdrs->account) {
const MailConfigAccount *account = hdrs->account;
- e_msg_composer_set_pgp_sign (composer, account->pgp_always_sign);
+ e_msg_composer_set_pgp_sign (composer,
+ account->pgp_always_sign &&
+ (!account->pgp_no_imip_sign || !composer->mime_type ||
+ g_strncasecmp (composer->mime_type, "text/calendar", 13) != 0));
e_msg_composer_set_smime_sign (composer, account->smime_always_sign);
update_auto_recipients (hdrs, UPDATE_AUTO_CC, account->always_cc ? account->cc_addrs : NULL);
update_auto_recipients (hdrs, UPDATE_AUTO_BCC, account->always_bcc ? account->bcc_addrs : NULL);
@@ -3863,6 +3866,12 @@ e_msg_composer_set_body (EMsgComposer *composer, const char *body,
composer->mime_body = g_strdup (body);
g_free (composer->mime_type);
composer->mime_type = g_strdup (mime_type);
+
+ if (g_strncasecmp (composer->mime_type, "text/calendar", 13) == 0) {
+ EMsgComposerHdrs *hdrs = E_MSG_COMPOSER_HDRS (composer->hdrs);
+ if (hdrs->account && hdrs->account->pgp_no_imip_sign)
+ e_msg_composer_set_pgp_sign (composer, FALSE);
+ }
}