cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1cec8103c71e8d00efa1686cafad7911d8feb6b3
commit 1cec8103c71e8d00efa1686cafad7911d8feb6b3 Author: Savio Sena <[email protected]> Date: Sat Apr 26 16:26:33 2014 +0200 eina_cxx: fix a bug in efl::eina::range_inlist constructor. Summary: Fixes const propagation of range_inlist. Reviewers: cedric, raster, seoz, raoulh, Andreas, smohanty CC: felipealmeida, cedric Differential Revision: https://phab.enlightenment.org/D796 Signed-off-by: Cedric Bail <[email protected]> --- src/bindings/eina_cxx/eina_inlist.hh | 3 ++- src/bindings/eina_cxx/eina_range_types.hh | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/bindings/eina_cxx/eina_inlist.hh b/src/bindings/eina_cxx/eina_inlist.hh index a051209..1a014d1 100644 --- a/src/bindings/eina_cxx/eina_inlist.hh +++ b/src/bindings/eina_cxx/eina_inlist.hh @@ -247,8 +247,9 @@ struct range_inlist : _range_template<T, _inlist_access_traits> { typedef _range_template<T, _inlist_access_traits> _base_type; typedef typename _base_type::value_type value_type; + typedef typename _base_type::native_handle_type native_handle_type; - range_inlist(Eina_Inlist* list) + range_inlist(native_handle_type list) : _base_type(list) {} template <typename Allocator> range_inlist(inlist<value_type, Allocator>& list) diff --git a/src/bindings/eina_cxx/eina_range_types.hh b/src/bindings/eina_cxx/eina_range_types.hh index 217eef5..2a63c32 100644 --- a/src/bindings/eina_cxx/eina_range_types.hh +++ b/src/bindings/eina_cxx/eina_range_types.hh @@ -78,7 +78,7 @@ struct _const_range_template std::swap(_handle, other._handle); } protected: - native_handle_type _handle; + native_handle_type _handle; }; template <typename T, typename Traits> @@ -141,7 +141,7 @@ struct _range_template : private std::conditional typedef typename std::remove_const<T>::type value_type; typedef typename std::conditional<is_mutable::value, _mutable_range_template<value_type, Traits> , _const_range_template<value_type, Traits> >::type _base_type; - typedef typename Traits::template native_handle<T>::type native_handle_type; + typedef typename _base_type::native_handle_type native_handle_type; typedef value_type& reference; typedef value_type const& const_reference; --
