diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-11-01 22:01:11 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-11-07 09:57:24 +0900 |
commit | 03b22c4d7b41c2310b4c25ed7ce8543942d638d5 (patch) | |
tree | 8277fb6f5aee177d219873a3ed521797ffcd6698 | |
parent | 3f64dcc521ce6709beb9355cca31a99a940c18be (diff) | |
download | efl-03b22c4d7b41c2310b4c25ed7ce8543942d638d5.tar.gz |
cxx: Instantiate objects with 2 refs
This is the original meaning of efl_add_ref().
Somehow the "ref" bool was set to true in the first call, and false in
the second call.
-rw-r--r-- | src/bindings/cxx/eo_cxx/eo_cxx_interop.hh | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/bindings/cxx/eo_cxx/eo_cxx_interop.hh b/src/bindings/cxx/eo_cxx/eo_cxx_interop.hh index 17cc390270..72c435e4d7 100644 --- a/src/bindings/cxx/eo_cxx/eo_cxx_interop.hh +++ b/src/bindings/cxx/eo_cxx/eo_cxx_interop.hh @@ -847,7 +847,7 @@ inline void do_eo_add(Eo*& object, P const& parent , typename std::enable_if< eo::is_eolian_object<P>::value>::type* = 0) { object = ::_efl_add_internal_start(__FILE__, __LINE__, klass, parent._eo_ptr(), EINA_TRUE, EINA_FALSE); - object = ::_efl_add_end(object, EINA_FALSE, EINA_FALSE); + object = ::_efl_add_end(object, EINA_TRUE, EINA_FALSE); } template <typename T> @@ -873,7 +873,7 @@ void do_eo_add(Eo*& object, P const& parent, Efl_Class const* klass { object = ::_efl_add_internal_start(__FILE__, __LINE__, klass, parent._eo_ptr(), EINA_TRUE, EINA_FALSE); ::efl::eolian::call_lambda(std::forward<F>(f), proxy); - object = ::_efl_add_end(object, EINA_FALSE, EINA_FALSE); + object = ::_efl_add_end(object, EINA_TRUE, EINA_FALSE); } template <typename D, typename T> |