src: Check that Once hooks to remove exist

Fixes #2370.
This commit is contained in:
Frank LENORMAND 2018-09-09 13:12:44 +03:00
parent 14f9f4c468
commit 377e09abd9

View File

@ -127,8 +127,11 @@ void HookManager::run_hook(StringView hook_name, StringView param, Context& cont
if (to_run.hook->flags & HookFlags::Once) if (to_run.hook->flags & HookFlags::Once)
{ {
auto it = find(hook_list->value, to_run.hook); auto it = find(hook_list->value, to_run.hook);
m_hooks_trash.push_back(std::move(*it)); if (it != hook_list->value.end())
hook_list->value.erase(it); {
m_hooks_trash.push_back(std::move(*it));
hook_list->value.erase(it);
}
} }
} }
catch (runtime_error& err) catch (runtime_error& err)