diff --git a/src/bindings/eo_cxx/eo_wref.hh b/src/bindings/eo_cxx/eo_wref.hh index 4e2385f2d3..ec3b619da7 100644 --- a/src/bindings/eo_cxx/eo_wref.hh +++ b/src/bindings/eo_cxx/eo_wref.hh @@ -18,8 +18,16 @@ namespace efl { namespace eo { /// @brief Weak references to an EO Object. /// template -struct wref { - +struct wref +{ + /// @brief Default constructor. + /// + /// Create a empty weak reference. + /// + wref() : _eo_wref(nullptr) + { + } + /// @brief Class constructor. /// /// @param obj The EO Object to be referenced. @@ -46,8 +54,9 @@ struct wref { /// ~wref() { - if(eina::optional p = lock()) - _del(); + if(_eo_wref) + if(eina::optional p = lock()) + _del(); } /// @brief Try to acquire a strong reference to the underlying