summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-01-10 17:47:39 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-01-10 17:47:39 +0000
commit2ba3cb83d6964649c2d6be4f3203db03f02b94ff (patch)
tree34cc12c0480379be144cba9838102a05b82c785b
parent1e3c3d20088c148f20f2237cea54310ca4a8b98c (diff)
Also, if the line already existed, dont OR the value in, so that if all the say, glines we receive already exist, dont bother to apply glines :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6290 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_spanningtree.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp
index 0687db515..1a9affaf1 100644
--- a/src/modules/m_spanningtree.cpp
+++ b/src/modules/m_spanningtree.cpp
@@ -2648,12 +2648,14 @@ class TreeSocket : public InspSocket
case 'Z':
propogate = Instance->XLines->add_zline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
Instance->XLines->zline_set_creation_time(params[1].c_str(), atoi(params[3].c_str()));
- Utils->lines_to_apply |= APPLY_ZLINES;
+ if (propogate)
+ Utils->lines_to_apply |= APPLY_ZLINES;
break;
case 'Q':
propogate = Instance->XLines->add_qline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
Instance->XLines->qline_set_creation_time(params[1].c_str(), atoi(params[3].c_str()));
- Utils->lines_to_apply |= APPLY_QLINES;
+ if (propogate)
+ Utils->lines_to_apply |= APPLY_QLINES;
break;
case 'E':
propogate = Instance->XLines->add_eline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
@@ -2662,11 +2664,13 @@ class TreeSocket : public InspSocket
case 'G':
propogate = Instance->XLines->add_gline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
Instance->XLines->gline_set_creation_time(params[1].c_str(), atoi(params[3].c_str()));
- Utils->lines_to_apply |= APPLY_GLINES;
+ if (propogate)
+ Utils->lines_to_apply |= APPLY_GLINES;
break;
case 'K':
propogate = Instance->XLines->add_kline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str());
- Utils->lines_to_apply |= APPLY_KLINES;
+ if (propogate)
+ Utils->lines_to_apply |= APPLY_KLINES;
break;
default:
/* Just in case... */