diff --git a/src/ArduinoJson/Memory/ResourceManagerImpl.hpp b/src/ArduinoJson/Memory/ResourceManagerImpl.hpp index 2d9b6dad..2c7776d8 100644 --- a/src/ArduinoJson/Memory/ResourceManagerImpl.hpp +++ b/src/ArduinoJson/Memory/ResourceManagerImpl.hpp @@ -6,7 +6,6 @@ #include #include -#include ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE @@ -21,7 +20,6 @@ inline Slot ResourceManager::allocVariant() { } inline void ResourceManager::freeVariant(Slot slot) { - VariantImpl(slot.ptr(), this).clear(); variantPools_.freeSlot(slot); } diff --git a/src/ArduinoJson/Variant/VariantImpl.hpp b/src/ArduinoJson/Variant/VariantImpl.hpp index 66e2e3fe..2b601539 100644 --- a/src/ArduinoJson/Variant/VariantImpl.hpp +++ b/src/ArduinoJson/Variant/VariantImpl.hpp @@ -548,6 +548,7 @@ class VariantImpl { void freeVariant(Slot slot) { ARDUINOJSON_ASSERT(resources_ != nullptr); + VariantImpl(slot.ptr(), resources_).clear(); resources_->freeVariant(slot); }