--- a/mcabber/src/jabglue.c Fri Dec 01 23:50:52 2006 +0100
+++ b/mcabber/src/jabglue.c Sat Dec 02 11:13:40 2006 +0100
@@ -539,7 +539,6 @@
rname = strchr(fjid, JID_RESOURCE_SEPARATOR);
barejid = jidtodisp(fjid);
sl_buddy = roster_find(barejid, jidsearch, ROSTER_TYPE_USER);
- g_free(barejid);
// If we can get a resource name, we use it. Else we use NULL,
// which hopefully will give us the most likely resource.
@@ -549,12 +548,17 @@
#ifdef HAVE_GPGME
if (type == ROSTER_TYPE_USER && sl_buddy && gpg_enabled()) {
- struct pgp_data *res_pgpdata;
- res_pgpdata = buddy_resource_pgp(sl_buddy->data, rname);
- if (res_pgpdata && res_pgpdata->sign_keyid)
- enc = gpg_encrypt(text, res_pgpdata->sign_keyid);
+ if (!settings_pgp_getdisabled(barejid)) { // disabled for this contact?
+ struct pgp_data *res_pgpdata;
+ res_pgpdata = buddy_resource_pgp(sl_buddy->data, rname);
+ if (res_pgpdata && res_pgpdata->sign_keyid)
+ enc = gpg_encrypt(text, res_pgpdata->sign_keyid);
+ }
}
#endif
+#if defined HAVE_GPGME || defined JEP0022 || defined JEP0085
+ g_free(barejid);
+#endif
x = jutil_msgnew(strtype, (char*)fjid, NULL,
(enc ? "This message is PGP-encrypted." : (char*)text));