# HG changeset patch # User Mikael Berthe # Date 1136632669 -3600 # Node ID d7fe7b88e4fc40dffcb3f2dd292cd3cd5fe53dee # Parent d5db5be78eb01abe823473c60a8fcd81596d4d47 MUC: Set the new_message flag when joining a room diff -r d5db5be78eb0 -r d7fe7b88e4fc mcabber/src/jabglue.c --- a/mcabber/src/jabglue.c Sat Jan 07 11:01:58 2006 +0100 +++ b/mcabber/src/jabglue.c Sat Jan 07 12:17:49 2006 +0100 @@ -1149,6 +1149,8 @@ // However, this could be a presence packet from another room member buddy_setinsideroom(room_elt->data, TRUE); + // Set the message flag unless we're already in the room buffer window + scr_setmsgflag_if_needed(roomjid); // Add a message to the tracelog file mbuf = g_strdup_printf("You have joined %s as \"%s\"", roomjid, ournick); scr_LogPrint(LPRINT_LOGNORM, "%s", mbuf); diff -r d5db5be78eb0 -r d7fe7b88e4fc mcabber/src/screen.c --- a/mcabber/src/screen.c Sat Jan 07 11:01:58 2006 +0100 +++ b/mcabber/src/screen.c Sat Jan 07 12:17:49 2006 +0100 @@ -1241,6 +1241,15 @@ return multimode; } +// scr_setmsgflag_if_needed(jid) +// Set the message flag unless we're already in the jid buffer window +void scr_setmsgflag_if_needed(const char *jid) +{ + if (!chatmode || !current_buddy || + strcmp(jid, buddy_getjid(BUDDATA(current_buddy)))) + roster_msg_setflag(jid, TRUE); +} + // scr_set_multimode() // Public function to (un)set multimode... // Convention: diff -r d5db5be78eb0 -r d7fe7b88e4fc mcabber/src/screen.h --- a/mcabber/src/screen.h Sat Jan 07 11:01:58 2006 +0100 +++ b/mcabber/src/screen.h Sat Jan 07 12:17:49 2006 +0100 @@ -35,6 +35,7 @@ inline void scr_set_chatmode(int enable); inline void scr_set_multimode(int enable); inline int scr_get_multimode(); +void scr_setmsgflag_if_needed(const char *jid); void scr_append_multiline(const char *line); inline const char *scr_get_multiline();