summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/channels.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/channels.cpp b/src/channels.cpp
index bf6eccdb6..948b49a0b 100644
--- a/src/channels.cpp
+++ b/src/channels.cpp
@@ -226,7 +226,11 @@ chanrec* chanrec::JoinUser(InspIRCd* Instance, userrec *user, const char* cn, bo
Instance->chanlist[cname] = Ptr;
strlcpy(Ptr->name, cname,CHANMAX);
- Ptr->modes[CM_TOPICLOCK] = Ptr->modes[CM_NOEXTERNAL] = 1;
+
+ /* As spotted by jilles, dont bother to set this on remote users */
+ if (IS_LOCAL(user))
+ Ptr->modes[CM_TOPICLOCK] = Ptr->modes[CM_NOEXTERNAL] = 1;
+
Ptr->created = Instance->Time();
*Ptr->topic = 0;
*Ptr->setby = 0;