summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_spanningtree')
-rw-r--r--src/modules/m_spanningtree/metadata.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/metadata.cpp b/src/modules/m_spanningtree/metadata.cpp
index f012568f9..40a98d93b 100644
--- a/src/modules/m_spanningtree/metadata.cpp
+++ b/src/modules/m_spanningtree/metadata.cpp
@@ -28,6 +28,7 @@ bool TreeSocket::MetaData(const std::string &prefix, parameterlist &params)
else if (params.size() < 3)
params.push_back("");
TreeServer* ServerSource = Utils->FindServer(prefix);
+ ExtensionItem* item = Extensible::GetItem(params[1]);
if (ServerSource)
{
if (params[0] == "*")
@@ -39,6 +40,8 @@ bool TreeSocket::MetaData(const std::string &prefix, parameterlist &params)
Channel* c = this->ServerInstance->FindChan(params[0]);
if (c)
{
+ if (item)
+ item->unserialize(FORMAT_NETWORK, c, params[2]);
FOREACH_MOD_I(this->ServerInstance,I_OnDecodeMetaData,OnDecodeMetaData(c,params[1],params[2]));
}
}
@@ -47,6 +50,8 @@ bool TreeSocket::MetaData(const std::string &prefix, parameterlist &params)
User* u = this->ServerInstance->FindNick(params[0]);
if (u)
{
+ if (item)
+ item->unserialize(FORMAT_NETWORK, u, params[2]);
FOREACH_MOD_I(this->ServerInstance,I_OnDecodeMetaData,OnDecodeMetaData(u,params[1],params[2]));
}
}