From 8b3907ae811554608fe17581a04f66faa80f9519 Mon Sep 17 00:00:00 2001 From: Daniel Frey Date: Wed, 23 Apr 2008 19:32:44 +0000 Subject: [PATCH] Remove dynamic_cast in init_internal_shared_once() [SVN r44744] --- include/boost/enable_shared_from_this.hpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/include/boost/enable_shared_from_this.hpp b/include/boost/enable_shared_from_this.hpp index 66f43f8..bac9764 100644 --- a/include/boost/enable_shared_from_this.hpp +++ b/include/boost/enable_shared_from_this.hpp @@ -23,14 +23,11 @@ namespace boost template class enable_shared_from_this { -// dynamic cast to template type doesn't work in constructor, so we have -// to use lazy initialization void init_internal_shared_once() const { if( !owned() && _internal_shared_count.empty() ) { - T * p = dynamic_cast(const_cast(this)); - detail::shared_count( p, detail::sp_deleter_wrapper() ).swap(_internal_shared_count); + detail::shared_count( (void*)0, detail::sp_deleter_wrapper() ).swap(_internal_shared_count); _internal_weak_count = _internal_shared_count; } }