summaryrefslogtreecommitdiff
path: root/modules/commands/cs_clone.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2014-05-14 19:10:23 -0400
committerAdam <Adam@anope.org>2014-05-14 19:10:23 -0400
commitdf321a118e7dd44dcd3a389f8ee75e9ff915b55e (patch)
treef77aa4b3a73884c4a095df12be692292c8694bc0 /modules/commands/cs_clone.cpp
parent1931fcf0e5ffe34005d134e49c55d1b6239d1a6c (diff)
Fix access lists showing the wrong mask if the display nick for a group
expires but the group still exists. This can cause access entries for nicks to not be deleted whenever the nicks are deleted.
Diffstat (limited to 'modules/commands/cs_clone.cpp')
-rw-r--r--modules/commands/cs_clone.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/modules/commands/cs_clone.cpp b/modules/commands/cs_clone.cpp
index e93029466..8365091cf 100644
--- a/modules/commands/cs_clone.cpp
+++ b/modules/commands/cs_clone.cpp
@@ -111,7 +111,7 @@ public:
unsigned count = 0;
for (unsigned i = 0; i < target_ci->GetAccessCount(); ++i)
- masks.insert(target_ci->GetAccess(i)->mask);
+ masks.insert(target_ci->GetAccess(i)->Mask());
for (unsigned i = 0; i < ci->GetAccessCount(); ++i)
{
@@ -121,13 +121,12 @@ public:
if (access_max && target_ci->GetDeepAccessCount() >= access_max)
break;
- if (masks.count(taccess->mask))
+ if (masks.count(taccess->Mask()))
continue;
- masks.insert(taccess->mask);
+ masks.insert(taccess->Mask());
ChanAccess *newaccess = provider->Create();
- newaccess->ci = target_ci;
- newaccess->mask = taccess->mask;
+ newaccess->SetMask(taccess->Mask(), target_ci);
newaccess->creator = taccess->creator;
newaccess->last_seen = taccess->last_seen;
newaccess->created = taccess->created;