diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-05-13 05:27:53 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-05-13 05:27:53 +0000 |
commit | ddc77036f61620d15faad818b228a147dbd88852 (patch) | |
tree | 855d72382d386329b1e9e18631266170036509a0 /src/modules/m_spanningtree | |
parent | 23a98c8fe1f255fe5f20c26c726da817d2796c9a (diff) |
Replace loopCall detection in OnUserKick with a check for the m_spanningtree fake user
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11377 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree')
-rw-r--r-- | src/modules/m_spanningtree/main.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index b38929ad0..37ed06c3a 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -677,22 +677,16 @@ void ModuleSpanningTree::OnUserPostNick(User* user, const std::string &oldnick) void ModuleSpanningTree::OnUserKick(User* source, User* user, Channel* chan, const std::string &reason, bool &silent) { - if (loopCall) - return; - if ((source) && (IS_LOCAL(source))) + std::deque<std::string> params; + params.push_back(chan->name); + params.push_back(user->uuid); + params.push_back(":"+reason); + if (IS_LOCAL(source)) { - std::deque<std::string> params; - params.push_back(chan->name); - params.push_back(user->uuid); - params.push_back(":"+reason); Utils->DoOneToMany(source->uuid,"KICK",params); } - else if (!source) + else if (IS_FAKE(source) && source != Utils->ServerUser) { - std::deque<std::string> params; - params.push_back(chan->name); - params.push_back(user->uuid); - params.push_back(":"+reason); Utils->DoOneToMany(ServerInstance->Config->GetSID(),"KICK",params); } } |