--- a/mcabber/src/jabglue.c Sun Nov 26 20:08:18 2006 +0100
+++ b/mcabber/src/jabglue.c Sun Nov 26 20:24:34 2006 +0100
@@ -136,7 +136,7 @@
if (online) {
// Announce it to everyone else
- jb_setstatus(offline, NULL, "");
+ jb_setstatus(offline, NULL, "", FALSE);
// End the XML flow
jb_send_raw("</stream:stream>");
/*
@@ -337,7 +337,7 @@
if (!nickname) return;
to = g_strdup_printf("%s/%s", jid, nickname);
- jb_setstatus(pres->st, to, pres->msg);
+ jb_setstatus(pres->st, to, pres->msg, TRUE);
g_free(to);
}
@@ -403,7 +403,8 @@
return x;
}
-void jb_setstatus(enum imstatus st, const char *recipient, const char *msg)
+void jb_setstatus(enum imstatus st, const char *recipient, const char *msg,
+ int do_not_sign)
{
xmlnode x;
@@ -433,7 +434,7 @@
const char *s_msg = (st != invisible ? msg : NULL);
x = presnew(st, recipient, s_msg);
#ifdef HAVE_GPGME
- if (s_msg && *s_msg && gpg_enabled()) {
+ if (!do_not_sign && s_msg && *s_msg && gpg_enabled()) {
char *signature = gpg_sign(s_msg);
if (signature) {
xmlnode y;
@@ -488,7 +489,7 @@
// Set previous status. This wrapper function is used after a disconnection.
inline void jb_setprevstatus(void)
{
- jb_setstatus(mywantedstatus, NULL, mystatusmsg);
+ jb_setstatus(mywantedstatus, NULL, mystatusmsg, FALSE);
}
// new_msgid()
@@ -1525,7 +1526,7 @@
g_free(mbuf);
// Send back an unavailable packet
- jb_setstatus(offline, jid, "");
+ jb_setstatus(offline, jid, "", TRUE);
// MUC
// Make sure this is a room (it can be a conversion user->room)
@@ -1804,7 +1805,7 @@
scr_WriteIncomingMessage(roomjid, mbuf, 0, HBB_PREFIX_INFO);
g_free(mbuf);
// Send back an unavailable packet
- jb_setstatus(offline, roomjid, "");
+ jb_setstatus(offline, roomjid, "", TRUE);
scr_DrawRoster();
return;
}