From c5f7c973d99b4c7e7beccae1d75dee1ccc3e2c21 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 2 Dec 2002 14:34:06 +0000 Subject: [PATCH] Bug in get_deleter fixed. [SVN r16477] --- get_deleter_test.cpp | 15 +++++++++++++++ include/boost/detail/shared_count.hpp | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/get_deleter_test.cpp b/get_deleter_test.cpp index 2b84a2d..94d6dd4 100644 --- a/get_deleter_test.cpp +++ b/get_deleter_test.cpp @@ -36,6 +36,21 @@ struct X int main() { + { + boost::shared_ptr p; + + BOOST_TEST(boost::get_deleter(p) == 0); + BOOST_TEST(boost::get_deleter(p) == 0); + BOOST_TEST(boost::get_deleter(p) == 0); + BOOST_TEST(boost::get_deleter(p) == 0); + BOOST_TEST(boost::get_deleter(p) == 0); + BOOST_TEST(boost::get_deleter(p) == 0); + BOOST_TEST(boost::get_deleter(p) == 0); + BOOST_TEST(boost::get_deleter(p) == 0); + BOOST_TEST(boost::get_deleter(p) == 0); + BOOST_TEST(boost::get_deleter(p) == 0); + } + { boost::shared_ptr p(new X); diff --git a/include/boost/detail/shared_count.hpp b/include/boost/detail/shared_count.hpp index a7eb08c..d3c010f 100644 --- a/include/boost/detail/shared_count.hpp +++ b/include/boost/detail/shared_count.hpp @@ -382,7 +382,7 @@ public: void * get_deleter(std::type_info const & ti) const { - return pi_->get_deleter(ti); + return pi_? pi_->get_deleter(ti): 0; } };