This commit is contained in:
MihailRis 2024-04-22 19:34:24 +03:00
parent 5b82b18c6f
commit 7415726e47
3 changed files with 4 additions and 0 deletions

View File

@ -43,6 +43,7 @@ public:
observers.emplace(id, callback);
return std::shared_ptr<int>(new int(id), [this](int* id) {
observers.erase(*id);
delete id;
});
}

View File

@ -67,6 +67,7 @@ scriptenv scripting::create_pack_environment(const ContentPack& pack) {
state->pop();
return std::shared_ptr<int>(new int(id), [=](int* id) {
state->removeEnvironment(*id);
delete id;
});
}
@ -90,6 +91,7 @@ scriptenv scripting::create_doc_environment(scriptenv parent, const std::string&
state->pop();
return std::shared_ptr<int>(new int(id), [=](int* id) {
state->removeEnvironment(*id);
delete id;
});
}

View File

@ -5,6 +5,7 @@
#include <memory>
namespace util {
/// @brief Keeps shared pointers alive until destruction
class ObjectsKeeper {
std::vector<std::shared_ptr<void>> ptrs;
public: