Mercurial > hg
changeset 527:d721b3502a77
Notice when we are ejected from a room
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 20 Nov 2005 23:30:31 +0100 |
parents | 980b4e6a1e8f |
children | 2f714bd701a1 |
files | mcabber/src/jabglue.c |
diffstat | 1 files changed, 17 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/src/jabglue.c Sun Nov 20 00:28:17 2005 +0100 +++ b/mcabber/src/jabglue.c Sun Nov 20 23:30:31 2005 +0100 @@ -1224,7 +1224,7 @@ "Decoding of new nickname has failed: %s", mbnewnick); mbuf = g_strdup_printf("%s is now known as %s", rname, - (newname_noutf8 ? newname_noutf8 : "(?)")); + (newname_noutf8 ? newname_noutf8 : "(?)")); scr_WriteIncomingMessage(r, mbuf, 0, HBB_PREFIX_INFO|HBB_PREFIX_NOFLAG); if (log_muc_conf) hlog_write_message(r, 0, FALSE, mbuf); @@ -1242,6 +1242,22 @@ // Check for departure/arrival if (!mbnewnick && mbrole == role_none) { gchar *mbuf; + + // If this is a leave, check if it is ourself + m = buddy_getnickname(room_elt->data); + if (m && !strcmp(rname, m)) { + // _We_ have left! (kicked, banned, etc.) + buddy_setnickname(room_elt->data, NULL); + buddy_del_all_resources(room_elt->data); + scr_LogPrint(LPRINT_LOGNORM, "You have left %s", r); + scr_WriteIncomingMessage(r, "You have left", 0, + HBB_PREFIX_INFO|HBB_PREFIX_NOFLAG); + g_free(r); + if (s) g_free(s); + update_roster = TRUE; + break; + } + if (s) mbuf = g_strdup_printf("%s has left: %s", rname, s); else mbuf = g_strdup_printf("%s has left", rname); scr_WriteIncomingMessage(r, mbuf, 0,