summaryrefslogtreecommitdiff
path: root/modules/operserv
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2025-05-03 17:07:07 +0100
committerSadie Powell <sadie@witchery.services>2025-05-03 21:28:56 +0100
commit010beb52b1f3c697a07f9a130d2ed9335fe1cd98 (patch)
tree734750a5677afff443f2117dc34ba14d3351fb28 /modules/operserv
parentc95594141346ef6fb65a5af177bed35ed865234d (diff)
Store the setter and ts for all modes and try to restore them.
This is mostly for preserving channel list mode info.
Diffstat (limited to 'modules/operserv')
-rw-r--r--modules/operserv/os_defcon.cpp4
-rw-r--r--modules/operserv/os_mode.cpp4
2 files changed, 4 insertions, 4 deletions
diff --git a/modules/operserv/os_defcon.cpp b/modules/operserv/os_defcon.cpp
index 9fd47c659..2d32e6a28 100644
--- a/modules/operserv/os_defcon.cpp
+++ b/modules/operserv/os_defcon.cpp
@@ -407,11 +407,11 @@ public:
this->ParseModeString();
}
- EventReturn OnChannelModeSet(Channel *c, MessageSource &source, ChannelMode *mode, const Anope::string &param) override
+ EventReturn OnChannelModeSet(Channel *c, MessageSource &source, ChannelMode *mode, const ModeData &data) override
{
if (DConfig.Check(DEFCON_FORCE_CHAN_MODES) && DConfig.DefConModesOff.count(mode->name) && source.GetUser() && !source.GetBot())
{
- c->RemoveMode(Config->GetClient("OperServ"), mode, param);
+ c->RemoveMode(Config->GetClient("OperServ"), mode, data.value);
return EVENT_STOP;
}
diff --git a/modules/operserv/os_mode.cpp b/modules/operserv/os_mode.cpp
index 0ac9b48d4..d623d2e71 100644
--- a/modules/operserv/os_mode.cpp
+++ b/modules/operserv/os_mode.cpp
@@ -36,8 +36,8 @@ public:
{
bool all = params.size() > 2 && params[2].equals_ci("ALL");
- for (const auto &[mode, value] : c->GetModes())
- c->RemoveMode(c->WhoSends(), mode, value, false);
+ for (const auto &[mode, data] : c->GetModes())
+ c->RemoveMode(c->WhoSends(), mode, data.value, false);
if (!c)
{