summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-05-04 16:30:16 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-05-04 16:30:16 +0000
commitf4ec9aaf370f5fb895b7cad6d5cd849cc28b699d (patch)
treeee9f3783eb61411dbbfeb867cfed6c5d98ea23d2
parent8bfc2b012a944402051a743ee3fcc6bf140cfff5 (diff)
Fix bug where if an op is in channel then does /names later, all the non-ops dissapear!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6877 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/channels.cpp2
-rw-r--r--src/modules/m_auditorium.cpp9
2 files changed, 10 insertions, 1 deletions
diff --git a/src/channels.cpp b/src/channels.cpp
index 700487af9..ccb230005 100644
--- a/src/channels.cpp
+++ b/src/channels.cpp
@@ -821,7 +821,7 @@ void chanrec::UserList(userrec *user, CUList *ulist)
char* ptr = list + dlen;
if (!ulist)
- ulist= this->GetUsers();
+ ulist = this->GetUsers();
/* Improvement by Brain - this doesnt change in value, so why was it inside
* the loop?
diff --git a/src/modules/m_auditorium.cpp b/src/modules/m_auditorium.cpp
index 8bab76b49..d08ef1060 100644
--- a/src/modules/m_auditorium.cpp
+++ b/src/modules/m_auditorium.cpp
@@ -96,6 +96,15 @@ class ModuleAuditorium : public Module
{
if (ShowOps)
{
+ /* Leave the names list alone, theyre an op
+ * doing /names on the channel after joining it
+ */
+ if (Ptr->GetStatus(user) >= STATUS_OP)
+ {
+ nameslist = Ptr->GetUsers();
+ return 0;
+ }
+
/* Show all the opped users */
nl = *(Ptr->GetOppedUsers());
nl[user] = user;