X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_delayjoin.cpp;h=2474cd6ad21c8146ac7b060d3f3c691e555b4ae4;hb=3ccf0065d43db80f31c6404aeac4d65551481508;hp=f830daf4b363a1d7748e130576278224208ab852;hpb=173bc63cb59bbf19e73d1b823e3e9423c9f79860;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_delayjoin.cpp b/src/modules/m_delayjoin.cpp index f830daf4b..2474cd6ad 100644 --- a/src/modules/m_delayjoin.cpp +++ b/src/modules/m_delayjoin.cpp @@ -66,8 +66,8 @@ ModeAction DelayJoinMode::OnModeChange(User* source, User* dest, Channel* channe * Make all users visible, as +D is being removed. If we don't do this, * they remain permanently invisible on this channel! */ - const UserMembList& users = channel->GetUsers(); - for (UserMembCIter n = users.begin(); n != users.end(); ++n) + const Channel::MemberMap& users = channel->GetUsers(); + for (Channel::MemberMap::const_iterator n = users.begin(); n != users.end(); ++n) creator->OnText(n->first, channel, TYPE_CHANNEL, "", 0, empty); } channel->SetMode(this, adding); @@ -94,8 +94,8 @@ ModResult ModuleDelayJoin::OnNamesListItem(User* issuer, Membership* memb, std:: static void populate(CUList& except, Membership* memb) { - const UserMembList& users = memb->chan->GetUsers(); - for (UserMembCIter i = users.begin(); i != users.end(); ++i) + const Channel::MemberMap& users = memb->chan->GetUsers(); + for (Channel::MemberMap::const_iterator i = users.begin(); i != users.end(); ++i) { if (i->first == memb->user || !IS_LOCAL(i->first)) continue; @@ -168,6 +168,10 @@ ModResult ModuleDelayJoin::OnRawMode(User* user, Channel* channel, ModeHandler* if (!user || !channel || param.empty()) return MOD_RES_PASSTHRU; + // If not a prefix mode then we got nothing to do here + if (!mh->IsPrefixMode()) + return MOD_RES_PASSTHRU; + User* dest; if (IS_LOCAL(user)) dest = ServerInstance->FindNickOnly(param);