summaryrefslogtreecommitdiff
path: root/src/hook_manager.cc
diff options
context:
space:
mode:
authorFrank LENORMAND <lenormf@gmail.com>2018-09-09 13:12:44 +0300
committerFrank LENORMAND <lenormf@gmail.com>2018-09-09 13:12:47 +0300
commit377e09abd9346ca81d267986435c28dc80e664bf (patch)
tree9d17a338f3de46530590168cf51f98520c776663 /src/hook_manager.cc
parent14f9f4c468ab46660af8d37254f7c5199733c647 (diff)
src: Check that `Once` hooks to remove exist
Fixes #2370.
Diffstat (limited to 'src/hook_manager.cc')
-rw-r--r--src/hook_manager.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/hook_manager.cc b/src/hook_manager.cc
index 3b63ee56..46d38fb0 100644
--- a/src/hook_manager.cc
+++ b/src/hook_manager.cc
@@ -127,8 +127,11 @@ void HookManager::run_hook(StringView hook_name, StringView param, Context& cont
if (to_run.hook->flags & HookFlags::Once)
{
auto it = find(hook_list->value, to_run.hook);
- m_hooks_trash.push_back(std::move(*it));
- hook_list->value.erase(it);
+ if (it != hook_list->value.end())
+ {
+ m_hooks_trash.push_back(std::move(*it));
+ hook_list->value.erase(it);
+ }
}
}
catch (runtime_error& err)