diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-05-04 16:30:16 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-05-04 16:30:16 +0000 |
commit | f4ec9aaf370f5fb895b7cad6d5cd849cc28b699d (patch) | |
tree | ee9f3783eb61411dbbfeb867cfed6c5d98ea23d2 /src | |
parent | 8bfc2b012a944402051a743ee3fcc6bf140cfff5 (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
Diffstat (limited to 'src')
-rw-r--r-- | src/channels.cpp | 2 | ||||
-rw-r--r-- | src/modules/m_auditorium.cpp | 9 |
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; |