diff options
Diffstat (limited to 'src/event/server_events.c')
-rw-r--r-- | src/event/server_events.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/event/server_events.c b/src/event/server_events.c index 57a681cc..5117d1f8 100644 --- a/src/event/server_events.c +++ b/src/event/server_events.c @@ -1,7 +1,7 @@ /* * server_events.c * - * Copyright (C) 2012 - 2017 James Booth <boothj5@gmail.com> + * Copyright (C) 2012 - 2018 James Booth <boothj5@gmail.com> * * This file is part of Profanity. * @@ -181,6 +181,7 @@ sv_ev_lost_connection(void) #endif muc_invites_clear(); + muc_confserver_clear(); chat_sessions_clear(); ui_disconnected(); roster_destroy(); @@ -281,7 +282,7 @@ sv_ev_room_message(const char *const room_jid, const char *const nick, const cha // currently in groupchat window if (wins_is_current(window)) { is_current = TRUE; - status_bar_active(num); + status_bar_active(num, WIN_MUC, mucwin->roomjid); if ((g_strcmp0(mynick, nick) != 0) && (prefs_get_boolean(PREF_BEEP))) { beep(); @@ -289,7 +290,7 @@ sv_ev_room_message(const char *const room_jid, const char *const nick, const cha // not currently on groupchat window } else { - status_bar_new(num); + status_bar_new(num, WIN_MUC, mucwin->roomjid); if ((g_strcmp0(mynick, nick) != 0) && (prefs_get_boolean(PREF_FLASH))) { flash(); @@ -797,6 +798,12 @@ sv_ev_muc_self_online(const char *const room, const char *const nick, gboolean c ui_room_join(room, TRUE); } + Jid *jidp = jid_create(room); + if (jidp->domainpart) { + muc_confserver_add(jidp->domainpart); + } + jid_destroy(jidp); + iq_room_info_request(room, FALSE); if (muc_invites_contain(room)) { |