summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-11-01 22:01:11 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-11-07 09:57:24 +0900
commit03b22c4d7b41c2310b4c25ed7ce8543942d638d5 (patch)
tree8277fb6f5aee177d219873a3ed521797ffcd6698
parent3f64dcc521ce6709beb9355cca31a99a940c18be (diff)
downloadefl-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.hh4
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>