diff --git a/src/bindings/cxx/eina_cxx/eina_iterator.hh b/src/bindings/cxx/eina_cxx/eina_iterator.hh index 6fd90958f2..1a8fedd73f 100644 --- a/src/bindings/cxx/eina_cxx/eina_iterator.hh +++ b/src/bindings/cxx/eina_cxx/eina_iterator.hh @@ -189,7 +189,10 @@ public: void* data; Eina_Bool r = ::eina_iterator_next(this->_iterator, &data); if(!r) - this->_iterator = 0; + { + ::eina_iterator_free(this->_iterator); + this->_iterator = 0; + } _value = static_cast(data); return *this; } @@ -267,7 +270,10 @@ public: void* data; Eina_Bool r = ::eina_iterator_next(this->_iterator, &data); if(!r) - this->_iterator = 0; + { + ::eina_iterator_free(this->_iterator); + this->_iterator = 0; + } _value = static_cast(data); return *this; }