Mercurial > hg
changeset 891:78f4971578dd
Add a "special" parameter to scr_setmsgflag_if_needed()
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Wed, 31 May 2006 23:12:56 +0200 |
parents | 788e088702d6 |
children | 94bb9e40e40b |
files | mcabber/src/jabglue.c mcabber/src/screen.c mcabber/src/screen.h |
diffstat | 3 files changed, 13 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/src/jabglue.c Wed May 31 20:32:27 2006 +0200 +++ b/mcabber/src/jabglue.c Wed May 31 23:12:56 2006 +0200 @@ -1200,7 +1200,7 @@ buddy_setinsideroom(room_elt->data, TRUE); // Set the message flag unless we're already in the room buffer window - scr_setmsgflag_if_needed(roomjid); + scr_setmsgflag_if_needed(roomjid, FALSE); // 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);
--- a/mcabber/src/screen.c Wed May 31 20:32:27 2006 +0200 +++ b/mcabber/src/screen.c Wed May 31 23:12:56 2006 +0200 @@ -1770,28 +1770,29 @@ // 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) +void scr_setmsgflag_if_needed(const char *jid, int special) { - const char *current_jid; + const char *current_id; bool iscurrentlocked = FALSE; - guint isspe = FALSE; if (!jid) return; if (current_buddy) { - isspe = buddy_gettype(BUDDATA(current_buddy)) & ROSTER_TYPE_SPECIAL; - current_jid = buddy_getjid(BUDDATA(current_buddy)); - if (current_jid) { - winbuf *win_entry = scr_SearchWindow(current_jid, isspe); + if (special) + current_id = buddy_getname(BUDDATA(current_buddy)); + else + current_id = buddy_getjid(BUDDATA(current_buddy)); + if (current_id) { + winbuf *win_entry = scr_SearchWindow(current_id, special); if (!win_entry) return; iscurrentlocked = win_entry->lock; } } else { - current_jid = NULL; + current_id = NULL; } - if (!chatmode || !current_jid || strcmp(jid, current_jid) || iscurrentlocked) - roster_msg_setflag(jid, isspe, TRUE); + if (!chatmode || !current_id || strcmp(jid, current_id) || iscurrentlocked) + roster_msg_setflag(jid, special, TRUE); } // scr_set_multimode()
--- a/mcabber/src/screen.h Wed May 31 20:32:27 2006 +0200 +++ b/mcabber/src/screen.h Wed May 31 23:12:56 2006 +0200 @@ -71,7 +71,7 @@ inline void scr_set_chatmode(int enable); inline void scr_set_multimode(int enable, char *subject); inline int scr_get_multimode(void); -void scr_setmsgflag_if_needed(const char *jid); +void scr_setmsgflag_if_needed(const char *jid, int special); void scr_append_multiline(const char *line); inline const char *scr_get_multiline(void); inline const char *scr_get_multimode_subj(void);