From cfc418c9eb5577d7a5a4f09301284859aeee2c7e Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Wed, 5 Nov 2014 16:09:22 +0100 Subject: [PATCH] Fix operator shared_ptr for the Value class fixes #7586 --- lib/base/value.hpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/base/value.hpp b/lib/base/value.hpp index 7a069c963..12885cbfe 100644 --- a/lib/base/value.hpp +++ b/lib/base/value.hpp @@ -99,12 +99,17 @@ public: if (IsEmpty()) return shared_ptr(); - shared_ptr object = dynamic_pointer_cast(boost::get(m_Value)); + Object::Ptr object = boost::get(m_Value); if (!object) + return shared_ptr(); + + shared_ptr tobject = dynamic_pointer_cast(object); + + if (!tobject) BOOST_THROW_EXCEPTION(std::bad_cast()); - return object; + return tobject; } bool IsEmpty(void) const; -- 2.40.0