diff options
Diffstat (limited to 'implementation/routing/src/routing_manager_base.cpp')
-rw-r--r-- | implementation/routing/src/routing_manager_base.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/implementation/routing/src/routing_manager_base.cpp b/implementation/routing/src/routing_manager_base.cpp index e187d93..afdf5ae 100644 --- a/implementation/routing/src/routing_manager_base.cpp +++ b/implementation/routing/src/routing_manager_base.cpp @@ -442,7 +442,8 @@ void routing_manager_base::register_event(client_t _client, } } } - if(!_is_cache_placeholder) { + + if (!its_event->is_cache_placeholder()) { its_event->add_ref(_client, _is_provided); } @@ -1045,7 +1046,9 @@ void routing_manager_base::remove_local(client_t _client, for (auto& sic : its_clients) { local_services_history_[std::get<0>(sic)][std::get<1>(sic)].erase(std::get<2>(sic)); if (local_services_history_[std::get<0>(sic)][std::get<1>(sic)].size() == 0) { - local_services_history_.erase(std::get<0>(sic)); + local_services_history_[std::get<0>(sic)].erase(std::get<1>(sic)); + if (local_services_history_[std::get<0>(sic)].size() == 0) + local_services_history_.erase(std::get<0>(sic)); } } } |