Mercurial > ~mikael > mcabber > hg
diff mcabber/mcabber/commands.c @ 2010:a73ce708c2c9
Fix bookmarks losing autojoin attribute
author | Hermitifier |
---|---|
date | Wed, 29 Feb 2012 09:18:09 +0100 |
parents | d4273346d52d |
children | 8dc418af3e72 |
line wrap: on
line diff
--- a/mcabber/mcabber/commands.c Tue Feb 28 20:26:22 2012 +0100 +++ b/mcabber/mcabber/commands.c Wed Feb 29 09:18:09 2012 +0100 @@ -3059,7 +3059,7 @@ enum room_flagjoins flagjoins = 0; enum room_printstatus printstatus = 0; enum { bm_add = 0, bm_del = 1 } action = 0; - int autojoin = 0; + int autojoin = 0, autojoin_set = 0; int nick_set = 0; if (arg && *arg) { @@ -3073,11 +3073,14 @@ action = bm_add; else if (!strcasecmp(*pp, "del")) action = bm_del; - else if (!strcasecmp(*pp, "-autojoin")) + else if (!strcasecmp(*pp, "-autojoin")) { autojoin = 0; - else if (!strcasecmp(*pp, "+autojoin") || !strcasecmp(*pp, "autojoin")) + autojoin_set = 1; + } else if (!strcasecmp(*pp, "+autojoin") + || !strcasecmp(*pp, "autojoin")) { autojoin = 1; - else if (!strcmp(*pp, "-")) + autojoin_set = 1; + } else if (!strcmp(*pp, "-")) nick_set = 1; else { nick_set = 1; @@ -3096,6 +3099,9 @@ if (!nick) //we are probably bookmarking offline room nick = xmpp_get_bookmark_nick(roomid); } + if (!autojoin_set) { + autojoin = xmpp_get_bookmark_autojoin(roomid); + } printstatus = buddy_getprintstatus(bud); autowhois = buddy_getautowhois(bud); flagjoins = buddy_getflagjoins(bud);