1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-06 10:53:13 +02:00

Delayjoin (chanmode +D): When people are de-oped we now part 'hidden' users.

Prevents client desynch.
This commit is contained in:
Bram Matthys
2017-03-22 08:25:03 +01:00
parent 4c39648b03
commit e6a02003f5
+22
View File
@@ -299,6 +299,28 @@ DLLFUNC int moded_chanmode(aClient *cptr, aClient *sptr, aChannel *chptr,
}
}
if (pm.what == MODE_DEL && (pm.modechar == 'o' || pm.modechar == 'h' || pm.modechar == 'a' || pm.modechar == 'q' || pm.modechar == 'v'))
{
Member* i;
aClient* user = find_client(pm.param,NULL);
if (!user)
continue;
if (moded_user_invisible(user,chptr))
clear_user_invisible_announce(chptr,user);
if (pm.modechar == 'v' || !MyConnect(user))
continue;
for (i = chptr->members; i; i = i->next)
{
if (i->cptr == user)
continue;
if (moded_user_invisible(i->cptr,chptr))
sendto_one(user,":%s!%s@%s PART :%s", i->cptr->name, i->cptr->user->username, GetHost(i->cptr), chptr->chname);
}
}
}
}