summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-05-13 17:04:25 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-05-13 17:04:25 +0000
commit46ecb9252891c472c1f34fb6a2b5fb7ffeef3793 (patch)
tree7080cfd57e3f24716c9f0537fe1339b1b77897db
parent97c0e6b4c4e304a1c4e764fc06a7e2663a41743d (diff)
Show correct server source to users on FTOPIC and FMODE
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11380 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/mode.cpp2
-rw-r--r--src/modules/m_spanningtree/ftopic.cpp3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/mode.cpp b/src/mode.cpp
index 625474cce..39f5f1da2 100644
--- a/src/mode.cpp
+++ b/src/mode.cpp
@@ -766,7 +766,7 @@ void ModeParser::Process(const std::vector<std::string>& parameters, User *user,
if (!output_sequence.empty())
{
LastParseParams.push_front(output_sequence);
- if (servermode)
+ if (!user)
{
if (type == MODETYPE_CHANNEL)
{
diff --git a/src/modules/m_spanningtree/ftopic.cpp b/src/modules/m_spanningtree/ftopic.cpp
index 8f330cd1c..99816e64a 100644
--- a/src/modules/m_spanningtree/ftopic.cpp
+++ b/src/modules/m_spanningtree/ftopic.cpp
@@ -39,7 +39,8 @@ bool TreeSocket::ForceTopic(const std::string &source, std::deque<std::string> &
c->topic.assign(params[3], 0, ServerInstance->Config->Limits.MaxTopic);
if (!user)
{
- c->WriteChannelWithServ(ServerInstance->Config->ServerName, "TOPIC %s :%s", c->name.c_str(), c->topic.c_str());
+ std::string sourceserv = Utils->FindServer(source)->GetName();
+ c->WriteChannelWithServ(sourceserv.c_str(), "TOPIC %s :%s", c->name.c_str(), c->topic.c_str());
}
else
{