diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/event/server_events.c | 5 | ||||
-rw-r--r-- | src/ui/mucwin.c | 9 | ||||
-rw-r--r-- | src/ui/ui.h | 2 |
3 files changed, 10 insertions, 6 deletions
diff --git a/src/event/server_events.c b/src/event/server_events.c index bda81f25..c8a5b760 100644 --- a/src/event/server_events.c +++ b/src/event/server_events.c @@ -599,7 +599,10 @@ sv_ev_muc_self_online(const char *const room, const char *const nick, gboolean c // affiliation changed } else if (g_strcmp0(affiliation, old_affiliation) != 0) { - mucwin_affiliation_change(room, affiliation, actor, reason); + ProfMucWin *mucwin = wins_get_muc(room); + if (mucwin) { + mucwin_affiliation_change(mucwin, affiliation, actor, reason); + } } } } diff --git a/src/ui/mucwin.c b/src/ui/mucwin.c index 8eaac733..e795d3fb 100644 --- a/src/ui/mucwin.c +++ b/src/ui/mucwin.c @@ -41,8 +41,7 @@ #include "ui/window.h" void -mucwin_role_change(ProfMucWin *mucwin, const char *const role, const char *const actor, - const char *const reason) +mucwin_role_change(ProfMucWin *mucwin, const char *const role, const char *const actor, const char *const reason) { assert(mucwin != NULL); @@ -58,10 +57,12 @@ mucwin_role_change(ProfMucWin *mucwin, const char *const role, const char *const } void -mucwin_affiliation_change(const char *const roomjid, const char *const affiliation, const char *const actor, +mucwin_affiliation_change(ProfMucWin *mucwin, const char *const affiliation, const char *const actor, const char *const reason) { - ProfWin *window = (ProfWin*)wins_get_muc(roomjid); + assert(mucwin != NULL); + + ProfWin *window = (ProfWin*)mucwin; win_vprint(window, '!', 0, NULL, NO_EOL, THEME_ROOMINFO, "", "Your affiliation has been changed to: %s", affiliation); if (actor) { win_vprint(window, '!', 0, NULL, NO_DATE | NO_EOL, THEME_ROOMINFO, "", ", by: %s", actor); diff --git a/src/ui/ui.h b/src/ui/ui.h index 4c312c23..e41a05ef 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -162,7 +162,7 @@ void chatwin_otr_smp_event(ProfChatWin *chatwin, prof_otr_smp_event_t event, voi // MUC window void mucwin_role_change(ProfMucWin *mucwin, const char *const role, const char *const actor, const char *const reason); -void mucwin_affiliation_change(const char *const roomjid, const char *const affiliation, const char *const actor, +void mucwin_affiliation_change(ProfMucWin *mucwin, const char *const affiliation, const char *const actor, const char *const reason); void mucwin_role_and_affiliation_change(const char *const roomjid, const char *const role, const char *const affiliation, const char *const actor, const char *const reason); |