summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-03-11 19:06:58 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-03-11 19:06:58 +0000
commit6e37619a6f1b66d19ea70cc8f4f25d30a4811203 (patch)
tree07f8a786de901d4ef53eb794662df7b9f42b0e0c /src/modules
parent2e629a662d5b180ef35d32bd63e5dd0e1fcf266c (diff)
Fixes :P
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3677 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_spanningtree.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp
index 3f3613dd2..78c37c584 100644
--- a/src/modules/m_spanningtree.cpp
+++ b/src/modules/m_spanningtree.cpp
@@ -1410,26 +1410,32 @@ class TreeSocket : public InspSocket
*/
std::string burst = "BURST "+ConvToStr(time(NULL));
std::string endburst = "ENDBURST";
- Srv->SendOpers("*** Bursting to \2"+s->GetName()+"\2.");
+ // Because by the end of the netburst, it could be gone!
+ std::string name = s->GetName();
+ Srv->SendOpers("*** Bursting to \2"+name+"\2.");
this->WriteLine(burst);
ServerInstance->DoOneIteration(false);
/* send our version string */
this->WriteLine(":"+Srv->GetServerName()+" VERSION :"+Srv->GetVersion());
/* Send server tree */
- this->SendServers(TreeRoot,s,1);
+ if (FindServer(name))
+ this->SendServers(TreeRoot,s,1);
ServerInstance->DoOneIteration(false);
/* Send users and their oper status */
- this->SendUsers(s);
+ if (FindServer(name))
+ this->SendUsers(s);
ServerInstance->DoOneIteration(false);
/* Send everything else (channel modes, xlines etc) */
- this->SendChannelModes(s);
+ if (FindServer(name))
+ this->SendChannelModes(s);
ServerInstance->DoOneIteration(false);
- this->SendXLines(s);
+ if (FindServer(name))
+ this->SendXLines(s);
ServerInstance->DoOneIteration(false);
FOREACH_MOD(I_OnSyncOtherMetaData,OnSyncOtherMetaData((Module*)TreeProtocolModule,(void*)this));
ServerInstance->DoOneIteration(false);
this->WriteLine(endburst);
- Srv->SendOpers("*** Finished bursting to \2"+s->GetName()+"\2.");
+ Srv->SendOpers("*** Finished bursting to \2"+name+"\2.");
}
/* This function is called when we receive data from a remote