Remove unjustified use of idm::import_existing in sys_config

This commit is contained in:
Eladash 2019-10-26 09:28:27 +03:00 committed by Nekotekina
commit 114b9498bf

View file

@ -195,11 +195,9 @@ public:
template <typename... Args> template <typename... Args>
static std::shared_ptr<lv2_config_handle> create(Args&&... args) static std::shared_ptr<lv2_config_handle> create(Args&&... args)
{ {
auto cfg = std::make_shared<lv2_config_handle>(std::forward<Args>(args)...); if (auto cfg = idm::make_ptr<lv2_config_handle>(std::forward<Args>(args)...))
if (const u32 idm_id = idm::import_existing<lv2_config_handle>(cfg))
{ {
cfg->idm_id = idm_id; cfg->idm_id = idm::last_id();
return cfg; return cfg;
} }
return nullptr; return nullptr;
@ -253,12 +251,10 @@ public:
template <typename... Args> template <typename... Args>
static std::shared_ptr<lv2_config_service> create(Args&&... args) static std::shared_ptr<lv2_config_service> create(Args&&... args)
{ {
auto service = std::make_shared<lv2_config_service>(std::forward<Args>(args)...); if (auto service = idm::make_ptr<lv2_config_service>(std::forward<Args>(args)...))
if (const u32 idm_id = idm::import_existing<lv2_config_service>(service))
{ {
service->wkptr = service; service->wkptr = service;
service->idm_id = idm_id; service->idm_id = idm::last_id();
return service; return service;
} }
@ -320,12 +316,10 @@ public:
template <typename... Args> template <typename... Args>
static std::shared_ptr<lv2_config_service_listener> create(Args&&... args) static std::shared_ptr<lv2_config_service_listener> create(Args&&... args)
{ {
auto listener = std::make_shared<lv2_config_service_listener>(std::forward<Args>(args)...); if (auto listener = idm::make_ptr<lv2_config_service_listener>(std::forward<Args>(args)...))
if (const u32 idm_id = idm::import_existing<lv2_config_service_listener>(listener))
{ {
listener->wkptr = listener; listener->wkptr = listener;
listener->idm_id = idm_id; listener->idm_id = idm::last_id();
return listener; return listener;
} }