summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-05-13 05:27:53 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-05-13 05:27:53 +0000
commitddc77036f61620d15faad818b228a147dbd88852 (patch)
tree855d72382d386329b1e9e18631266170036509a0 /src
parent23a98c8fe1f255fe5f20c26c726da817d2796c9a (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')
-rw-r--r--src/modules/m_spanningtree/main.cpp18
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);
}
}