From f4ec9aaf370f5fb895b7cad6d5cd849cc28b699d Mon Sep 17 00:00:00 2001 From: brain Date: Fri, 4 May 2007 16:30:16 +0000 Subject: 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 --- src/channels.cpp | 2 +- src/modules/m_auditorium.cpp | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'src') 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; -- cgit v1.2.3