Mercurial > hg
changeset 649:3ad6675caaf1
MUC: fix join bug when the conference is in the roster
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sat, 07 Jan 2006 01:15:04 +0100 |
parents | 16cd6c858a5d |
children | c2d50b97ced4 |
files | mcabber/src/jabglue.c mcabber/src/roster.c |
diffstat | 2 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/src/jabglue.c Sat Jan 07 01:12:03 2006 +0100 +++ b/mcabber/src/jabglue.c Sat Jan 07 01:15:04 2006 +0100 @@ -591,8 +591,12 @@ room_elt = roster_find(room, jidsearch, ROSTER_TYPE_USER|ROSTER_TYPE_ROOM); // Add room if it doesn't already exist - if (!room_elt) + if (!room_elt) { room_elt = roster_add_user(room, NULL, NULL, ROSTER_TYPE_ROOM, sub_none); + } else { + // Make sure this is a room (it can be a conversion user->room) + buddy_settype(room_elt->data, ROSTER_TYPE_ROOM); + } // If insideroom is TRUE, this is a nickname change and we don't care here if (!buddy_getinsideroom(room_elt->data)) { // We're trying to enter a room
--- a/mcabber/src/roster.c Sat Jan 07 01:12:03 2006 +0100 +++ b/mcabber/src/roster.c Sat Jan 07 01:15:04 2006 +0100 @@ -823,7 +823,7 @@ { roster *roster_usr = rosterdata; - if (!(roster_usr->type & ROSTER_TYPE_ROOM)) return; + if (!(roster_usr->type & ROSTER_TYPE_ROOM)) return; // XXX Error message? if (roster_usr->nickname) { g_free((gchar*)roster_usr->nickname);