From f5a0b2fed8e98e1736ec013b9bafab5de1535edc Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Tue, 28 May 2002 23:47:38 +0000 Subject: [PATCH] Bug fix, thanks to Pearu Pearson for pointing it out! [SVN r14055] --- include/boost/python/object/value_holder.hpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/include/boost/python/object/value_holder.hpp b/include/boost/python/object/value_holder.hpp index 3543d61b..e722d6b6 100644 --- a/include/boost/python/object/value_holder.hpp +++ b/include/boost/python/object/value_holder.hpp @@ -91,16 +91,14 @@ void* value_holder_back_reference::holds( type_info dst_t) { type_info src_t = python::type_id(); - if (src_t == dst_t) - { - Held* x = &m_held; + Held* x = &m_held; + + if (dst_t == src_t) return x; - } - - src_t = python::type_id(); - return src_t == dst_t - ? &m_held - : find_static_type(&m_held, src_t, dst_t); + else if (dst_t == python::type_id()) + return &m_held; + else + return find_static_type(x, src_t, dst_t); } }}} // namespace boost::python::objects