diff options
| author | Maxime Coste <mawww@kakoune.org> | 2018-09-11 19:52:54 +1000 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2018-09-11 19:52:54 +1000 |
| commit | beb5d0099229e792e715e0cd0b24b00e7a3e258b (patch) | |
| tree | f741cd0f710877604e3e41b88eaaa472b2db6ec1 /src | |
| parent | d65c99a4483887de09c0510ae11e8d4a565f3969 (diff) | |
| parent | 377e09abd9346ca81d267986435c28dc80e664bf (diff) | |
Merge remote-tracking branch 'lenormf/fix-hook-once'
Diffstat (limited to 'src')
| -rw-r--r-- | src/hook_manager.cc | 7 |
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) |
