diff -r b88136cb00b6 -r 4b4809acfb81 libpurple/protocols/jabber/message.c --- a/libpurple/protocols/jabber/message.c Mon Jul 06 04:38:08 2009 +0000 +++ b/libpurple/protocols/jabber/message.c Sun Jul 12 04:41:56 2009 +0000 @@ -1171,9 +1171,15 @@ xhtml = tmp; } - if ((!jbr || jbr->capabilities & JABBER_CAP_XHTML) && - !jabber_xhtml_plain_equal(xhtml, jm->body)) - jm->xhtml = g_strdup_printf("%s", xhtml); + /* + * For backward compatibility with user expectations or for those not on + * the user's roster, allow sending XHTML-IM markup. + */ + if (!jbr || !jbr->caps.info || + jabber_resource_has_capability(jbr, "http://jabber.org/protocol/xhtml-im")) { + if (!jabber_xhtml_plain_equal(xhtml, jm->body)) + jm->xhtml = g_strdup_printf("%s", xhtml); + } g_free(xhtml);