about summary refs log tree commit diff stats
path: root/src/event
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2016-02-02 22:25:55 +0000
committerJames Booth <boothj5@gmail.com>2016-02-02 22:25:55 +0000
commit3ddef99dfe7948a9ba657dc6d34f5213ed0f00c5 (patch)
tree37dd3168c299742226861f5fff469ba7061eb909 /src/event
parent150015fa3dd0238671d11f2c6c3ba677e7aab81f (diff)
downloadprofani-tty-3ddef99dfe7948a9ba657dc6d34f5213ed0f00c5.tar.gz
Handle occupant kicked/banned in private chat wins
Diffstat (limited to 'src/event')
-rw-r--r--src/event/server_events.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/event/server_events.c b/src/event/server_events.c
index e6738833..17754272 100644
--- a/src/event/server_events.c
+++ b/src/event/server_events.c
@@ -686,6 +686,14 @@ sv_ev_room_occupent_kicked(const char *const room, const char *const nick, const
     if (mucwin) {
         mucwin_occupant_kicked(mucwin, nick, actor, reason);
     }
+
+    Jid *jidp = jid_create_from_bare_and_resource(room, nick);
+    ProfPrivateWin *privwin = wins_get_private(jidp->fulljid);
+    jid_destroy(jidp);
+    if (privwin != NULL) {
+        privwin_occupant_kicked(privwin, actor, reason);
+    }
+
     occupantswin_occupants(room);
     rosterwin_roster();
 }
@@ -699,6 +707,14 @@ sv_ev_room_occupent_banned(const char *const room, const char *const nick, const
     if (mucwin) {
         mucwin_occupant_banned(mucwin, nick, actor, reason);
     }
+
+    Jid *jidp = jid_create_from_bare_and_resource(room, nick);
+    ProfPrivateWin *privwin = wins_get_private(jidp->fulljid);
+    jid_destroy(jidp);
+    if (privwin != NULL) {
+        privwin_occupant_banned(privwin, actor, reason);
+    }
+
     occupantswin_occupants(room);
     rosterwin_roster();
 }