diff -r 516b5f7d1023 -r 230dca34dbea mcabber/src/jabglue.c --- 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));