write does not imply speak

git-svn-id: https://mumble.svn.sourceforge.net/svnroot/mumble/trunk@361 05730e5d-ab1b-0410-a4ac-84af385074fa
This commit is contained in:
Thorvald Natvig 2006-09-18 16:53:55 +00:00
parent e82c0f88c8
commit aa952589db

13
ACL.cpp
View File

@ -62,8 +62,12 @@ bool ChanACL::hasPermission(Player *p, Channel *chan, Perm perm, bool cacheonly)
Permissions granted;
granted=c_qhACLCache[chan][p];
if (granted & Cached)
return ((granted & (perm | Write)) != None);
if (granted & Cached) {
if ((perm != Speak) && (perm != AltSpeak))
return ((granted & (perm | Write)) != None);
else
return ((granted & perm) != None);
}
if (cacheonly)
return false;
@ -113,7 +117,10 @@ bool ChanACL::hasPermission(Player *p, Channel *chan, Perm perm, bool cacheonly)
c_qhACLCache[chan][p] = granted & Cached;
return ((granted & (perm | Write)) != None);
if ((perm != Speak) && (perm != AltSpeak))
return ((granted & (perm | Write)) != None);
else
return ((granted & perm) != None);
}
QString ChanACL::shortName(Perm p) {