about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-11-01 23:15:49 +0000
committerJames Booth <boothj5@gmail.com>2015-11-01 23:23:49 +0000
commited9585376e5fcc1ee0a556ac9b429c6a7e835326 (patch)
tree389027099dca34b1baa208a397e867e48ce5b3be /src
parent799c064dffea4a076382af752f3f167dc8c0c167 (diff)
downloadprofani-tty-ed9585376e5fcc1ee0a556ac9b429c6a7e835326.tar.gz
mucwin_occupant_role_and_affiliation_change takes ProfMucWin
Diffstat (limited to 'src')
-rw-r--r--src/event/server_events.c5
-rw-r--r--src/ui/mucwin.c6
-rw-r--r--src/ui/ui.h2
3 files changed, 9 insertions, 4 deletions
diff --git a/src/event/server_events.c b/src/event/server_events.c
index 0d044704..da7a8e99 100644
--- a/src/event/server_events.c
+++ b/src/event/server_events.c
@@ -660,7 +660,10 @@ sv_ev_muc_occupant_online(const char *const room, const char *const nick, const
         if (prefs_get_boolean(PREF_MUC_PRIVILEGES)) {
             // both changed
             if ((g_strcmp0(role, old_role) != 0) && (g_strcmp0(affiliation, old_affiliation) != 0)) {
-                mucwin_occupant_role_and_affiliation_change(room, nick, role, affiliation, actor, reason);
+                ProfMucWin *mucwin = wins_get_muc(room);
+                if (mucwin) {
+                    mucwin_occupant_role_and_affiliation_change(mucwin, nick, role, affiliation, actor, reason);
+                }
 
             // role changed
             } else if (g_strcmp0(role, old_role) != 0) {
diff --git a/src/ui/mucwin.c b/src/ui/mucwin.c
index 9abf86d6..2dad9d8f 100644
--- a/src/ui/mucwin.c
+++ b/src/ui/mucwin.c
@@ -126,10 +126,12 @@ mucwin_occupant_affiliation_change(ProfMucWin *mucwin, const char *const nick, c
 }
 
 void
-mucwin_occupant_role_and_affiliation_change(const char *const roomjid, const char *const nick, const char *const role,
+mucwin_occupant_role_and_affiliation_change(ProfMucWin *mucwin, const char *const nick, const char *const role,
     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, "", "%s's role and affiliation have been changed, role: %s, affiliation: %s", nick, role, 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 263b4d91..242d8695 100644
--- a/src/ui/ui.h
+++ b/src/ui/ui.h
@@ -170,7 +170,7 @@ void mucwin_occupant_role_change(ProfMucWin *mucwin, const char *const nick, con
     const char *const actor, const char *const reason);
 void mucwin_occupant_affiliation_change(ProfMucWin *mucwin, const char *const nick,
     const char *const affiliation, const char *const actor, const char *const reason);
-void mucwin_occupant_role_and_affiliation_change(const char *const roomjid, const char *const nick,
+void mucwin_occupant_role_and_affiliation_change(ProfMucWin *mucwin, const char *const nick,
     const char *const role, const char *const affiliation, const char *const actor, const char *const reason);
 void mucwin_roster(const char *const roomjid, GList *occupants, const char *const presence);
 void mucwin_history(const char *const roomjid, const char *const nick, GDateTime *timestamp,