diff --git a/include/boost/scoped_ptr.hpp b/include/boost/scoped_ptr.hpp index 738ad1b..589bd36 100644 --- a/include/boost/scoped_ptr.hpp +++ b/include/boost/scoped_ptr.hpp @@ -61,10 +61,9 @@ public: void reset(T * p = 0) // never throws { - if (ptr != p) + if(ptr != p) { - checked_delete(ptr); - ptr = p; + this_type(p).swap(*this); } }