mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-09 10:39:02 -04:00
Only remove extbans on unload if provided by the right module.
This commit is contained in:
parent
8b253d39a1
commit
45f10a7f6f
@ -116,6 +116,7 @@ public:
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline T* ptr() const { return value; }
|
||||||
inline operator bool() const { return (value != nullptr); }
|
inline operator bool() const { return (value != nullptr); }
|
||||||
inline operator T*() const { return value; }
|
inline operator T*() const { return value; }
|
||||||
inline T* operator->() const { return value; }
|
inline T* operator->() const { return value; }
|
||||||
|
@ -153,8 +153,13 @@ ModResult ExtBanManager::GetStatus(ExtBan::ActingBase* extban, User* user, Chann
|
|||||||
|
|
||||||
void ExtBanManager::DelExtBan(ExtBan::Base* extban)
|
void ExtBanManager::DelExtBan(ExtBan::Base* extban)
|
||||||
{
|
{
|
||||||
byletter.erase(extban->GetLetter());
|
auto lit = byletter.find(extban->GetLetter());
|
||||||
byname.erase(extban->GetName());
|
if (lit != byletter.end() && lit->second->creator.ptr() == extban->creator.ptr())
|
||||||
|
byletter.erase(lit);
|
||||||
|
|
||||||
|
auto nit = byname.find(extban->GetName());
|
||||||
|
if (nit != byname.end() && nit->second->creator.ptr() == extban->creator.ptr())
|
||||||
|
byname.erase(nit);
|
||||||
}
|
}
|
||||||
|
|
||||||
ExtBan::Base* ExtBanManager::FindName(const std::string& xbname) const
|
ExtBan::Base* ExtBanManager::FindName(const std::string& xbname) const
|
||||||
|
Loading…
x
Reference in New Issue
Block a user