summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mode.cpp1
-rw-r--r--src/modules/m_spanningtree.cpp8
2 files changed, 9 insertions, 0 deletions
diff --git a/src/mode.cpp b/src/mode.cpp
index 6461ee311..7cc53d230 100644
--- a/src/mode.cpp
+++ b/src/mode.cpp
@@ -1157,6 +1157,7 @@ void process_modes(char **parameters,userrec* user,chanrec *chan,int status, int
if (!silent)
{
WriteChannel(chan,user,"MODE %s %s",chan->name,outstr);
+ FOREACH_MOD OnMode(user, chan, TYPE_CHANNEL, outstr);
}
}
}
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp
index fe00ac42b..adc4a2a38 100644
--- a/src/modules/m_spanningtree.cpp
+++ b/src/modules/m_spanningtree.cpp
@@ -490,6 +490,12 @@ class TreeSocket : public InspSocket
std::string ident = params[4];
time_t age = atoi(params[0].c_str());
std::string modes = params[5];
+ if (*(modes.c_str()) == '+')
+ {
+ char* m = (char*)modes.c_str();
+ m++;
+ modes = m;
+ }
std::string ip = params[6];
std::string gecos = params[7];
char* tempnick = (char*)nick.c_str();
@@ -1392,8 +1398,10 @@ class ModuleSpanningTree : public Module
virtual void OnMode(userrec* user, void* dest, int target_type, std::string text)
{
+ log(DEBUG,"*** ONMODE TRIGGER");
if (std::string(user->server) == Srv->GetServerName())
{
+ log(DEBUG,"*** LOCAL");
if (target_type == TYPE_USER)
{
userrec* u = (userrec*)dest;