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;

-- 


Reply via email to