[Libreoffice-commits] core.git: slideshow/source slideshow/test

Noel Grandin noelgrandin at gmail.com
Wed Feb 24 07:39:16 UTC 2016


 slideshow/source/engine/activities/activitiesfactory.cxx                 |   16 -
 slideshow/source/engine/animationfactory.cxx                             |    4 
 slideshow/source/engine/animationnodes/animationaudionode.cxx            |    8 
 slideshow/source/engine/animationnodes/animationaudionode.hxx            |    2 
 slideshow/source/engine/animationnodes/animationbasenode.cxx             |    2 
 slideshow/source/engine/animationnodes/animationbasenode.hxx             |    2 
 slideshow/source/engine/animationnodes/animationcolornode.hxx            |    2 
 slideshow/source/engine/animationnodes/animationcommandnode.cxx          |    4 
 slideshow/source/engine/animationnodes/animationcommandnode.hxx          |    2 
 slideshow/source/engine/animationnodes/animationnodefactory.cxx          |    4 
 slideshow/source/engine/animationnodes/animationsetnode.cxx              |    4 
 slideshow/source/engine/animationnodes/animationsetnode.hxx              |    2 
 slideshow/source/engine/animationnodes/animationtransformnode.hxx        |    2 
 slideshow/source/engine/animationnodes/animationtransitionfilternode.hxx |    2 
 slideshow/source/engine/animationnodes/basecontainernode.cxx             |    2 
 slideshow/source/engine/animationnodes/basecontainernode.hxx             |    4 
 slideshow/source/engine/animationnodes/basenode.hxx                      |   14 -
 slideshow/source/engine/animationnodes/nodetools.cxx                     |    2 
 slideshow/source/engine/animationnodes/propertyanimationnode.hxx         |    2 
 slideshow/source/engine/animationnodes/sequentialtimecontainer.cxx       |    2 
 slideshow/source/engine/animationnodes/setactivity.hxx                   |    4 
 slideshow/source/engine/effectrewinder.cxx                               |    6 
 slideshow/source/engine/effectrewinder.hxx                               |    4 
 slideshow/source/engine/eventmultiplexer.cxx                             |   14 -
 slideshow/source/engine/pointersymbol.hxx                                |    3 
 slideshow/source/engine/rehearsetimingsactivity.cxx                      |    8 
 slideshow/source/engine/rehearsetimingsactivity.hxx                      |   10 
 slideshow/source/engine/screenupdater.cxx                                |    6 
 slideshow/source/engine/shapes/appletshape.cxx                           |    6 
 slideshow/source/engine/shapes/appletshape.hxx                           |    4 
 slideshow/source/engine/shapes/backgroundshape.hxx                       |    3 
 slideshow/source/engine/shapes/drawinglayeranimation.cxx                 |   29 --
 slideshow/source/engine/shapes/drawinglayeranimation.hxx                 |    5 
 slideshow/source/engine/shapes/drawshape.hxx                             |    6 
 slideshow/source/engine/shapes/drawshapesubsetting.cxx                   |    2 
 slideshow/source/engine/shapes/drawshapesubsetting.hxx                   |    7 
 slideshow/source/engine/shapes/externalshapebase.hxx                     |    2 
 slideshow/source/engine/shapes/gdimtftools.hxx                           |    1 
 slideshow/source/engine/shapes/intrinsicanimationactivity.cxx            |    9 
 slideshow/source/engine/shapes/mediashape.cxx                            |    2 
 slideshow/source/engine/shapes/mediashape.hxx                            |    4 
 slideshow/source/engine/shapes/viewappletshape.hxx                       |    4 
 slideshow/source/engine/shapes/viewbackgroundshape.hxx                   |    4 
 slideshow/source/engine/shapes/viewmediashape.hxx                        |    4 
 slideshow/source/engine/shapes/viewshape.hxx                             |    4 
 slideshow/source/engine/slide/layer.hxx                                  |   16 -
 slideshow/source/engine/slide/layermanager.cxx                           |    4 
 slideshow/source/engine/slide/layermanager.hxx                           |    4 
 slideshow/source/engine/slide/shapemanagerimpl.cxx                       |    2 
 slideshow/source/engine/slide/shapemanagerimpl.hxx                       |   17 -
 slideshow/source/engine/slide/slideimpl.cxx                              |    8 
 slideshow/source/engine/slide/userpaintoverlay.hxx                       |    6 
 slideshow/source/engine/slideshowimpl.cxx                                |   10 
 slideshow/source/engine/slideview.cxx                                    |    2 
 slideshow/source/engine/smilfunctionparser.cxx                           |    2 
 slideshow/source/engine/soundplayer.cxx                                  |    4 
 slideshow/source/engine/sp_debug.cxx                                     |  136 ----------
 slideshow/source/engine/transitions/parametricpolypolygon.hxx            |    4 
 slideshow/source/engine/transitions/slidechangebase.cxx                  |    4 
 slideshow/source/engine/transitions/slidechangebase.hxx                  |    3 
 slideshow/source/engine/usereventqueue.cxx                               |   10 
 slideshow/source/engine/waitsymbol.hxx                                   |    4 
 slideshow/source/inc/activitiesqueue.hxx                                 |    2 
 slideshow/source/inc/activity.hxx                                        |    6 
 slideshow/source/inc/animatableshape.hxx                                 |    4 
 slideshow/source/inc/animatedsprite.hxx                                  |    4 
 slideshow/source/inc/animation.hxx                                       |    5 
 slideshow/source/inc/animationactivity.hxx                               |    2 
 slideshow/source/inc/animationeventhandler.hxx                           |    4 
 slideshow/source/inc/animationnode.hxx                                   |    8 
 slideshow/source/inc/attributableshape.hxx                               |    4 
 slideshow/source/inc/boolanimation.hxx                                   |    2 
 slideshow/source/inc/coloranimation.hxx                                  |    2 
 slideshow/source/inc/cursormanager.hxx                                   |    4 
 slideshow/source/inc/disposable.hxx                                      |   10 
 slideshow/source/inc/enumanimation.hxx                                   |    2 
 slideshow/source/inc/event.hxx                                           |    4 
 slideshow/source/inc/eventhandler.hxx                                    |    4 
 slideshow/source/inc/eventmultiplexer.hxx                                |   16 -
 slideshow/source/inc/expressionnode.hxx                                  |    6 
 slideshow/source/inc/hslcoloranimation.hxx                               |    2 
 slideshow/source/inc/hyperlinkarea.hxx                                   |    8 
 slideshow/source/inc/iexternalmediashapebase.hxx                         |    4 
 slideshow/source/inc/intrinsicanimationeventhandler.hxx                  |    4 
 slideshow/source/inc/listenercontainer.hxx                               |    8 
 slideshow/source/inc/mouseeventhandler.hxx                               |    4 
 slideshow/source/inc/numberanimation.hxx                                 |    2 
 slideshow/source/inc/pairanimation.hxx                                   |    2 
 slideshow/source/inc/pauseeventhandler.hxx                               |    4 
 slideshow/source/inc/screenupdater.hxx                                   |    2 
 slideshow/source/inc/shape.hxx                                           |    6 
 slideshow/source/inc/shapeattributelayer.hxx                             |    6 
 slideshow/source/inc/shapelistenereventhandler.hxx                       |    4 
 slideshow/source/inc/shapemanager.hxx                                    |   14 -
 slideshow/source/inc/shapemaps.hxx                                       |    4 
 slideshow/source/inc/shapesubset.hxx                                     |    4 
 slideshow/source/inc/slide.hxx                                           |    4 
 slideshow/source/inc/slidebitmap.hxx                                     |    4 
 slideshow/source/inc/slideshowcontext.hxx                                |    6 
 slideshow/source/inc/soundplayer.hxx                                     |    8 
 slideshow/source/inc/stringanimation.hxx                                 |    2 
 slideshow/source/inc/subsettableshapemanager.hxx                         |   12 
 slideshow/source/inc/tools.hxx                                           |   29 +-
 slideshow/source/inc/unoviewcontainer.hxx                                |    4 
 slideshow/source/inc/usereventqueue.hxx                                  |   24 -
 slideshow/source/inc/view.hxx                                            |    2 
 slideshow/source/inc/vieweventhandler.hxx                                |   10 
 slideshow/source/inc/viewlayer.hxx                                       |    2 
 slideshow/source/inc/viewupdate.hxx                                      |    4 
 slideshow/source/inc/wakeupevent.hxx                                     |    2 
 slideshow/test/tests.hxx                                                 |    8 
 slideshow/test/testview.cxx                                              |    2 
 112 files changed, 304 insertions(+), 455 deletions(-)

New commits:
commit f29c0b2b3e8861909fa2c6c37bf631ab01590541
Author: Noel Grandin <noelgrandin at gmail.com>
Date:   Mon Feb 1 18:53:50 2016 +0200

    boost::shared_ptr->std::shared_ptr in slideshow
    
    Change-Id: I27da6bc550488ea65ccdf1d26f8178f803f495d6

diff --git a/slideshow/source/engine/activities/activitiesfactory.cxx b/slideshow/source/engine/activities/activitiesfactory.cxx
index fe3f018..c3e026b 100644
--- a/slideshow/source/engine/activities/activitiesfactory.cxx
+++ b/slideshow/source/engine/activities/activitiesfactory.cxx
@@ -35,8 +35,8 @@
 #include "continuouskeytimeactivitybase.hxx"
 
 #include <boost/optional.hpp>
-#include <boost/shared_ptr.hpp>
 
+#include <memory>
 #include <cmath>
 #include <vector>
 #include <algorithm>
@@ -145,7 +145,7 @@ public:
         const OptionalValueType&                      rTo,
         const OptionalValueType&                      rBy,
         const ActivityParameters&                     rParms,
-        const ::boost::shared_ptr< AnimationType >&   rAnim,
+        const ::std::shared_ptr< AnimationType >&   rAnim,
         const Interpolator< ValueType >&              rInterpolator,
         bool                                          bCumulative )
         : BaseType( rParms ),
@@ -361,7 +361,7 @@ private:
     mutable ValueType                               maStartInterpolationValue;
     mutable sal_uInt32                              mnIteration;
 
-    ::boost::shared_ptr< AnimationType >    mpAnim;
+    ::std::shared_ptr< AnimationType >    mpAnim;
     Interpolator< ValueType >               maInterpolator;
     bool                                    mbDynamicStartValue;
     bool                                    mbCumulative;
@@ -382,7 +382,7 @@ AnimationActivitySharedPtr createFromToByActivity(
     const uno::Any&                                          rToAny,
     const uno::Any&                                          rByAny,
     const ActivityParameters&                                rParms,
-    const ::boost::shared_ptr< AnimationType >&              rAnim,
+    const ::std::shared_ptr< AnimationType >&              rAnim,
     const Interpolator< typename AnimationType::ValueType >& rInterpolator,
     bool                                                     bCumulative,
     const ShapeSharedPtr&                                    rShape,
@@ -509,7 +509,7 @@ public:
     ValuesActivity(
         const ValueVectorType&                      rValues,
         const ActivityParameters&                   rParms,
-        const boost::shared_ptr<AnimationType>&     rAnim,
+        const std::shared_ptr<AnimationType>&     rAnim,
         const Interpolator< ValueType >&            rInterpolator,
         bool                                        bCumulative )
         : BaseType( rParms ),
@@ -591,7 +591,7 @@ private:
 
     ExpressionNodeSharedPtr                 mpFormula;
 
-    boost::shared_ptr<AnimationType>        mpAnim;
+    std::shared_ptr<AnimationType>        mpAnim;
     Interpolator< ValueType >               maInterpolator;
     bool                                    mbCumulative;
 };
@@ -608,7 +608,7 @@ template<class BaseType, typename AnimationType>
 AnimationActivitySharedPtr createValueListActivity(
     const uno::Sequence<uno::Any>&                            rValues,
     const ActivityParameters&                                 rParms,
-    const boost::shared_ptr<AnimationType>&                   rAnim,
+    const std::shared_ptr<AnimationType>&                   rAnim,
     const Interpolator<typename AnimationType::ValueType>&    rInterpolator,
     bool                                                      bCumulative,
     const ShapeSharedPtr&                                     rShape,
@@ -663,7 +663,7 @@ template<typename AnimationType>
 AnimationActivitySharedPtr createActivity(
     const ActivitiesFactory::CommonParameters&               rParms,
     const uno::Reference< animations::XAnimate >&            xNode,
-    const ::boost::shared_ptr< AnimationType >&              rAnim,
+    const ::std::shared_ptr< AnimationType >&              rAnim,
     const Interpolator< typename AnimationType::ValueType >& rInterpolator
     = Interpolator< typename AnimationType::ValueType >() )
 {
diff --git a/slideshow/source/engine/animationfactory.cxx b/slideshow/source/engine/animationfactory.cxx
index 8ef5f60..5f03595 100644
--- a/slideshow/source/engine/animationfactory.cxx
+++ b/slideshow/source/engine/animationfactory.cxx
@@ -591,7 +591,7 @@ namespace slideshow
                 Type of animation to generate (determines the
                 interface GenericAnimation will implement).
              */
-            template< typename AnimationBase > ::boost::shared_ptr< AnimationBase >
+            template< typename AnimationBase > ::std::shared_ptr< AnimationBase >
                 makeGenericAnimation( const ShapeManagerSharedPtr&                             rShapeManager,
                                       int                                                      nFlags,
                                       bool                              (ShapeAttributeLayer::*pIsValid)() const,
@@ -599,7 +599,7 @@ namespace slideshow
                                       typename AnimationBase::ValueType (ShapeAttributeLayer::*pGetValue)() const,
                                       void                              (ShapeAttributeLayer::*pSetValue)( const typename AnimationBase::ValueType& ) )
             {
-                return ::boost::shared_ptr< AnimationBase >(
+                return ::std::shared_ptr< AnimationBase >(
                     new GenericAnimation< AnimationBase,
                                           SGI_identity< typename AnimationBase::ValueType > >(
                                               rShapeManager,
diff --git a/slideshow/source/engine/animationnodes/animationaudionode.cxx b/slideshow/source/engine/animationnodes/animationaudionode.cxx
index a5f9e41..13959bc 100644
--- a/slideshow/source/engine/animationnodes/animationaudionode.cxx
+++ b/slideshow/source/engine/animationnodes/animationaudionode.cxx
@@ -59,7 +59,7 @@ void AnimationAudioNode::activate_st()
     createPlayer();
 
     AnimationEventHandlerSharedPtr aHandler(
-        boost::dynamic_pointer_cast<AnimationEventHandler>( getSelf() ) );
+        std::dynamic_pointer_cast<AnimationEventHandler>( getSelf() ) );
     OSL_ENSURE( aHandler,
                 "could not cast self to AnimationEventHandler?" );
     getContext().mrEventMultiplexer.addCommandStopAudioHandler( aHandler );
@@ -100,9 +100,9 @@ void AnimationAudioNode::activate_st()
 struct NotifyAudioStopped
 {
     EventMultiplexer & m_rEventMultiplexer;
-    ::boost::shared_ptr<BaseNode> m_pSelf;
+    ::std::shared_ptr<BaseNode> m_pSelf;
     NotifyAudioStopped(EventMultiplexer & rEventMultiplexer,
-            ::boost::shared_ptr<BaseNode> const& pSelf)
+            ::std::shared_ptr<BaseNode> const& pSelf)
         : m_rEventMultiplexer(rEventMultiplexer), m_pSelf(pSelf) { }
 
     void operator()()
@@ -114,7 +114,7 @@ struct NotifyAudioStopped
 void AnimationAudioNode::deactivate_st( NodeState /*eDestState*/ )
 {
     AnimationEventHandlerSharedPtr aHandler(
-        boost::dynamic_pointer_cast<AnimationEventHandler>( getSelf() ) );
+        std::dynamic_pointer_cast<AnimationEventHandler>( getSelf() ) );
     OSL_ENSURE( aHandler,
                 "could not cas self to AnimationEventHandler?" );
     getContext().mrEventMultiplexer.removeCommandStopAudioHandler( aHandler );
diff --git a/slideshow/source/engine/animationnodes/animationaudionode.hxx b/slideshow/source/engine/animationnodes/animationaudionode.hxx
index e56b3bc..75bb75f 100644
--- a/slideshow/source/engine/animationnodes/animationaudionode.hxx
+++ b/slideshow/source/engine/animationnodes/animationaudionode.hxx
@@ -38,7 +38,7 @@ class AnimationAudioNode : public BaseNode, public AnimationEventHandler
 public:
     AnimationAudioNode(
         css::uno::Reference<css::animations::XAnimationNode> const& xNode,
-        ::boost::shared_ptr<BaseContainerNode> const& pParent,
+        ::std::shared_ptr<BaseContainerNode> const& pParent,
         NodeContext const& rContext );
 
 protected:
diff --git a/slideshow/source/engine/animationnodes/animationbasenode.cxx b/slideshow/source/engine/animationnodes/animationbasenode.cxx
index 9d28fb3..fbd9bb8 100644
--- a/slideshow/source/engine/animationnodes/animationbasenode.cxx
+++ b/slideshow/source/engine/animationnodes/animationbasenode.cxx
@@ -432,7 +432,7 @@ AnimationBaseNode::fillCommonParameters() const
     double nAcceleration = 0.0;
     double nDeceleration = 0.0;
     BaseNodeSharedPtr const pSelf( getSelf() );
-    for ( boost::shared_ptr<BaseNode> pNode( pSelf );
+    for ( std::shared_ptr<BaseNode> pNode( pSelf );
           pNode; pNode = pNode->getParentNode() )
     {
         uno::Reference<animations::XAnimationNode> const xAnimationNode(
diff --git a/slideshow/source/engine/animationnodes/animationbasenode.hxx b/slideshow/source/engine/animationnodes/animationbasenode.hxx
index 8470b88..474680c 100644
--- a/slideshow/source/engine/animationnodes/animationbasenode.hxx
+++ b/slideshow/source/engine/animationnodes/animationbasenode.hxx
@@ -40,7 +40,7 @@ class AnimationBaseNode : public BaseNode
 public:
     AnimationBaseNode(
         css::uno::Reference<css::animations::XAnimationNode> const& xNode,
-        ::boost::shared_ptr<BaseContainerNode> const& pParent,
+        ::std::shared_ptr<BaseContainerNode> const& pParent,
         NodeContext const& rContext );
 
 #if defined(DBG_UTIL)
diff --git a/slideshow/source/engine/animationnodes/animationcolornode.hxx b/slideshow/source/engine/animationnodes/animationcolornode.hxx
index 4f5002d..fe0366f 100644
--- a/slideshow/source/engine/animationnodes/animationcolornode.hxx
+++ b/slideshow/source/engine/animationnodes/animationcolornode.hxx
@@ -31,7 +31,7 @@ class AnimationColorNode : public AnimationBaseNode
 public:
     AnimationColorNode(
         css::uno::Reference<css::animations::XAnimationNode> const& xNode,
-        ::boost::shared_ptr<BaseContainerNode> const& pParent,
+        ::std::shared_ptr<BaseContainerNode> const& pParent,
         NodeContext const& rContext )
         : AnimationBaseNode( xNode, pParent, rContext ),
           mxColorNode( xNode, css::uno::UNO_QUERY_THROW ) {}
diff --git a/slideshow/source/engine/animationnodes/animationcommandnode.cxx b/slideshow/source/engine/animationnodes/animationcommandnode.cxx
index 0ccc94f..9ad6089 100644
--- a/slideshow/source/engine/animationnodes/animationcommandnode.cxx
+++ b/slideshow/source/engine/animationnodes/animationcommandnode.cxx
@@ -36,7 +36,7 @@ namespace internal {
 namespace EffectCommands = css::presentation::EffectCommands;
 
 AnimationCommandNode::AnimationCommandNode( uno::Reference<animations::XAnimationNode> const& xNode,
-                                             ::boost::shared_ptr<BaseContainerNode> const& pParent,
+                                             ::std::shared_ptr<BaseContainerNode> const& pParent,
                                              NodeContext const& rContext ) :
     BaseNode( xNode, pParent, rContext ),
     mpShape(),
@@ -45,7 +45,7 @@ AnimationCommandNode::AnimationCommandNode( uno::Reference<animations::XAnimatio
     uno::Reference< drawing::XShape > xShape( mxCommandNode->getTarget(),
                                               uno::UNO_QUERY );
     ShapeSharedPtr pShape( getContext().mpSubsettableShapeManager->lookupShape( xShape ) );
-    mpShape = ::boost::dynamic_pointer_cast< IExternalMediaShapeBase >( pShape );
+    mpShape = ::std::dynamic_pointer_cast< IExternalMediaShapeBase >( pShape );
 }
 
 void AnimationCommandNode::dispose()
diff --git a/slideshow/source/engine/animationnodes/animationcommandnode.hxx b/slideshow/source/engine/animationnodes/animationcommandnode.hxx
index d252e23e..932524a 100644
--- a/slideshow/source/engine/animationnodes/animationcommandnode.hxx
+++ b/slideshow/source/engine/animationnodes/animationcommandnode.hxx
@@ -38,7 +38,7 @@ class AnimationCommandNode : public BaseNode
 public:
     AnimationCommandNode(
         css::uno::Reference<css::animations::XAnimationNode> const& xNode,
-        ::boost::shared_ptr<BaseContainerNode> const& pParent,
+        ::std::shared_ptr<BaseContainerNode> const& pParent,
         NodeContext const& rContext );
 
 protected:
diff --git a/slideshow/source/engine/animationnodes/animationnodefactory.cxx b/slideshow/source/engine/animationnodes/animationnodefactory.cxx
index d20e44c..0e6140c 100644
--- a/slideshow/source/engine/animationnodes/animationnodefactory.cxx
+++ b/slideshow/source/engine/animationnodes/animationnodefactory.cxx
@@ -50,7 +50,7 @@
 #include "nodetools.hxx"
 #include "tools.hxx"
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 using namespace ::com::sun::star;
 
@@ -592,7 +592,7 @@ AnimationNodeSharedPtr AnimationNodeFactory::createAnimationNode(
 void AnimationNodeFactory::showTree( AnimationNodeSharedPtr& pRootNode )
 {
     if( pRootNode )
-        DEBUG_NODES_SHOWTREE( boost::dynamic_pointer_cast<BaseContainerNode>(
+        DEBUG_NODES_SHOWTREE( std::dynamic_pointer_cast<BaseContainerNode>(
                                   pRootNode).get() );
 }
 #endif
diff --git a/slideshow/source/engine/animationnodes/animationsetnode.cxx b/slideshow/source/engine/animationnodes/animationsetnode.cxx
index c2f37e3..0e19b7f 100644
--- a/slideshow/source/engine/animationnodes/animationsetnode.cxx
+++ b/slideshow/source/engine/animationnodes/animationsetnode.cxx
@@ -56,8 +56,8 @@ AnimationActivitySharedPtr AnimationSetNode::createActivity() const
     // AnimationBaseNode::fillCommonParameters() has set up
     // immediate deactivation as default when activity ends, but
     if (! isIndefiniteTiming( xAnimateNode->getDuration() )) {
-        boost::shared_ptr<AnimationSetNode> const pSelf(
-            boost::dynamic_pointer_cast<AnimationSetNode>(getSelf()) );
+        std::shared_ptr<AnimationSetNode> const pSelf(
+            std::dynamic_pointer_cast<AnimationSetNode>(getSelf()) );
         ENSURE_OR_THROW(
             pSelf, "cannot cast getSelf() to my type!" );
         aParms.mpEndEvent = makeEvent(
diff --git a/slideshow/source/engine/animationnodes/animationsetnode.hxx b/slideshow/source/engine/animationnodes/animationsetnode.hxx
index aa48843..ee63b42 100644
--- a/slideshow/source/engine/animationnodes/animationsetnode.hxx
+++ b/slideshow/source/engine/animationnodes/animationsetnode.hxx
@@ -29,7 +29,7 @@ class AnimationSetNode : public AnimationBaseNode
 public:
     AnimationSetNode(
         css::uno::Reference<css::animations::XAnimationNode> const& xNode,
-        ::boost::shared_ptr<BaseContainerNode> const& pParent,
+        ::std::shared_ptr<BaseContainerNode> const& pParent,
         NodeContext const& rContext )
         : AnimationBaseNode( xNode, pParent, rContext ) {}
 
diff --git a/slideshow/source/engine/animationnodes/animationtransformnode.hxx b/slideshow/source/engine/animationnodes/animationtransformnode.hxx
index 852eeb0..604a9b89 100644
--- a/slideshow/source/engine/animationnodes/animationtransformnode.hxx
+++ b/slideshow/source/engine/animationnodes/animationtransformnode.hxx
@@ -31,7 +31,7 @@ class AnimationTransformNode : public AnimationBaseNode
 public:
     AnimationTransformNode(
         css::uno::Reference<css::animations::XAnimationNode> const& xNode,
-        ::boost::shared_ptr<BaseContainerNode> const& pParent,
+        ::std::shared_ptr<BaseContainerNode> const& pParent,
         NodeContext const& rContext )
         : AnimationBaseNode( xNode, pParent, rContext ),
           mxTransformNode( xNode, css::uno::UNO_QUERY_THROW ) {}
diff --git a/slideshow/source/engine/animationnodes/animationtransitionfilternode.hxx b/slideshow/source/engine/animationnodes/animationtransitionfilternode.hxx
index 38ea94d..8718426 100644
--- a/slideshow/source/engine/animationnodes/animationtransitionfilternode.hxx
+++ b/slideshow/source/engine/animationnodes/animationtransitionfilternode.hxx
@@ -31,7 +31,7 @@ class AnimationTransitionFilterNode : public AnimationBaseNode
 public:
     AnimationTransitionFilterNode(
         css::uno::Reference<css::animations::XAnimationNode> const& xNode,
-        ::boost::shared_ptr<BaseContainerNode> const& pParent,
+        ::std::shared_ptr<BaseContainerNode> const& pParent,
         NodeContext const& rContext )
         : AnimationBaseNode( xNode, pParent, rContext ),
           mxTransitionFilterNode( xNode, css::uno::UNO_QUERY_THROW)
diff --git a/slideshow/source/engine/animationnodes/basecontainernode.cxx b/slideshow/source/engine/animationnodes/basecontainernode.cxx
index 17769f7..5953346 100644
--- a/slideshow/source/engine/animationnodes/basecontainernode.cxx
+++ b/slideshow/source/engine/animationnodes/basecontainernode.cxx
@@ -177,7 +177,7 @@ void BaseContainerNode::showState() const
     for( std::size_t i=0; i<maChildren.size(); ++i )
     {
         BaseNodeSharedPtr pNode =
-            boost::dynamic_pointer_cast<BaseNode>(maChildren[i]);
+            std::dynamic_pointer_cast<BaseNode>(maChildren[i]);
         SAL_INFO("slideshow.verbose",
                  "Node connection: n" <<
                  debugGetNodeName(this) <<
diff --git a/slideshow/source/engine/animationnodes/basecontainernode.hxx b/slideshow/source/engine/animationnodes/basecontainernode.hxx
index 7fb308c..06e67a1 100644
--- a/slideshow/source/engine/animationnodes/basecontainernode.hxx
+++ b/slideshow/source/engine/animationnodes/basecontainernode.hxx
@@ -32,7 +32,7 @@ class BaseContainerNode : public BaseNode
 public:
     BaseContainerNode(
         css::uno::Reference<css::animations::XAnimationNode> const& xNode,
-        ::boost::shared_ptr<BaseContainerNode> const& pParent,
+        ::std::shared_ptr<BaseContainerNode> const& pParent,
         NodeContext const& rContext );
 
     /** Add given child node to this container
@@ -91,7 +91,7 @@ private:
     const bool          mbDurationIndefinite;
 };
 
-typedef ::boost::shared_ptr< BaseContainerNode > BaseContainerNodeSharedPtr;
+typedef ::std::shared_ptr< BaseContainerNode > BaseContainerNodeSharedPtr;
 
 } // namespace interface
 } // namespace presentation
diff --git a/slideshow/source/engine/animationnodes/basenode.hxx b/slideshow/source/engine/animationnodes/basenode.hxx
index 0d24483..77862c5 100644
--- a/slideshow/source/engine/animationnodes/basenode.hxx
+++ b/slideshow/source/engine/animationnodes/basenode.hxx
@@ -79,7 +79,7 @@ class BaseNode : public AnimationNode,
 {
 public:
     BaseNode( css::uno::Reference<css::animations::XAnimationNode> const& xNode,
-              ::boost::shared_ptr<BaseContainerNode> const&        pParent,
+              ::std::shared_ptr<BaseContainerNode> const&        pParent,
               NodeContext const&                                   rContext );
 
     /** Provide the node with a shared_ptr to itself.
@@ -89,7 +89,7 @@ public:
         retrieve a shared_ptr to itself internally, have to
         set that from the outside.
     */
-    void setSelf( const ::boost::shared_ptr< BaseNode >& rSelf );
+    void setSelf( const ::std::shared_ptr< BaseNode >& rSelf );
 
 
 #if defined(DBG_UTIL)
@@ -97,7 +97,7 @@ public:
     virtual const char* getDescription() const;
 #endif
 
-    const ::boost::shared_ptr< BaseContainerNode >& getParentNode() const
+    const ::std::shared_ptr< BaseContainerNode >& getParentNode() const
         { return mpParent; }
 
     // Disposable:
@@ -123,7 +123,7 @@ protected:
                                     EventSharedPtr() );
 
     SlideShowContext const&                 getContext() const { return maContext; }
-    ::boost::shared_ptr<BaseNode> const&    getSelf() const { return mpSelf; }
+    ::std::shared_ptr<BaseNode> const&    getSelf() const { return mpSelf; }
 
     bool checkValidNode() const {
         ENSURE_OR_THROW( mpSelf, "no self ptr set!" );
@@ -191,8 +191,8 @@ private:
 
     ListenerVector                                     maDeactivatingListeners;
     css::uno::Reference< css::animations::XAnimationNode > mxAnimationNode;
-    ::boost::shared_ptr< BaseContainerNode >           mpParent;
-    ::boost::shared_ptr< BaseNode >                    mpSelf;
+    ::std::shared_ptr< BaseContainerNode >           mpParent;
+    ::std::shared_ptr< BaseNode >                    mpSelf;
     const int*                                         mpStateTransitionTable;
     const double                                       mnStartDelay;
     NodeState                                          meCurrState;
@@ -201,7 +201,7 @@ private:
     const bool                                         mbIsMainSequenceRootNode;
 };
 
-typedef ::boost::shared_ptr< BaseNode > BaseNodeSharedPtr;
+typedef ::std::shared_ptr< BaseNode > BaseNodeSharedPtr;
 
 } // namespace internal
 } // namespace slideshow
diff --git a/slideshow/source/engine/animationnodes/nodetools.cxx b/slideshow/source/engine/animationnodes/nodetools.cxx
index e38445b..e69acef 100644
--- a/slideshow/source/engine/animationnodes/nodetools.cxx
+++ b/slideshow/source/engine/animationnodes/nodetools.cxx
@@ -63,7 +63,7 @@ namespace slideshow
                               "lookupAttributableShape(): no shape found for given XShape" );
 
             AttributableShapeSharedPtr pRes(
-                ::boost::dynamic_pointer_cast< AttributableShape >( pShape ) );
+                ::std::dynamic_pointer_cast< AttributableShape >( pShape ) );
 
             // TODO(E3): Cannot throw here, people might set animation info
             // for non-animatable shapes from the API. AnimationNodes must catch
diff --git a/slideshow/source/engine/animationnodes/propertyanimationnode.hxx b/slideshow/source/engine/animationnodes/propertyanimationnode.hxx
index 654cf85..037fea6 100644
--- a/slideshow/source/engine/animationnodes/propertyanimationnode.hxx
+++ b/slideshow/source/engine/animationnodes/propertyanimationnode.hxx
@@ -29,7 +29,7 @@ class PropertyAnimationNode : public AnimationBaseNode
 public:
     PropertyAnimationNode(
         css::uno::Reference<css::animations::XAnimationNode> const& xNode,
-        ::boost::shared_ptr<BaseContainerNode> const& pParent,
+        ::std::shared_ptr<BaseContainerNode> const& pParent,
         NodeContext const& rContext )
         : AnimationBaseNode( xNode, pParent, rContext ) {}
 
diff --git a/slideshow/source/engine/animationnodes/sequentialtimecontainer.cxx b/slideshow/source/engine/animationnodes/sequentialtimecontainer.cxx
index 56dcf0c..68bda1a 100644
--- a/slideshow/source/engine/animationnodes/sequentialtimecontainer.cxx
+++ b/slideshow/source/engine/animationnodes/sequentialtimecontainer.cxx
@@ -95,7 +95,7 @@ bool SequentialTimeContainer::resolveChild(
         // event that will deactivate the resolved/running child:
         mpCurrentSkipEvent = makeEvent(
             std::bind( &SequentialTimeContainer::skipEffect,
-                         boost::dynamic_pointer_cast<SequentialTimeContainer>( getSelf() ),
+                         std::dynamic_pointer_cast<SequentialTimeContainer>( getSelf() ),
                          pChildNode ),
             "SequentialTimeContainer::skipEffect, resolveChild");
 
diff --git a/slideshow/source/engine/animationnodes/setactivity.hxx b/slideshow/source/engine/animationnodes/setactivity.hxx
index 5ed0943..166932f 100644
--- a/slideshow/source/engine/animationnodes/setactivity.hxx
+++ b/slideshow/source/engine/animationnodes/setactivity.hxx
@@ -42,7 +42,7 @@ template <class AnimationT>
 class SetActivity : public AnimationActivity
 {
 public:
-    typedef ::boost::shared_ptr< AnimationT >   AnimationSharedPtrT;
+    typedef ::std::shared_ptr< AnimationT >   AnimationSharedPtrT;
     typedef typename AnimationT::ValueType      ValueT;
 
     SetActivity( const ActivitiesFactory::CommonParameters& rParms,
@@ -131,7 +131,7 @@ private:
 
 template <class AnimationT> AnimationActivitySharedPtr makeSetActivity(
     const ActivitiesFactory::CommonParameters& rParms,
-    const ::boost::shared_ptr< AnimationT >&   rAnimation,
+    const ::std::shared_ptr< AnimationT >&   rAnimation,
     const typename AnimationT::ValueType&      rToValue )
 {
     return AnimationActivitySharedPtr(
diff --git a/slideshow/source/engine/effectrewinder.cxx b/slideshow/source/engine/effectrewinder.cxx
index 9ac9898..dca1a1e 100644
--- a/slideshow/source/engine/effectrewinder.cxx
+++ b/slideshow/source/engine/effectrewinder.cxx
@@ -30,8 +30,6 @@
 #include <com/sun/star/animations/EventTrigger.hpp>
 #include <com/sun/star/container/XEnumerationAccess.hpp>
 
-#include <boost/enable_shared_from_this.hpp>
-
 using ::com::sun::star::uno::Reference;
 using namespace ::com::sun::star;
 
@@ -157,7 +155,7 @@ void EffectRewinder::setRootAnimationNode (
 
 
 bool EffectRewinder::rewind (
-    const ::boost::shared_ptr<ScreenUpdater::UpdateLock>& rpPaintLock,
+    const ::std::shared_ptr<ScreenUpdater::UpdateLock>& rpPaintLock,
     const ::std::function<void ()>& rSlideRewindFunctor,
     const ::std::function<void ()>& rPreviousSlideFunctor)
 {
@@ -298,7 +296,7 @@ bool EffectRewinder::notifyAnimationStart (const AnimationNodeSharedPtr& rpNode)
 {
     // This notification is only relevant for us when the rpNode belongs to
     // the main sequence.
-    BaseNodeSharedPtr pBaseNode (::boost::dynamic_pointer_cast<BaseNode>(rpNode));
+    BaseNodeSharedPtr pBaseNode (::std::dynamic_pointer_cast<BaseNode>(rpNode));
     if ( ! pBaseNode)
         return false;
 
diff --git a/slideshow/source/engine/effectrewinder.hxx b/slideshow/source/engine/effectrewinder.hxx
index fff6fab..bae9252 100644
--- a/slideshow/source/engine/effectrewinder.hxx
+++ b/slideshow/source/engine/effectrewinder.hxx
@@ -90,7 +90,7 @@ public:
             is called then the other functor is not called.
     */
     bool rewind (
-        const ::boost::shared_ptr<ScreenUpdater::UpdateLock>& rpPaintLock,
+        const ::std::shared_ptr<ScreenUpdater::UpdateLock>& rpPaintLock,
         const ::std::function<void ()>& rSlideRewindFunctor,
         const ::std::function<void ()>& rPreviousSlideFunctor);
 
@@ -119,7 +119,7 @@ private:
     EventSharedPtr mpAsynchronousRewindEvent;
 
     css::uno::Reference<css::animations::XAnimationNode> mxCurrentAnimationRootNode;
-    ::boost::shared_ptr<ScreenUpdater::UpdateLock> mpPaintLock;
+    ::std::shared_ptr<ScreenUpdater::UpdateLock> mpPaintLock;
 
     bool mbNonUserTriggeredMainSequenceEffectSeen;
 
diff --git a/slideshow/source/engine/eventmultiplexer.cxx b/slideshow/source/engine/eventmultiplexer.cxx
index 1001d76..b71e71c 100644
--- a/slideshow/source/engine/eventmultiplexer.cxx
+++ b/slideshow/source/engine/eventmultiplexer.cxx
@@ -42,22 +42,22 @@
 #include "unoview.hxx"
 #include "unoviewcontainer.hxx"
 
-#include <boost/shared_ptr.hpp>
-#include <boost/weak_ptr.hpp>
 #include <boost/mem_fn.hpp>
 
+#include <memory>
 #include <algorithm>
 #include <vector>
 
 using namespace ::com::sun::star;
 
-namespace boost
+
+namespace std
 {
-    // add operator== for weak_ptr
+    // add operator== for weak_ptr, so we can use std::find over lists of them
     template<typename T> bool operator==( weak_ptr<T> const& rLHS,
                                           weak_ptr<T> const& rRHS )
     {
-        return !(rLHS<rRHS) && !(rRHS<rLHS);
+        return rLHS.lock().get() == rRHS.lock().get();
     }
 }
 
@@ -67,7 +67,7 @@ namespace internal {
 template <typename HandlerT>
 class PrioritizedHandlerEntry
 {
-    typedef boost::shared_ptr<HandlerT> HandlerSharedPtrT;
+    typedef std::shared_ptr<HandlerT> HandlerSharedPtrT;
     HandlerSharedPtrT mpHandler;
     double            mnPrio;
 
@@ -297,7 +297,7 @@ struct EventMultiplexerImpl
         setAutomaticMode(true) call is then able to
         regenerate the event.
     */
-    ::boost::weak_ptr< Event >    mpTickEvent;
+    ::std::weak_ptr< Event >    mpTickEvent;
     bool                          mbIsAutoMode;
 };
 
diff --git a/slideshow/source/engine/pointersymbol.hxx b/slideshow/source/engine/pointersymbol.hxx
index 4d5381e..9bae614 100644
--- a/slideshow/source/engine/pointersymbol.hxx
+++ b/slideshow/source/engine/pointersymbol.hxx
@@ -21,7 +21,6 @@
 #include "eventmultiplexer.hxx"
 #include "unoview.hxx"
 
-#include <boost/shared_ptr.hpp>
 #include <boost/noncopyable.hpp>
 #include <vector>
 
@@ -31,7 +30,7 @@ namespace slideshow {
 namespace internal {
 
 class EventMultiplexer;
-typedef boost::shared_ptr<class PointerSymbol> PointerSymbolSharedPtr;
+typedef std::shared_ptr<class PointerSymbol> PointerSymbolSharedPtr;
 
 /// On-screen 'laser pointer' from the Impress remote control
 class PointerSymbol : public ViewEventHandler,
diff --git a/slideshow/source/engine/rehearsetimingsactivity.cxx b/slideshow/source/engine/rehearsetimingsactivity.cxx
index d5c1342..f09baac 100644
--- a/slideshow/source/engine/rehearsetimingsactivity.cxx
+++ b/slideshow/source/engine/rehearsetimingsactivity.cxx
@@ -103,7 +103,7 @@ public:
 private:
     ::canvas::tools::ElapsedTime    maTimer;
     double                          mnNextTime;
-    boost::weak_ptr<Activity>       mpActivity;
+    std::weak_ptr<Activity>       mpActivity;
     ActivitiesQueue&                mrActivityQueue;
 };
 
@@ -188,10 +188,10 @@ RehearseTimingsActivity::~RehearseTimingsActivity()
     }
 }
 
-boost::shared_ptr<RehearseTimingsActivity> RehearseTimingsActivity::create(
+std::shared_ptr<RehearseTimingsActivity> RehearseTimingsActivity::create(
     const SlideShowContext& rContext )
 {
-    boost::shared_ptr<RehearseTimingsActivity> pActivity(
+    std::shared_ptr<RehearseTimingsActivity> pActivity(
         new RehearseTimingsActivity( rContext ));
 
     pActivity->mpMouseHandler.reset(
@@ -217,7 +217,7 @@ void RehearseTimingsActivity::start()
     for_each_sprite( []( const ::cppcanvas::CustomSpriteSharedPtr& pSprite )
                      { return pSprite->show(); } );
 
-    mrActivitiesQueue.addActivity( shared_from_this() );
+    mrActivitiesQueue.addActivity( std::shared_ptr<Activity>((Activity*)this) );
 
     mpMouseHandler->reset();
     mrEventMultiplexer.addClickHandler(
diff --git a/slideshow/source/engine/rehearsetimingsactivity.hxx b/slideshow/source/engine/rehearsetimingsactivity.hxx
index 40850a5..b800f75 100644
--- a/slideshow/source/engine/rehearsetimingsactivity.hxx
+++ b/slideshow/source/engine/rehearsetimingsactivity.hxx
@@ -23,12 +23,11 @@
 #include "activity.hxx"
 
 #include <basegfx/range/b2drange.hxx>
-#include <boost/shared_ptr.hpp>
-#include <boost/enable_shared_from_this.hpp>
 #include <boost/noncopyable.hpp>
 
 #include <vector>
 #include <utility>
+#include <memory>
 
 namespace vcl { class Font; }
 namespace canvas{ namespace tools{ class ElapsedTime; }}
@@ -47,13 +46,12 @@ class EventMultiplexer;
 class ScreenUpdater;
 class RehearseTimingsActivity : public Activity,
                                 public ViewEventHandler,
-                                public boost::enable_shared_from_this<RehearseTimingsActivity>,
                                 private ::boost::noncopyable
 {
 public:
     /** Creates the activity.
      */
-    static boost::shared_ptr<RehearseTimingsActivity> create(
+    static std::shared_ptr<RehearseTimingsActivity> create(
         const SlideShowContext& rContext );
 
     virtual ~RehearseTimingsActivity();
@@ -125,8 +123,8 @@ private:
     ::basegfx::B2DRange             maSpriteRectangle;
 
     vcl::Font                       maFont;
-    boost::shared_ptr<WakeupEvent>  mpWakeUpEvent;
-    boost::shared_ptr<MouseHandler> mpMouseHandler;
+    std::shared_ptr<WakeupEvent>  mpWakeUpEvent;
+    std::shared_ptr<MouseHandler> mpMouseHandler;
     ::basegfx::B2IVector            maSpriteSizePixel;
     sal_Int32                       mnYOffset;
     bool                            mbActive;
diff --git a/slideshow/source/engine/screenupdater.cxx b/slideshow/source/engine/screenupdater.cxx
index 4efd329..7128868 100644
--- a/slideshow/source/engine/screenupdater.cxx
+++ b/slideshow/source/engine/screenupdater.cxx
@@ -22,8 +22,8 @@
 
 #include <osl/diagnose.h>
 
-#include <boost/shared_ptr.hpp>
 #include <boost/mem_fn.hpp>
+#include <memory>
 #include <vector>
 #include <algorithm>
 
@@ -212,9 +212,9 @@ namespace internal
         }
     }
 
-    ::boost::shared_ptr<ScreenUpdater::UpdateLock> ScreenUpdater::createLock (const bool bStartLocked)
+    ::std::shared_ptr<ScreenUpdater::UpdateLock> ScreenUpdater::createLock (const bool bStartLocked)
     {
-        return ::boost::shared_ptr<ScreenUpdater::UpdateLock>(new ::UpdateLock(*this, bStartLocked));
+        return ::std::shared_ptr<ScreenUpdater::UpdateLock>(new ::UpdateLock(*this, bStartLocked));
     }
 
 
diff --git a/slideshow/source/engine/shapes/appletshape.cxx b/slideshow/source/engine/shapes/appletshape.cxx
index c9d97f9..3f3e20a 100644
--- a/slideshow/source/engine/shapes/appletshape.cxx
+++ b/slideshow/source/engine/shapes/appletshape.cxx
@@ -20,8 +20,6 @@
 
 #include <canvas/canvastools.hxx>
 
-#include <boost/shared_ptr.hpp>
-
 #include "appletshape.hxx"
 #include "externalshapebase.hxx"
 #include "vieweventhandler.hxx"
@@ -268,7 +266,7 @@ namespace slideshow
             // No way of doing this, or?
         }
 
-        boost::shared_ptr<Shape> createAppletShape(
+        std::shared_ptr<Shape> createAppletShape(
             const uno::Reference< drawing::XShape >& xShape,
             double                                   nPrio,
             const OUString&                   rServiceName,
@@ -276,7 +274,7 @@ namespace slideshow
             sal_Size                                 nNumPropEntries,
             const SlideShowContext&                  rContext )
         {
-            boost::shared_ptr< AppletShape > pAppletShape(
+            std::shared_ptr< AppletShape > pAppletShape(
                 new AppletShape(xShape,
                                 nPrio,
                                 rServiceName,
diff --git a/slideshow/source/engine/shapes/appletshape.hxx b/slideshow/source/engine/shapes/appletshape.hxx
index d444355..9797525 100644
--- a/slideshow/source/engine/shapes/appletshape.hxx
+++ b/slideshow/source/engine/shapes/appletshape.hxx
@@ -21,7 +21,7 @@
 #define INCLUDED_SLIDESHOW_SOURCE_ENGINE_SHAPES_APPLETSHAPE_HXX
 
 #include <com/sun/star/uno/Reference.hxx>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 namespace com { namespace sun { namespace star { namespace drawing
 {
@@ -35,7 +35,7 @@ namespace slideshow
         struct SlideShowContext;
         class Shape;
 
-        boost::shared_ptr<Shape> createAppletShape(
+        std::shared_ptr<Shape> createAppletShape(
             const css::uno::Reference< css::drawing::XShape >& xShape,
             double                                  nPrio,
             const OUString&                         rServiceName,
diff --git a/slideshow/source/engine/shapes/backgroundshape.hxx b/slideshow/source/engine/shapes/backgroundshape.hxx
index 0152ad5..cc7fa93 100644
--- a/slideshow/source/engine/shapes/backgroundshape.hxx
+++ b/slideshow/source/engine/shapes/backgroundshape.hxx
@@ -21,7 +21,6 @@
 #define INCLUDED_SLIDESHOW_SOURCE_ENGINE_SHAPES_BACKGROUNDSHAPE_HXX
 
 #include <com/sun/star/uno/Reference.hxx>
-#include <boost/shared_ptr.hpp>
 
 namespace com { namespace sun { namespace star { namespace drawing
 {
@@ -42,7 +41,7 @@ namespace slideshow
             nor attributable, those more specialized derivations of
             the Shape interface are not implemented here.
          */
-        boost::shared_ptr<Shape> createBackgroundShape(
+        std::shared_ptr<Shape> createBackgroundShape(
             const css::uno::Reference< css::drawing::XDrawPage >& xDrawPage,
             const css::uno::Reference< css::drawing::XDrawPage >& xMasterPage,
             const SlideShowContext&                       rContext ); // throw ShapeLoadFailedException;
diff --git a/slideshow/source/engine/shapes/drawinglayeranimation.cxx b/slideshow/source/engine/shapes/drawinglayeranimation.cxx
index cc6f61c..5083a4a 100644
--- a/slideshow/source/engine/shapes/drawinglayeranimation.cxx
+++ b/slideshow/source/engine/shapes/drawinglayeranimation.cxx
@@ -53,10 +53,9 @@
 #include "intrinsicanimationactivity.hxx"
 #include "intrinsicanimationeventhandler.hxx"
 
-#include <boost/weak_ptr.hpp>
-#include <boost/enable_shared_from_this.hpp>
 #include <boost/noncopyable.hpp>
 #include <vector>
+#include <memory>
 
 using namespace com::sun::star;
 using namespace ::slideshow::internal;
@@ -131,7 +130,6 @@ double ScrollTextAnimNode::GetStateAtRelativeTime(
 }
 
 class ActivityImpl : public Activity,
-                     public boost::enable_shared_from_this<ActivityImpl>,
                      private boost::noncopyable
 {
 public:
@@ -139,8 +137,8 @@ public:
 
     ActivityImpl(
         SlideShowContext const& rContext,
-        boost::shared_ptr<WakeupEvent> const& pWakeupEvent,
-        boost::shared_ptr<DrawShape> const& pDrawShape );
+        std::shared_ptr<WakeupEvent> const& pWakeupEvent,
+        std::shared_ptr<DrawShape> const& pDrawShape );
 
     bool enableAnimations();
 
@@ -194,8 +192,8 @@ private:
 
 
     SlideShowContext                            maContext;
-    boost::shared_ptr<WakeupEvent>              mpWakeupEvent;
-    boost::weak_ptr<DrawShape>                  mpParentDrawShape;
+    std::shared_ptr<WakeupEvent>              mpWakeupEvent;
+    std::weak_ptr<DrawShape>                  mpParentDrawShape;
     DrawShapeSharedPtr                          mpDrawShape;
     ShapeAttributeLayerHolder                   maShapeAttrLayer;
     GDIMetaFileSharedPtr                        mpMetaFile;
@@ -736,8 +734,8 @@ bool ActivityImpl::perform()
 
 ActivityImpl::ActivityImpl(
     SlideShowContext const& rContext,
-    boost::shared_ptr<WakeupEvent> const& pWakeupEvent,
-    boost::shared_ptr<DrawShape> const& pParentDrawShape )
+    std::shared_ptr<WakeupEvent> const& pWakeupEvent,
+    std::shared_ptr<DrawShape> const& pParentDrawShape )
     : maContext(rContext),
       mpWakeupEvent(pWakeupEvent),
       mpParentDrawShape(pParentDrawShape),
@@ -770,7 +768,7 @@ ActivityImpl::ActivityImpl(
     // TODO(Q3): Doing this manually, instead of using
     // ShapeSubset. This is because of lifetime issues (ShapeSubset
     // generates circular references to parent shape)
-    mpDrawShape = boost::dynamic_pointer_cast<DrawShape>(
+    mpDrawShape = std::dynamic_pointer_cast<DrawShape>(
         maContext.mpSubsettableShapeManager->getSubsetShape(
             pParentDrawShape,
             scrollTextNode ));
@@ -861,8 +859,7 @@ ActivityImpl::ActivityImpl(
 bool ActivityImpl::enableAnimations()
 {
     mbIsActive = true;
-    return maContext.mrActivitiesQueue.addActivity(
-        shared_from_this() );
+    return maContext.mrActivitiesQueue.addActivity( ActivitySharedPtr(this) );
 }
 
 ActivityImpl::~ActivityImpl()
@@ -936,15 +933,15 @@ void ActivityImpl::end()
 namespace slideshow {
 namespace internal {
 
-boost::shared_ptr<Activity> createDrawingLayerAnimActivity(
+std::shared_ptr<Activity> createDrawingLayerAnimActivity(
     SlideShowContext const& rContext,
-    boost::shared_ptr<DrawShape> const& pDrawShape )
+    std::shared_ptr<DrawShape> const& pDrawShape )
 {
-    boost::shared_ptr<Activity> pActivity;
+    std::shared_ptr<Activity> pActivity;
 
     try
     {
-        boost::shared_ptr<WakeupEvent> const pWakeupEvent(
+        std::shared_ptr<WakeupEvent> const pWakeupEvent(
             new WakeupEvent( rContext.mrEventQueue.getTimer(),
                              rContext.mrActivitiesQueue ) );
         pActivity.reset( new ActivityImpl( rContext, pWakeupEvent, pDrawShape ) );
diff --git a/slideshow/source/engine/shapes/drawinglayeranimation.hxx b/slideshow/source/engine/shapes/drawinglayeranimation.hxx
index 8444fe7..3ebd45e 100644
--- a/slideshow/source/engine/shapes/drawinglayeranimation.hxx
+++ b/slideshow/source/engine/shapes/drawinglayeranimation.hxx
@@ -20,7 +20,6 @@
 #define INCLUDED_SLIDESHOW_SOURCE_ENGINE_SHAPES_DRAWINGLAYERANIMATION_HXX
 
 #include <sal/config.h>
-#include <boost/shared_ptr.hpp>
 
 namespace slideshow {
 namespace internal {
@@ -29,9 +28,9 @@ class Activity;
 struct SlideShowContext;
 class DrawShape;
 
-boost::shared_ptr<Activity> createDrawingLayerAnimActivity(
+std::shared_ptr<Activity> createDrawingLayerAnimActivity(
     SlideShowContext const&                 rContext,
-    boost::shared_ptr<DrawShape> const&     pDrawShape );
+    std::shared_ptr<DrawShape> const&     pDrawShape );
 
 } // namespace internal
 } // namespace presentation
diff --git a/slideshow/source/engine/shapes/drawshape.hxx b/slideshow/source/engine/shapes/drawshape.hxx
index 5cc1d59..a0d98b1 100644
--- a/slideshow/source/engine/shapes/drawshape.hxx
+++ b/slideshow/source/engine/shapes/drawshape.hxx
@@ -30,8 +30,6 @@
 #include "hyperlinkarea.hxx"
 
 #include <boost/optional.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/weak_ptr.hpp>
 #include <set>
 #include <vector>
 
@@ -45,7 +43,7 @@ namespace slideshow
         struct SlideShowContext;
         class  DrawShapeSubsetting;
         class  DrawShape;
-        typedef ::boost::shared_ptr< DrawShape > DrawShapeSharedPtr;
+        typedef ::std::shared_ptr< DrawShape > DrawShapeSharedPtr;
 
         /** This class is the representation of a draw document's
             XShape, and implements the Shape, AnimatableShape, and
@@ -308,7 +306,7 @@ namespace slideshow
             ShapeAttributeLayerSharedPtr                                            mpAttributeLayer; // only created lazily
 
             // held here, to signal our destruction
-            boost::weak_ptr<Activity>                                               mpIntrinsicAnimationActivity;
+            std::weak_ptr<Activity>                                               mpIntrinsicAnimationActivity;
 
             // The attribute states, to detect attribute changes,
             // without buffering and querying each single attribute
diff --git a/slideshow/source/engine/shapes/drawshapesubsetting.cxx b/slideshow/source/engine/shapes/drawshapesubsetting.cxx
index 6f2fb5d..fab2a40 100644
--- a/slideshow/source/engine/shapes/drawshapesubsetting.cxx
+++ b/slideshow/source/engine/shapes/drawshapesubsetting.cxx
@@ -260,7 +260,7 @@ namespace slideshow
             mbNodeTreeInitialized = false;
         }
 
-        void DrawShapeSubsetting::reset( const ::boost::shared_ptr< GDIMetaFile >& rMtf )
+        void DrawShapeSubsetting::reset( const ::std::shared_ptr< GDIMetaFile >& rMtf )
         {
             reset();
             mpMtf = rMtf;
diff --git a/slideshow/source/engine/shapes/drawshapesubsetting.hxx b/slideshow/source/engine/shapes/drawshapesubsetting.hxx
index 12b1f97..71457e3 100644
--- a/slideshow/source/engine/shapes/drawshapesubsetting.hxx
+++ b/slideshow/source/engine/shapes/drawshapesubsetting.hxx
@@ -20,7 +20,6 @@
 #ifndef INCLUDED_SLIDESHOW_SOURCE_ENGINE_SHAPES_DRAWSHAPESUBSETTING_HXX
 #define INCLUDED_SLIDESHOW_SOURCE_ENGINE_SHAPES_DRAWSHAPESUBSETTING_HXX
 
-#include <boost/shared_ptr.hpp>
 #include <boost/noncopyable.hpp>
 
 #include "doctreenode.hxx"
@@ -62,7 +61,7 @@ namespace slideshow
                 generated with verbose text comments switched on).
              */
             DrawShapeSubsetting( const DocTreeNode&                         rShapeSubset,
-                                 const ::boost::shared_ptr< GDIMetaFile >&  rMtf );
+                                 const ::std::shared_ptr< GDIMetaFile >&  rMtf );
 
             /** Reset metafile.
 
@@ -75,7 +74,7 @@ namespace slideshow
                 Metafile to retrieve subset info from (must have been
                 generated with verbose text comments switched on).
              */
-            void reset( const ::boost::shared_ptr< GDIMetaFile >&   rMtf );
+            void reset( const ::std::shared_ptr< GDIMetaFile >&   rMtf );
 
             // Shape subsetting methods
 
@@ -215,7 +214,7 @@ namespace slideshow
             mutable IndexClassificatorVector    maActionClassVector;
 
             /// Metafile to retrieve subset info from
-            ::boost::shared_ptr< GDIMetaFile >  mpMtf;
+            ::std::shared_ptr< GDIMetaFile >  mpMtf;
 
             /// Subset of the metafile represented by this object
             DocTreeNode                         maSubset;
diff --git a/slideshow/source/engine/shapes/externalshapebase.hxx b/slideshow/source/engine/shapes/externalshapebase.hxx
index 4455b1c..f378f72 100644
--- a/slideshow/source/engine/shapes/externalshapebase.hxx
+++ b/slideshow/source/engine/shapes/externalshapebase.hxx
@@ -119,7 +119,7 @@ namespace slideshow
             /// The associated XShape
             css::uno::Reference< css::drawing::XShape >                             mxShape;
 
-            boost::shared_ptr<ExternalShapeBaseListener>                            mpListener;
+            std::shared_ptr<ExternalShapeBaseListener>                            mpListener;
 
             SubsettableShapeManagerSharedPtr                                        mpShapeManager;
             EventMultiplexer&                                                       mrEventMultiplexer;
diff --git a/slideshow/source/engine/shapes/gdimtftools.hxx b/slideshow/source/engine/shapes/gdimtftools.hxx
index ac71905..59e91c5 100644
--- a/slideshow/source/engine/shapes/gdimtftools.hxx
+++ b/slideshow/source/engine/shapes/gdimtftools.hxx
@@ -26,7 +26,6 @@
 #include <com/sun/star/drawing/XDrawPage.hpp>
 
 #include <basegfx/range/b2drectangle.hxx>
-#include <boost/shared_ptr.hpp>
 
 #include "tools.hxx"
 
diff --git a/slideshow/source/engine/shapes/intrinsicanimationactivity.cxx b/slideshow/source/engine/shapes/intrinsicanimationactivity.cxx
index a1fd73b..8740272 100644
--- a/slideshow/source/engine/shapes/intrinsicanimationactivity.cxx
+++ b/slideshow/source/engine/shapes/intrinsicanimationactivity.cxx
@@ -28,8 +28,7 @@
 #include "intrinsicanimationeventhandler.hxx"
 
 #include <boost/noncopyable.hpp>
-#include <boost/enable_shared_from_this.hpp>
-#include <boost/weak_ptr.hpp>
+#include <memory>
 
 namespace slideshow
 {
@@ -43,7 +42,6 @@ namespace slideshow
             animations, or GIF animations.
          */
         class IntrinsicAnimationActivity : public Activity,
-                                           public boost::enable_shared_from_this<IntrinsicAnimationActivity>,
                                            private boost::noncopyable
         {
         public:
@@ -83,7 +81,7 @@ namespace slideshow
 
         private:
             SlideShowContext                        maContext;
-            boost::weak_ptr<DrawShape>              mpDrawShape;
+            std::weak_ptr<DrawShape>              mpDrawShape;
             WakeupEventSharedPtr                    mpWakeupEvent;
             IntrinsicAnimationEventHandlerSharedPtr mpListener;
             ::std::vector<double>                   maTimeouts;
@@ -250,8 +248,7 @@ namespace slideshow
         bool IntrinsicAnimationActivity::enableAnimations()
         {
             mbIsActive = true;
-            return maContext.mrActivitiesQueue.addActivity(
-                shared_from_this() );
+            return maContext.mrActivitiesQueue.addActivity( ActivitySharedPtr(this) );
         }
 
 
diff --git a/slideshow/source/engine/shapes/mediashape.cxx b/slideshow/source/engine/shapes/mediashape.cxx
index 4981117..0213287 100644
--- a/slideshow/source/engine/shapes/mediashape.cxx
+++ b/slideshow/source/engine/shapes/mediashape.cxx
@@ -240,7 +240,7 @@ namespace slideshow
             double                                   nPrio,
             const SlideShowContext&                  rContext)
         {
-            boost::shared_ptr< MediaShape > pMediaShape(
+            std::shared_ptr< MediaShape > pMediaShape(
                 new MediaShape(xShape, nPrio, rContext));
 
             return pMediaShape;
diff --git a/slideshow/source/engine/shapes/mediashape.hxx b/slideshow/source/engine/shapes/mediashape.hxx
index ca20bce..ce1ba8b 100644
--- a/slideshow/source/engine/shapes/mediashape.hxx
+++ b/slideshow/source/engine/shapes/mediashape.hxx
@@ -21,7 +21,7 @@
 #define INCLUDED_SLIDESHOW_SOURCE_ENGINE_SHAPES_MEDIASHAPE_HXX
 
 #include <com/sun/star/uno/Reference.hxx>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 
 namespace com { namespace sun { namespace star { namespace drawing
@@ -36,7 +36,7 @@ namespace slideshow
         struct SlideShowContext;
         class  Shape;
 
-        boost::shared_ptr<Shape> createMediaShape(
+        std::shared_ptr<Shape> createMediaShape(
             const css::uno::Reference<css::drawing::XShape >& xShape,
             double                                     nPrio,
             const SlideShowContext&                    rContext);
diff --git a/slideshow/source/engine/shapes/viewappletshape.hxx b/slideshow/source/engine/shapes/viewappletshape.hxx
index 0f0591b..5a3ccc0 100644
--- a/slideshow/source/engine/shapes/viewappletshape.hxx
+++ b/slideshow/source/engine/shapes/viewappletshape.hxx
@@ -24,7 +24,7 @@
 #include <com/sun/star/awt/Point.hpp>
 
 #include <boost/noncopyable.hpp>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 #include "viewlayer.hxx"
 
@@ -149,7 +149,7 @@ namespace slideshow
                 css::uno::XComponentContext>         mxComponentContext;
         };
 
-        typedef ::boost::shared_ptr< ViewAppletShape > ViewAppletShapeSharedPtr;
+        typedef ::std::shared_ptr< ViewAppletShape > ViewAppletShapeSharedPtr;
 
     }
 }
diff --git a/slideshow/source/engine/shapes/viewbackgroundshape.hxx b/slideshow/source/engine/shapes/viewbackgroundshape.hxx
index ff08c32..e2a57e2 100644
--- a/slideshow/source/engine/shapes/viewbackgroundshape.hxx
+++ b/slideshow/source/engine/shapes/viewbackgroundshape.hxx
@@ -27,7 +27,7 @@
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <cppcanvas/spritecanvas.hxx>
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include <boost/noncopyable.hpp>
 
 #include "gdimtftools.hxx"
@@ -87,7 +87,7 @@ namespace slideshow
             const ::basegfx::B2DRectangle                       maBounds;
         };
 
-        typedef ::boost::shared_ptr< ViewBackgroundShape > ViewBackgroundShapeSharedPtr;
+        typedef ::std::shared_ptr< ViewBackgroundShape > ViewBackgroundShapeSharedPtr;
 
     }
 }
diff --git a/slideshow/source/engine/shapes/viewmediashape.hxx b/slideshow/source/engine/shapes/viewmediashape.hxx
index 0bd98b9..1b60a77 100644
--- a/slideshow/source/engine/shapes/viewmediashape.hxx
+++ b/slideshow/source/engine/shapes/viewmediashape.hxx
@@ -23,7 +23,7 @@
 #include <basegfx/range/b2drectangle.hxx>
 #include <com/sun/star/awt/Point.hpp>
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include <boost/noncopyable.hpp>
 #include <vcl/vclptr.hxx>
 
@@ -155,7 +155,7 @@ namespace slideshow
             bool                                              mbIsSoundEnabled;
         };
 
-        typedef ::boost::shared_ptr< ViewMediaShape > ViewMediaShapeSharedPtr;
+        typedef ::std::shared_ptr< ViewMediaShape > ViewMediaShapeSharedPtr;
 
     }
 }
diff --git a/slideshow/source/engine/shapes/viewshape.hxx b/slideshow/source/engine/shapes/viewshape.hxx
index 51dfaac..ccefbda 100644
--- a/slideshow/source/engine/shapes/viewshape.hxx
+++ b/slideshow/source/engine/shapes/viewshape.hxx
@@ -26,7 +26,6 @@
 #include <basegfx/range/b2drectangle.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
 
-#include <boost/shared_ptr.hpp>
 #include <boost/noncopyable.hpp>
 
 #include "tools.hxx"
@@ -36,6 +35,7 @@
 #include "doctreenode.hxx"
 
 #include <vector>
+#include <memory>
 
 
 namespace slideshow
@@ -314,7 +314,7 @@ namespace slideshow
             mutable bool                                mbForceUpdate;
         };
 
-        typedef ::boost::shared_ptr< ViewShape > ViewShapeSharedPtr;
+        typedef ::std::shared_ptr< ViewShape > ViewShapeSharedPtr;
 
     }
 }
diff --git a/slideshow/source/engine/slide/layer.hxx b/slideshow/source/engine/slide/layer.hxx
index 79b1c1c..3dc6a88 100644
--- a/slideshow/source/engine/slide/layer.hxx
+++ b/slideshow/source/engine/slide/layer.hxx
@@ -26,12 +26,10 @@
 #include "view.hxx"
 #include "animatableshape.hxx"
 
-#include <boost/shared_ptr.hpp>
-#include <boost/weak_ptr.hpp>
 #include <boost/noncopyable.hpp>
-#include <boost/enable_shared_from_this.hpp>
 
 #include <vector>
+#include <memory>
 
 
 namespace slideshow
@@ -60,18 +58,18 @@ namespace slideshow
             be called from the LayerManager. Normally, it shouldn't be
             possible to get hold of an instance of this class at all.
          */
-        class Layer : public boost::enable_shared_from_this<Layer>,
+        class Layer : public std::enable_shared_from_this<Layer>,
                       private boost::noncopyable
         {
         public:
-            typedef boost::shared_ptr<LayerEndUpdate> EndUpdater;
+            typedef std::shared_ptr<LayerEndUpdate> EndUpdater;
 
             /** Create background layer
 
                 This method will create a layer without a ViewLayer,
                 i.e. one that displays directly on the background.
              */
-            static ::boost::shared_ptr< Layer > createBackgroundLayer();
+            static ::std::shared_ptr< Layer > createBackgroundLayer();
 
             /** Create non-background layer
 
@@ -79,7 +77,7 @@ namespace slideshow
                 background, to contain shapes that should appear in
                 front of animated objects.
              */
-            static ::boost::shared_ptr< Layer > createLayer();
+            static ::std::shared_ptr< Layer > createLayer();
 
 
             /** Predicate, whether this layer is the special
@@ -255,8 +253,8 @@ namespace slideshow
             bool                       mbClipSet; // true, if beginUpdate set a clip
         };
 
-        typedef ::boost::shared_ptr< Layer >    LayerSharedPtr;
-        typedef ::boost::weak_ptr< Layer >      LayerWeakPtr;
+        typedef ::std::shared_ptr< Layer >    LayerSharedPtr;
+        typedef ::std::weak_ptr< Layer >      LayerWeakPtr;
         typedef ::std::vector< LayerSharedPtr > LayerVector;
 
     }
diff --git a/slideshow/source/engine/slide/layermanager.cxx b/slideshow/source/engine/slide/layermanager.cxx
index 22a248c..861e8f5 100644
--- a/slideshow/source/engine/slide/layermanager.cxx
+++ b/slideshow/source/engine/slide/layermanager.cxx
@@ -32,13 +32,13 @@
 
 using namespace ::com::sun::star;
 
-namespace boost
+namespace std
 {
     // add operator!= for weak_ptr
     inline bool operator!=( slideshow::internal::LayerWeakPtr const& rLHS,
                             slideshow::internal::LayerWeakPtr const& rRHS )
     {
-        return (rLHS<rRHS) || (rRHS<rLHS);
+        return rLHS.lock().get() != rRHS.lock().get();
     }
 }
 
diff --git a/slideshow/source/engine/slide/layermanager.hxx b/slideshow/source/engine/slide/layermanager.hxx
index 97f5425..13fc4ac 100644
--- a/slideshow/source/engine/slide/layermanager.hxx
+++ b/slideshow/source/engine/slide/layermanager.hxx
@@ -20,7 +20,6 @@
 #ifndef INCLUDED_SLIDESHOW_SOURCE_ENGINE_SLIDE_LAYERMANAGER_HXX
 #define INCLUDED_SLIDESHOW_SOURCE_ENGINE_SLIDE_LAYERMANAGER_HXX
 
-#include <boost/shared_ptr.hpp>
 #include <boost/noncopyable.hpp>
 
 #include <cppcanvas/spritecanvas.hxx>
@@ -33,6 +32,7 @@
 
 #include <algorithm>
 #include <functional>
+#include <memory>
 #include <map>
 #include <unordered_map>
 #include <vector>
@@ -359,7 +359,7 @@ namespace slideshow
             bool                     mbDisableAnimationZOrder;
         };
 
-        typedef ::boost::shared_ptr< LayerManager > LayerManagerSharedPtr;
+        typedef ::std::shared_ptr< LayerManager > LayerManagerSharedPtr;
     }
 }
 
diff --git a/slideshow/source/engine/slide/shapemanagerimpl.cxx b/slideshow/source/engine/slide/shapemanagerimpl.cxx
index facc748..f9b62a8 100644
--- a/slideshow/source/engine/slide/shapemanagerimpl.cxx
+++ b/slideshow/source/engine/slide/shapemanagerimpl.cxx
@@ -144,7 +144,7 @@ bool ShapeManagerImpl::handleMouseReleased( awt::MouseEvent const& e )
             // shape hit, and shape is visible. Raise
             // event.
 
-            boost::shared_ptr<comphelper::OInterfaceContainerHelper2> const pCont(
+            std::shared_ptr<comphelper::OInterfaceContainerHelper2> const pCont(
                 aCurrBroadcaster->second );
             uno::Reference<drawing::XShape> const xShape(
                 aCurrBroadcaster->first->getXShape() );
diff --git a/slideshow/source/engine/slide/shapemanagerimpl.hxx b/slideshow/source/engine/slide/shapemanagerimpl.hxx
index 3fd8fb7..01ea774 100644
--- a/slideshow/source/engine/slide/shapemanagerimpl.hxx
+++ b/slideshow/source/engine/slide/shapemanagerimpl.hxx
@@ -35,11 +35,10 @@
 #include "shapelistenereventhandler.hxx"
 #include "mouseeventhandler.hxx"
 
-#include <boost/shared_ptr.hpp>
-#include <boost/enable_shared_from_this.hpp>
 #include <boost/noncopyable.hpp>
 #include <set>
 #include <map>
+#include <memory>
 
 namespace slideshow {
 namespace internal {
@@ -54,7 +53,7 @@ class ShapeManagerImpl : public SubsettableShapeManager,
                          public ShapeListenerEventHandler,
                          public MouseEventHandler,
                          public ViewUpdate,
-                         public boost::enable_shared_from_this<ShapeManagerImpl>,
+                         public std::enable_shared_from_this<ShapeManagerImpl>,
                          private boost::noncopyable
 {
 public:
@@ -119,18 +118,18 @@ private:
     virtual void notifyShapeUpdate( const ShapeSharedPtr& rShape ) override;
     virtual ShapeSharedPtr lookupShape(
         css::uno::Reference< css::drawing::XShape > const & xShape ) const override;
-    virtual void addHyperlinkArea( const boost::shared_ptr<HyperlinkArea>& rArea ) override;
+    virtual void addHyperlinkArea( const std::shared_ptr<HyperlinkArea>& rArea ) override;
 
 
     // SubsettableShapeManager interface
 
 
-    virtual boost::shared_ptr<AttributableShape> getSubsetShape(
-        const boost::shared_ptr<AttributableShape>& rOrigShape,
+    virtual std::shared_ptr<AttributableShape> getSubsetShape(
+        const std::shared_ptr<AttributableShape>& rOrigShape,
         const DocTreeNode&                          rTreeNode ) override;
     virtual void revokeSubset(
-        const boost::shared_ptr<AttributableShape>& rOrigShape,
-        const boost::shared_ptr<AttributableShape>& rSubsetShape ) override;
+        const std::shared_ptr<AttributableShape>& rOrigShape,
+        const std::shared_ptr<AttributableShape>& rSubsetShape ) override;
 
     virtual void addIntrinsicAnimationHandler(
         const IntrinsicAnimationEventHandlerSharedPtr& rHandler ) override;
@@ -157,7 +156,7 @@ private:
 
 
     typedef std::map<ShapeSharedPtr,
-                     boost::shared_ptr< ::comphelper::OInterfaceContainerHelper2 >,
+                     std::shared_ptr< ::comphelper::OInterfaceContainerHelper2 >,
                      Shape::lessThanShape>        ShapeToListenersMap;
     typedef std::map<ShapeSharedPtr, sal_Int16,
                        Shape::lessThanShape>      ShapeToCursorMap;
diff --git a/slideshow/source/engine/slide/slideimpl.cxx b/slideshow/source/engine/slide/slideimpl.cxx
index 1894c70..863b6d2 100644
--- a/slideshow/source/engine/slide/slideimpl.cxx
+++ b/slideshow/source/engine/slide/slideimpl.cxx
@@ -219,8 +219,8 @@ private:
     uno::Reference< animations::XAnimationNode >        mxRootNode;
 
     LayerManagerSharedPtr                               mpLayerManager;
-    boost::shared_ptr<ShapeManagerImpl>                 mpShapeManager;
-    boost::shared_ptr<SubsettableShapeManager>          mpSubsettableShapeManager;
+    std::shared_ptr<ShapeManagerImpl>                 mpShapeManager;
+    std::shared_ptr<SubsettableShapeManager>          mpSubsettableShapeManager;
 
     /// Contains common objects needed throughout the slideshow
     SlideShowContext                                    maContext;
@@ -917,7 +917,7 @@ void SlideImpl::applyShapeAttributes(
             }
 
             AttributableShapeSharedPtr pAttrShape(
-                ::boost::dynamic_pointer_cast< AttributableShape >( pShape ) );
+                ::std::dynamic_pointer_cast< AttributableShape >( pShape ) );
 
             if( !pAttrShape )
             {
@@ -1156,7 +1156,7 @@ SlideSharedPtr createSlide( const uno::Reference< drawing::XDrawPage >&
                             bool                                                bIntrinsicAnimationsAllowed,
                             bool                                                bDisableAnimationZOrder )
 {
-    boost::shared_ptr<SlideImpl> pRet( new SlideImpl( xDrawPage, xDrawPages, xRootNode, rEventQueue,
+    std::shared_ptr<SlideImpl> pRet( new SlideImpl( xDrawPage, xDrawPages, xRootNode, rEventQueue,
                                                       rEventMultiplexer, rScreenUpdater,
                                                       rActivitiesQueue, rUserEventQueue,
                                                       rCursorManager, rViewContainer,
diff --git a/slideshow/source/engine/slide/userpaintoverlay.hxx b/slideshow/source/engine/slide/userpaintoverlay.hxx
index 2d46309..8c57ba2 100644
--- a/slideshow/source/engine/slide/userpaintoverlay.hxx
+++ b/slideshow/source/engine/slide/userpaintoverlay.hxx
@@ -26,7 +26,7 @@
 #include "rgbcolor.hxx"
 
 #include <boost/noncopyable.hpp>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include <vector>
 
 /* Definition of UserPaintOverlay class */
@@ -39,7 +39,7 @@ namespace slideshow
         struct SlideShowContext;
 
         class PaintOverlayHandler;
-        typedef ::boost::shared_ptr< class UserPaintOverlay > UserPaintOverlaySharedPtr;
+        typedef ::std::shared_ptr< class UserPaintOverlay > UserPaintOverlaySharedPtr;
         typedef ::std::vector< ::cppcanvas::PolyPolygonSharedPtr> PolyPolygonVector;
         /** Slide overlay, which can be painted into by the user.
 
@@ -74,7 +74,7 @@ namespace slideshow
                               const PolyPolygonVector& rPolygons,
                               bool                    bActive );
 
-            ::boost::shared_ptr<PaintOverlayHandler>    mpHandler;
+            ::std::shared_ptr<PaintOverlayHandler>    mpHandler;
             EventMultiplexer&                           mrMultiplexer;
         };
     }
diff --git a/slideshow/source/engine/slideshowimpl.cxx b/slideshow/source/engine/slideshowimpl.cxx
index bdf15c8..da94f03 100644
--- a/slideshow/source/engine/slideshowimpl.cxx
+++ b/slideshow/source/engine/slideshowimpl.cxx
@@ -451,12 +451,12 @@ private:
     UserEventQueue                          maUserEventQueue;
     SubsettableShapeManagerSharedPtr        mpDummyPtr;
 
-    boost::shared_ptr<SeparateListenerImpl> mpListener;
+    std::shared_ptr<SeparateListenerImpl> mpListener;
 
-    boost::shared_ptr<RehearseTimingsActivity> mpRehearseTimingsActivity;
-    boost::shared_ptr<WaitSymbol>           mpWaitSymbol;
+    std::shared_ptr<RehearseTimingsActivity> mpRehearseTimingsActivity;
+    std::shared_ptr<WaitSymbol>           mpWaitSymbol;
 
-    boost::shared_ptr<PointerSymbol>        mpPointerSymbol;
+    std::shared_ptr<PointerSymbol>        mpPointerSymbol;
 
     /// the current slide transition sound object:
     SoundPlayerSharedPtr                    mpCurrentSlideTransitionSound;
@@ -1855,7 +1855,7 @@ void SlideShowImpl::addShapeEventListener(
         aIter = maShapeEventListeners.insert(
             ShapeEventListenerMap::value_type(
                 xShape,
-                boost::shared_ptr<comphelper::OInterfaceContainerHelper2>(
+                std::shared_ptr<comphelper::OInterfaceContainerHelper2>(
                     new comphelper::OInterfaceContainerHelper2(m_aMutex)))).first;
     }
 
diff --git a/slideshow/source/engine/slideview.cxx b/slideshow/source/engine/slideview.cxx
index 65bee1b..053dfea 100644
--- a/slideshow/source/engine/slideview.cxx
+++ b/slideshow/source/engine/slideview.cxx
@@ -52,8 +52,8 @@
 #include <com/sun/star/presentation/XSlideShow.hpp>
 
 #include <boost/noncopyable.hpp>
-#include <boost/weak_ptr.hpp>
 
+#include <memory>
 #include <vector>
 #include <iterator>
 #include <algorithm>
diff --git a/slideshow/source/engine/smilfunctionparser.cxx b/slideshow/source/engine/smilfunctionparser.cxx
index 148d5bb..dcc807a 100644
--- a/slideshow/source/engine/smilfunctionparser.cxx
+++ b/slideshow/source/engine/smilfunctionparser.cxx
@@ -76,7 +76,7 @@ namespace slideshow
                 bool                        mbParseAnimationFunction;
             };
 
-            typedef ::boost::shared_ptr< ParserContext > ParserContextSharedPtr;
+            typedef ::std::shared_ptr< ParserContext > ParserContextSharedPtr;
 
 
             template< typename Generator > class ShapeBoundsFunctor
diff --git a/slideshow/source/engine/soundplayer.cxx b/slideshow/source/engine/soundplayer.cxx
index 560693d..502742e 100644
--- a/slideshow/source/engine/soundplayer.cxx
+++ b/slideshow/source/engine/soundplayer.cxx
@@ -44,12 +44,12 @@ namespace slideshow
     {
         // TODO(Q3): Move the whole SoundPlayer class to avmedia.
 
-        boost::shared_ptr<SoundPlayer> SoundPlayer::create(
+        std::shared_ptr<SoundPlayer> SoundPlayer::create(
             EventMultiplexer & rEventMultiplexer,
             const OUString& rSoundURL,
             const uno::Reference< uno::XComponentContext>&  rComponentContext )
         {
-            boost::shared_ptr<SoundPlayer> pPlayer(
+            std::shared_ptr<SoundPlayer> pPlayer(
                 new SoundPlayer( rEventMultiplexer,
                                  rSoundURL,
                                  rComponentContext ) );
diff --git a/slideshow/source/engine/sp_debug.cxx b/slideshow/source/engine/sp_debug.cxx
index 664cfe2..a0d1500 100644
--- a/slideshow/source/engine/sp_debug.cxx
+++ b/slideshow/source/engine/sp_debug.cxx
@@ -31,11 +31,11 @@
 #if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
 
 #include <boost/assert.hpp>
-#include <boost/shared_ptr.hpp>
 #include <boost/detail/lightweight_mutex.hpp>
 #include <canvas/debug.hxx>
 #include <cstdlib>
 #include <map>
+#include <memory>
 #include <deque>
 #include <iostream>
 
@@ -57,140 +57,6 @@ static mutex_type & get_mutex()
 
 static void * init_mutex_before_main = &get_mutex();
 
-namespace
-{
-    class X;
-
-    struct count_layout
-    {
-        boost::detail::sp_counted_base * pi;
-        int id;
-    };
-
-    struct shared_ptr_layout
-    {
-        X * px;
-        count_layout pn;
-    };
-}
-
-// assume 4 byte alignment for pointers when scanning
-size_t const pointer_align = 4;
-
-typedef std::map<void const *, long> map2_type;
-
-static void scan_and_count(void const * area, size_t size, map_type const & m, map2_type & m2)
-{
-    unsigned char const * p = static_cast<unsigned char const *>(area);
-
-    for(size_t n = 0; n + sizeof(shared_ptr_layout) <= size; p += pointer_align, n += pointer_align)
-    {
-        shared_ptr_layout const * q = reinterpret_cast<shared_ptr_layout const *>(p);
-
-        if(q->pn.id == boost::detail::shared_count_id && q->pn.pi != nullptr && m.count(q->pn.pi) != 0)
-        {
-            ++m2[q->pn.pi];
-        }
-    }
-}
-
-typedef std::deque<void const *> open_type;
-
-static void scan_and_mark(void const * area, size_t size, map2_type & m2, open_type & open)
-{
-    unsigned char const * p = static_cast<unsigned char const *>(area);
-
-    for(size_t n = 0; n + sizeof(shared_ptr_layout) <= size; p += pointer_align, n += pointer_align)
-    {
-        shared_ptr_layout const * q = reinterpret_cast<shared_ptr_layout const *>(p);
-
-        if(q->pn.id == boost::detail::shared_count_id && q->pn.pi != nullptr && m2.count(q->pn.pi) != 0)
-        {
-            open.push_back(q->pn.pi);
-            m2.erase(q->pn.pi);
-        }
-    }
-}
-
-static void find_unreachable_objects_impl(map_type const & m, map2_type & m2)
-{
-    // scan objects for shared_ptr members, compute internal counts
-
-    {
-        std::cout << "... " << m.size() << " objects in m.\n";
-
-        for(map_type::const_iterator i = m.begin(); i != m.end(); ++i)
-        {
-            BOOST_ASSERT(static_cast<boost::detail::sp_counted_base const *>(i->first)->use_count() != 0); // there should be no inactive counts in the map
-
-            scan_and_count(i->second.first, i->second.second, m, m2);
-        }
-
-        std::cout << "... " << m2.size() << " objects in m2.\n";
-    }
-
-    // mark reachable objects
-
-    {
-        open_type open;
-
-        for(map2_type::iterator i = m2.begin(); i != m2.end(); ++i)
-        {
-            boost::detail::sp_counted_base const * p = static_cast<boost::detail::sp_counted_base const *>(i->first);
-            if(p->use_count() != i->second) open.push_back(p);
-        }
-
-        std::cout << "... " << m2.size() << " objects in open.\n";
-
-        for(open_type::iterator j = open.begin(); j != open.end(); ++j)
-        {
-            m2.erase(*j);
-        }
-
-        while(!open.empty())
-        {
-            void const * p = open.front();
-            open.pop_front();
-
-            map_type::const_iterator i = m.find(p);
-            BOOST_ASSERT(i != m.end());
-
-            scan_and_mark(i->second.first, i->second.second, m2, open);
-        }
-    }
-
-    // m2 now contains the unreachable objects
-}
-
-std::size_t find_unreachable_objects(bool report)
-{
-    map2_type m2;
-
-#ifdef BOOST_HAS_THREADS
-
-    // This will work without the #ifdef, but some compilers warn
-    // that lock is not referenced
-
-    mutex_type::scoped_lock lock(get_mutex());
-
-#endif
-
-    map_type const & m = get_map();
-
-    find_unreachable_objects_impl(m, m2);
-
-    if(report)
-    {
-        for(map2_type::iterator j = m2.begin(); j != m2.end(); ++j)
-        {
-            map_type::const_iterator i = m.find(j->first);
-            BOOST_ASSERT(i != m.end());
-            std::cout << "Unreachable object at " << i->second.first << ", " << i->second.second << " bytes long.\n";
-        }
-    }
-
-    return m2.size();
-}
 
 // debug hooks
 
diff --git a/slideshow/source/engine/transitions/parametricpolypolygon.hxx b/slideshow/source/engine/transitions/parametricpolypolygon.hxx
index d367429..f35b0cc 100644
--- a/slideshow/source/engine/transitions/parametricpolypolygon.hxx
+++ b/slideshow/source/engine/transitions/parametricpolypolygon.hxx
@@ -21,7 +21,7 @@
 #define INCLUDED_SLIDESHOW_SOURCE_ENGINE_TRANSITIONS_PARAMETRICPOLYPOLYGON_HXX
 
 #include <basegfx/polygon/b2dpolypolygon.hxx>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 
 /* Definition of ParametricPolyPolygon interface */
@@ -82,7 +82,7 @@ namespace slideshow
             virtual ::basegfx::B2DPolyPolygon operator()( double t ) = 0;
         };
 
-        typedef ::boost::shared_ptr< ParametricPolyPolygon > ParametricPolyPolygonSharedPtr;
+        typedef ::std::shared_ptr< ParametricPolyPolygon > ParametricPolyPolygonSharedPtr;
 
     }
 }
diff --git a/slideshow/source/engine/transitions/slidechangebase.cxx b/slideshow/source/engine/transitions/slidechangebase.cxx
index 07ca4eb..be55742 100644
--- a/slideshow/source/engine/transitions/slidechangebase.cxx
+++ b/slideshow/source/engine/transitions/slidechangebase.cxx
@@ -176,7 +176,7 @@ void SlideChangeBase::prefetch( const AnimatableShapeSharedPtr&,
         return;
 
     // register ourselves for view change events
-    mrEventMultiplexer.addViewHandler( shared_from_this() );
+    mrEventMultiplexer.addViewHandler( std::shared_ptr<ViewEventHandler>((ViewEventHandler*)this) );
 
     // init views and create slide bitmaps
     for( const auto& pView : mrViewContainer )
@@ -251,7 +251,7 @@ void SlideChangeBase::end()
     mbSpritesVisible = false;
 
     // remove also from event multiplexer, we're dead anyway
-    mrEventMultiplexer.removeViewHandler( shared_from_this() );
+    mrEventMultiplexer.removeViewHandler( std::shared_ptr<ViewEventHandler>((ViewEventHandler*)this) );
 }
 
 bool SlideChangeBase::operator()( double nValue )
diff --git a/slideshow/source/engine/transitions/slidechangebase.hxx b/slideshow/source/engine/transitions/slidechangebase.hxx
index 1af9ab0..192e959 100644
--- a/slideshow/source/engine/transitions/slidechangebase.hxx
+++ b/slideshow/source/engine/transitions/slidechangebase.hxx
@@ -29,7 +29,7 @@
 #include "screenupdater.hxx"
 #include "soundplayer.hxx"
 
-#include <boost/enable_shared_from_this.hpp>
+#include <memory>
 #include <boost/noncopyable.hpp>
 #include <boost/optional.hpp>
 
@@ -50,7 +50,6 @@ namespace internal {
 */
 class SlideChangeBase : public ViewEventHandler,
                         public NumberAnimation,
-                        public boost::enable_shared_from_this<SlideChangeBase>,
                         private ::boost::noncopyable
 {
 public:
diff --git a/slideshow/source/engine/usereventqueue.cxx b/slideshow/source/engine/usereventqueue.cxx
index 6c54c40..d221de2 100644
--- a/slideshow/source/engine/usereventqueue.cxx
+++ b/slideshow/source/engine/usereventqueue.cxx
@@ -494,7 +494,7 @@ private:
 
 template< typename Handler, typename Functor >
 void UserEventQueue::registerEvent(
-    boost::shared_ptr< Handler >& rHandler,
+    std::shared_ptr< Handler >& rHandler,
     const EventSharedPtr&         rEvent,
     const Functor&                rRegistrationFunctor )
 {
@@ -513,7 +513,7 @@ void UserEventQueue::registerEvent(
 
 template< typename Handler, typename Arg, typename Functor >
 void UserEventQueue::registerEvent(
-    boost::shared_ptr< Handler >& rHandler,
+    std::shared_ptr< Handler >& rHandler,
     const EventSharedPtr&         rEvent,
     const Arg&                    rArg,
     const Functor&                rRegistrationFunctor )
@@ -692,7 +692,7 @@ public:
           mnPrio(nPrio),
           mbAdvanceOnClick( bAdvanceOnClick ) {}
 
-    void operator()( const boost::shared_ptr<ClickEventHandler>& rHandler )const
+    void operator()( const std::shared_ptr<ClickEventHandler>& rHandler )const
     {
         // register the handler on _two_ sources: we want the
         // nextEffect events, e.g. space bar, to trigger clicks, as well!
@@ -796,8 +796,8 @@ void UserEventQueue::registerMouseLeaveEvent( const EventSharedPtr& rEvent,
 
 void UserEventQueue::callSkipEffectEventHandler()
 {
-    ::boost::shared_ptr<SkipEffectEventHandler> pHandler (
-        ::boost::dynamic_pointer_cast<SkipEffectEventHandler>(mpSkipEffectEventHandler));
+    ::std::shared_ptr<SkipEffectEventHandler> pHandler (
+        ::std::dynamic_pointer_cast<SkipEffectEventHandler>(mpSkipEffectEventHandler));
     if (pHandler)
         pHandler->skipEffect();
 }
diff --git a/slideshow/source/engine/waitsymbol.hxx b/slideshow/source/engine/waitsymbol.hxx
index 41d2995..7c58c61 100644
--- a/slideshow/source/engine/waitsymbol.hxx
+++ b/slideshow/source/engine/waitsymbol.hxx
@@ -28,7 +28,7 @@
 #include "eventmultiplexer.hxx"
 #include "unoview.hxx"
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include <boost/noncopyable.hpp>
 #include <vector>
 
@@ -36,7 +36,7 @@ namespace slideshow {
 namespace internal {
 
 class EventMultiplexer;
-typedef boost::shared_ptr<class WaitSymbol> WaitSymbolSharedPtr;
+typedef std::shared_ptr<class WaitSymbol> WaitSymbolSharedPtr;
 
 /// On-screen 'hour glass' for when slideshow is unresponsive
 class WaitSymbol : public ViewEventHandler,
diff --git a/slideshow/source/inc/activitiesqueue.hxx b/slideshow/source/inc/activitiesqueue.hxx
index 24a0031..2b03b9f 100644
--- a/slideshow/source/inc/activitiesqueue.hxx
+++ b/slideshow/source/inc/activitiesqueue.hxx
@@ -27,7 +27,7 @@
 
 #include <canvas/elapsedtime.hxx>
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include <boost/noncopyable.hpp>
 
 
diff --git a/slideshow/source/inc/activity.hxx b/slideshow/source/inc/activity.hxx
index 74d96e0..9897170 100644
--- a/slideshow/source/inc/activity.hxx
+++ b/slideshow/source/inc/activity.hxx
@@ -22,7 +22,7 @@
 
 #include <sal/types.h>
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 #include "disposable.hxx"
 
@@ -34,7 +34,7 @@ namespace slideshow
     namespace internal
     {
 
-        class Activity : public Disposable
+        class Activity : public Disposable, public virtual SharedPtrAble
         {
         public:
             /** Perform the activity associated with this interface's
@@ -84,7 +84,7 @@ namespace slideshow
             virtual void end() = 0;
         };
 
-        typedef ::boost::shared_ptr< Activity > ActivitySharedPtr;
+        typedef ::std::shared_ptr< Activity > ActivitySharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/animatableshape.hxx b/slideshow/source/inc/animatableshape.hxx
index 2573eff..b2dd775 100644
--- a/slideshow/source/inc/animatableshape.hxx
+++ b/slideshow/source/inc/animatableshape.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_ANIMATABLESHAPE_HXX
 #define INCLUDED_SLIDESHOW_SOURCE_INC_ANIMATABLESHAPE_HXX
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 #include "shape.hxx"
 
@@ -72,7 +72,7 @@ namespace slideshow
 
         };
 
-        typedef ::boost::shared_ptr< AnimatableShape > AnimatableShapeSharedPtr;
+        typedef ::std::shared_ptr< AnimatableShape > AnimatableShapeSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/animatedsprite.hxx b/slideshow/source/inc/animatedsprite.hxx
index 8e95202..a5980da 100644
--- a/slideshow/source/inc/animatedsprite.hxx
+++ b/slideshow/source/inc/animatedsprite.hxx
@@ -30,7 +30,7 @@
 #include "viewlayer.hxx"
 
 #include <boost/optional.hpp>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include <boost/noncopyable.hpp>
 
 
@@ -154,7 +154,7 @@ namespace slideshow
             bool                                                        mbSpriteVisible;
         };
 
-        typedef ::boost::shared_ptr< AnimatedSprite > AnimatedSpriteSharedPtr;
+        typedef ::std::shared_ptr< AnimatedSprite > AnimatedSpriteSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/animation.hxx b/slideshow/source/inc/animation.hxx
index 8f9e613..9108b72 100644
--- a/slideshow/source/inc/animation.hxx
+++ b/slideshow/source/inc/animation.hxx
@@ -22,6 +22,7 @@
 
 #include <animatableshape.hxx>
 #include <shapeattributelayer.hxx>
+#include <disposable.hxx>
 
 
 /* Definition of Animation interface */
@@ -43,7 +44,7 @@ namespace slideshow
             @see ColorAnimation
             @see PairAnimation
          */
-        class Animation
+        class Animation : public virtual SharedPtrAble
         {
         public:
             virtual ~Animation() {}
@@ -81,7 +82,7 @@ namespace slideshow
             virtual void end() = 0;
         };
 
-        typedef ::boost::shared_ptr< Animation > AnimationSharedPtr;
+        typedef ::std::shared_ptr< Animation > AnimationSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/animationactivity.hxx b/slideshow/source/inc/animationactivity.hxx
index 45d3d38..95d0fd0 100644
--- a/slideshow/source/inc/animationactivity.hxx
+++ b/slideshow/source/inc/animationactivity.hxx
@@ -59,7 +59,7 @@ namespace slideshow
                                      const ShapeAttributeLayerSharedPtr&    rAttrLayer ) = 0;
         };
 
-        typedef ::boost::shared_ptr< AnimationActivity > AnimationActivitySharedPtr;
+        typedef ::std::shared_ptr< AnimationActivity > AnimationActivitySharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/animationeventhandler.hxx b/slideshow/source/inc/animationeventhandler.hxx
index 7a74894..2d955e6 100644
--- a/slideshow/source/inc/animationeventhandler.hxx
+++ b/slideshow/source/inc/animationeventhandler.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_ANIMATIONEVENTHANDLER_HXX
 #define INCLUDED_SLIDESHOW_SOURCE_INC_ANIMATIONEVENTHANDLER_HXX
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include "animationnode.hxx"
 
 
@@ -55,7 +55,7 @@ namespace slideshow
             virtual bool handleAnimationEvent( const AnimationNodeSharedPtr& rNode ) = 0;
         };
 
-        typedef ::boost::shared_ptr< AnimationEventHandler > AnimationEventHandlerSharedPtr;
+        typedef ::std::shared_ptr< AnimationEventHandler > AnimationEventHandlerSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/animationnode.hxx b/slideshow/source/inc/animationnode.hxx
index eb856cc..f6a02dc 100644
--- a/slideshow/source/inc/animationnode.hxx
+++ b/slideshow/source/inc/animationnode.hxx
@@ -22,7 +22,7 @@
 #include "disposable.hxx"
 
 #include <com/sun/star/animations/XAnimationNode.hpp>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 namespace slideshow {
 namespace internal {
@@ -123,14 +123,14 @@ public:
         @param rNotifee AnimationNode to notify
     */
     virtual bool registerDeactivatingListener(
-        const ::boost::shared_ptr< AnimationNode >& rNotifee ) = 0;
+        const ::std::shared_ptr< AnimationNode >& rNotifee ) = 0;
 
     /** Called to notify another AnimationNode's deactivation
 
         @param rNotifier The instance who calls this method.
     */
     virtual void notifyDeactivating(
-        const ::boost::shared_ptr< AnimationNode >& rNotifier ) = 0;
+        const ::std::shared_ptr< AnimationNode >& rNotifier ) = 0;
 
     /** Query node whether it has an animation pending.
 
@@ -141,7 +141,7 @@ public:
     virtual bool hasPendingAnimation() const = 0;
 };
 
-typedef ::boost::shared_ptr< AnimationNode > AnimationNodeSharedPtr;
+typedef ::std::shared_ptr< AnimationNode > AnimationNodeSharedPtr;
 
 } // namespace internal
 } // namespace presentation
diff --git a/slideshow/source/inc/attributableshape.hxx b/slideshow/source/inc/attributableshape.hxx
index 55f683c..4c250e6 100644
--- a/slideshow/source/inc/attributableshape.hxx
+++ b/slideshow/source/inc/attributableshape.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_ATTRIBUTABLESHAPE_HXX
 #define INCLUDED_SLIDESHOW_SOURCE_INC_ATTRIBUTABLESHAPE_HXX
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 #include "animatableshape.hxx"
 #include "shapeattributelayer.hxx"
@@ -33,7 +33,7 @@ namespace slideshow
         // forward declaration necessary, because methods use AttributableShapeSharedPtr
         class AttributableShape;
 
-        typedef ::boost::shared_ptr< AttributableShape > AttributableShapeSharedPtr;
+        typedef ::std::shared_ptr< AttributableShape > AttributableShapeSharedPtr;
 
         /** Represents an animatable shape, that can have its
             attributes changed.
diff --git a/slideshow/source/inc/boolanimation.hxx b/slideshow/source/inc/boolanimation.hxx
index d55fe7c..16b9271 100644
--- a/slideshow/source/inc/boolanimation.hxx
+++ b/slideshow/source/inc/boolanimation.hxx
@@ -61,7 +61,7 @@ namespace slideshow
             virtual ValueType getUnderlyingValue() const = 0;
         };
 
-        typedef ::boost::shared_ptr< BoolAnimation > BoolAnimationSharedPtr;
+        typedef ::std::shared_ptr< BoolAnimation > BoolAnimationSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/coloranimation.hxx b/slideshow/source/inc/coloranimation.hxx
index d9514bb..77d3945 100644
--- a/slideshow/source/inc/coloranimation.hxx
+++ b/slideshow/source/inc/coloranimation.hxx
@@ -61,7 +61,7 @@ namespace slideshow
             virtual ValueType getUnderlyingValue() const = 0;
         };
 
-        typedef ::boost::shared_ptr< ColorAnimation > ColorAnimationSharedPtr;
+        typedef ::std::shared_ptr< ColorAnimation > ColorAnimationSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/cursormanager.hxx b/slideshow/source/inc/cursormanager.hxx
index 5247350..2607a26 100644
--- a/slideshow/source/inc/cursormanager.hxx
+++ b/slideshow/source/inc/cursormanager.hxx
@@ -21,7 +21,7 @@
 #define INCLUDED_SLIDESHOW_SOURCE_INC_CURSORMANAGER_HXX
 
 #include <sal/types.h>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 
 /* Definition of CursorManager interface */
@@ -56,7 +56,7 @@ namespace slideshow
             virtual void resetCursor() = 0;
         };
 
-        typedef ::boost::shared_ptr< CursorManager > CursorManagerSharedPtr;
+        typedef ::std::shared_ptr< CursorManager > CursorManagerSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/disposable.hxx b/slideshow/source/inc/disposable.hxx
index 47dcbb2..c85e369 100644
--- a/slideshow/source/inc/disposable.hxx
+++ b/slideshow/source/inc/disposable.hxx
@@ -21,7 +21,7 @@
 #define INCLUDED_SLIDESHOW_SOURCE_INC_DISPOSABLE_HXX
 
 #include <sal/types.h>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 
 /* Definition of Disposable interface */
@@ -30,6 +30,14 @@ namespace slideshow
 {
     namespace internal
     {
+        /**
+         * Base class for being a shared pointer, since quite a few of the downstream classes
+         * want to be stored using std::shared_ptr.
+         */
+        class SharedPtrAble : public std::enable_shared_from_this<SharedPtrAble>
+        {
+        };
+
         /** Disposable interface
 
             With ref-counted objects, deleting object networks
diff --git a/slideshow/source/inc/enumanimation.hxx b/slideshow/source/inc/enumanimation.hxx
index e649057..bb659b2 100644
--- a/slideshow/source/inc/enumanimation.hxx
+++ b/slideshow/source/inc/enumanimation.hxx
@@ -63,7 +63,7 @@ namespace slideshow
             virtual ValueType getUnderlyingValue() const = 0;
         };
 
-        typedef ::boost::shared_ptr< EnumAnimation > EnumAnimationSharedPtr;
+        typedef ::std::shared_ptr< EnumAnimation > EnumAnimationSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/event.hxx b/slideshow/source/inc/event.hxx
index 60e9727..15fd0d9 100644
--- a/slideshow/source/inc/event.hxx
+++ b/slideshow/source/inc/event.hxx
@@ -21,7 +21,7 @@
 
 #include "disposable.hxx"
 #include <rtl/ustring.hxx>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include <vector>
 
 namespace slideshow {
@@ -70,7 +70,7 @@ private:
     const OUString msDescription;
 };
 
-typedef ::boost::shared_ptr< Event > EventSharedPtr;
+typedef ::std::shared_ptr< Event > EventSharedPtr;
 typedef ::std::vector< EventSharedPtr > VectorOfEvents;
 
 } // namespace internal
diff --git a/slideshow/source/inc/eventhandler.hxx b/slideshow/source/inc/eventhandler.hxx
index 4ab58e6..3efc5f0 100644
--- a/slideshow/source/inc/eventhandler.hxx
+++ b/slideshow/source/inc/eventhandler.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_EVENTHANDLER_HXX
 #define INCLUDED_SLIDESHOW_SOURCE_INC_EVENTHANDLER_HXX
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 
 /* Definition of EventHandler interface */
@@ -51,7 +51,7 @@ namespace slideshow
             virtual bool handleEvent() = 0;
         };
 
-        typedef ::boost::shared_ptr< EventHandler > EventHandlerSharedPtr;
+        typedef ::std::shared_ptr< EventHandler > EventHandlerSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/eventmultiplexer.hxx b/slideshow/source/inc/eventmultiplexer.hxx
index 4ae4fea..e39c79e 100644
--- a/slideshow/source/inc/eventmultiplexer.hxx
+++ b/slideshow/source/inc/eventmultiplexer.hxx
@@ -28,8 +28,6 @@
 
 #include <boost/noncopyable.hpp>
 #include <memory>
-#include <boost/shared_ptr.hpp>
-#include <boost/weak_ptr.hpp>
 #include <com/sun/star/uno/Reference.hxx>
 
 #include "unoview.hxx"
@@ -73,7 +71,7 @@ public:
     virtual void viewClobbered( const UnoViewSharedPtr& rView ) = 0;
 };
 
-typedef ::boost::shared_ptr< ViewRepaintHandler > ViewRepaintHandlerSharedPtr;
+typedef ::std::shared_ptr< ViewRepaintHandler > ViewRepaintHandlerSharedPtr;
 
 /** Interface for handling hyperlink clicks.
 
@@ -100,7 +98,7 @@ protected:
     ~HyperlinkHandler() {}
 };
 
-typedef ::boost::shared_ptr< HyperlinkHandler > HyperlinkHandlerSharedPtr;
+typedef ::std::shared_ptr< HyperlinkHandler > HyperlinkHandlerSharedPtr;
 
 /** Interface for handling user paint state changes.
 
@@ -121,7 +119,7 @@ public:
     virtual bool disable() = 0;
 };
 
-typedef ::boost::shared_ptr< UserPaintEventHandler > UserPaintEventHandlerSharedPtr;
+typedef ::std::shared_ptr< UserPaintEventHandler > UserPaintEventHandlerSharedPtr;
 
 /** This class multiplexes user-activated and
     slide-show global events.
@@ -587,7 +585,7 @@ public:
         anybody. If false is returned, no handler processed
         this event (and probably, nothing will happen at all)
     */
-    bool notifyAnimationStart( const boost::shared_ptr<AnimationNode>& rNode );
+    bool notifyAnimationStart( const std::shared_ptr<AnimationNode>& rNode );
 
     /** Notify that the given node leaves its active duration.
 
@@ -603,7 +601,7 @@ public:
         anybody. If false is returned, no handler processed
         this event (and probably, nothing will happen at all)
     */
-    bool notifyAnimationEnd( const boost::shared_ptr<AnimationNode>& rNode );
+    bool notifyAnimationEnd( const std::shared_ptr<AnimationNode>& rNode );
 
     /** Notify that the slide animations sequence leaves its
         active duration.
@@ -628,7 +626,7 @@ public:
         anybody. If false is returned, no handler processed
         this event (and probably, nothing will happen at all)
     */
-    bool notifyAudioStopped( const boost::shared_ptr<AnimationNode>& rNode );
+    bool notifyAudioStopped( const std::shared_ptr<AnimationNode>& rNode );
 
     /** Notify that the show has entered or exited pause mode
 
@@ -649,7 +647,7 @@ public:
         anybody. If false is returned, no handler processed
         this event (and probably, nothing will happen at all)
     */
-    bool notifyCommandStopAudio( const boost::shared_ptr<AnimationNode>& rNode );
+    bool notifyCommandStopAudio( const std::shared_ptr<AnimationNode>& rNode );
 
     /** Notifies that a hyperlink has been clicked.
     */
diff --git a/slideshow/source/inc/expressionnode.hxx b/slideshow/source/inc/expressionnode.hxx
index c80fa80..8bd0b14 100644
--- a/slideshow/source/inc/expressionnode.hxx
+++ b/slideshow/source/inc/expressionnode.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_EXPRESSIONNODE_HXX
 #define INCLUDED_SLIDESHOW_SOURCE_INC_EXPRESSIONNODE_HXX
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 /* Definition of ExpressionNode interface */
 
@@ -53,7 +53,7 @@ namespace slideshow
 
         };
 
-        typedef ::boost::shared_ptr< AnimationFunction > AnimationFunctionSharedPtr;
+        typedef ::std::shared_ptr< AnimationFunction > AnimationFunctionSharedPtr;
 
         /** Refinement of AnimationFunction
 
@@ -77,7 +77,7 @@ namespace slideshow
             virtual bool isConstant() const = 0;
         };
 
-        typedef ::boost::shared_ptr< ExpressionNode > ExpressionNodeSharedPtr;
+        typedef ::std::shared_ptr< ExpressionNode > ExpressionNodeSharedPtr;
     }
 }
 
diff --git a/slideshow/source/inc/hslcoloranimation.hxx b/slideshow/source/inc/hslcoloranimation.hxx
index 5efc57e..159c125 100644
--- a/slideshow/source/inc/hslcoloranimation.hxx
+++ b/slideshow/source/inc/hslcoloranimation.hxx
@@ -61,7 +61,7 @@ namespace slideshow
             virtual ValueType getUnderlyingValue() const = 0;
         };
 
-        typedef ::boost::shared_ptr< HSLColorAnimation > HSLColorAnimationSharedPtr;
+        typedef ::std::shared_ptr< HSLColorAnimation > HSLColorAnimationSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/hyperlinkarea.hxx b/slideshow/source/inc/hyperlinkarea.hxx
index 38dd8fd..52e51f8 100644
--- a/slideshow/source/inc/hyperlinkarea.hxx
+++ b/slideshow/source/inc/hyperlinkarea.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_HYPERLINKAREA_HXX
 #define INCLUDED_SLIDESHOW_SOURCE_INC_HYPERLINKAREA_HXX
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include <vector>
 #include <utility>
 
@@ -74,8 +74,8 @@ namespace slideshow
                 // make functor adaptable (to boost::bind)
                 typedef bool result_type;
 
-                bool operator()(const boost::shared_ptr< HyperlinkArea >& rLHS,
-                                const boost::shared_ptr< HyperlinkArea >& rRHS) const
+                bool operator()(const std::shared_ptr< HyperlinkArea >& rLHS,
+                                const std::shared_ptr< HyperlinkArea >& rRHS) const
                 {
                     const double nPrioL( rLHS->getHyperlinkPriority() );
                     const double nPrioR( rRHS->getHyperlinkPriority() );
@@ -89,7 +89,7 @@ namespace slideshow
             ~HyperlinkArea() {}
        };
 
-        typedef boost::shared_ptr< HyperlinkArea > HyperlinkAreaSharedPtr;
+        typedef std::shared_ptr< HyperlinkArea > HyperlinkAreaSharedPtr;
     }
 }
 
diff --git a/slideshow/source/inc/iexternalmediashapebase.hxx b/slideshow/source/inc/iexternalmediashapebase.hxx
index f382c10..3a174e9 100644
--- a/slideshow/source/inc/iexternalmediashapebase.hxx
+++ b/slideshow/source/inc/iexternalmediashapebase.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_IEXTERNALMEDIASHAPEBASE_HXX
 #define INCLUDED_SLIDESHOW_SOURCE_INC_IEXTERNALMEDIASHAPEBASE_HXX
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 #include "shape.hxx"
 
@@ -76,7 +76,7 @@ namespace slideshow
             virtual void setMediaTime(double fTime) = 0;
         };
 
-        typedef ::boost::shared_ptr< IExternalMediaShapeBase > IExternalMediaShapeBaseSharedPtr;
+        typedef ::std::shared_ptr< IExternalMediaShapeBase > IExternalMediaShapeBaseSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/intrinsicanimationeventhandler.hxx b/slideshow/source/inc/intrinsicanimationeventhandler.hxx
index f712592..6016bb2 100644
--- a/slideshow/source/inc/intrinsicanimationeventhandler.hxx
+++ b/slideshow/source/inc/intrinsicanimationeventhandler.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_INTRINSICANIMATIONEVENTHANDLER_HXX
 #define INCLUDED_SLIDESHOW_SOURCE_INC_INTRINSICANIMATIONEVENTHANDLER_HXX
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 /* Definition of IntrinsicAnimationEventHandler interface */
 
@@ -44,7 +44,7 @@ namespace slideshow
             virtual bool disableAnimations() = 0;
         };
 
-        typedef ::boost::shared_ptr< IntrinsicAnimationEventHandler > IntrinsicAnimationEventHandlerSharedPtr;
+        typedef ::std::shared_ptr< IntrinsicAnimationEventHandler > IntrinsicAnimationEventHandlerSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/listenercontainer.hxx b/slideshow/source/inc/listenercontainer.hxx
index 9152906..e07cf3e 100644
--- a/slideshow/source/inc/listenercontainer.hxx
+++ b/slideshow/source/inc/listenercontainer.hxx
@@ -126,7 +126,7 @@ template< typename ListenerT > struct ListenerOperations
 };
 
 template< typename ListenerTargetT >
-struct ListenerOperations< boost::weak_ptr<ListenerTargetT> >
+struct ListenerOperations< std::weak_ptr<ListenerTargetT> >
 {
     template< typename ContainerT,
               typename FuncT >
@@ -135,7 +135,7 @@ struct ListenerOperations< boost::weak_ptr<ListenerTargetT> >
     {
         for( const auto& rCurr : rContainer )
         {
-            boost::shared_ptr<ListenerTargetT> pListener( rCurr.lock() );
+            std::shared_ptr<ListenerTargetT> pListener( rCurr.lock() );
 
             if( pListener && func(pListener) )
                 return true;
@@ -152,11 +152,11 @@ struct ListenerOperations< boost::weak_ptr<ListenerTargetT> >
         bool bRet(false);
         for( const auto& rCurr : rContainer )
         {
-            boost::shared_ptr<ListenerTargetT> pListener( rCurr.lock() );
+            std::shared_ptr<ListenerTargetT> pListener( rCurr.lock() );
 
             if( pListener.get() &&
                 FunctionApply< typename ::std::result_of< FuncT( const typename ContainerT::value_type& ) >::type,
-                               boost::shared_ptr<ListenerTargetT> >::apply(func,pListener) )
+                               std::shared_ptr<ListenerTargetT> >::apply(func,pListener) )
             {
                 bRet = true;
             }
diff --git a/slideshow/source/inc/mouseeventhandler.hxx b/slideshow/source/inc/mouseeventhandler.hxx
index 2a7d716..0a25b41 100644
--- a/slideshow/source/inc/mouseeventhandler.hxx
+++ b/slideshow/source/inc/mouseeventhandler.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_MOUSEEVENTHANDLER_HXX
 #define INCLUDED_SLIDESHOW_SOURCE_INC_MOUSEEVENTHANDLER_HXX
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 namespace com { namespace sun { namespace star { namespace awt
 {
@@ -107,7 +107,7 @@ namespace slideshow
             virtual bool handleMouseMoved( const css::awt::MouseEvent& e ) = 0;
         };
 
-        typedef ::boost::shared_ptr< MouseEventHandler > MouseEventHandlerSharedPtr;
+        typedef ::std::shared_ptr< MouseEventHandler > MouseEventHandlerSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/numberanimation.hxx b/slideshow/source/inc/numberanimation.hxx
index 23f3fa9..147b24f 100644
--- a/slideshow/source/inc/numberanimation.hxx
+++ b/slideshow/source/inc/numberanimation.hxx
@@ -63,7 +63,7 @@ namespace slideshow
             virtual ValueType getUnderlyingValue() const = 0;
         };
 
-        typedef ::boost::shared_ptr< NumberAnimation > NumberAnimationSharedPtr;
+        typedef ::std::shared_ptr< NumberAnimation > NumberAnimationSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/pairanimation.hxx b/slideshow/source/inc/pairanimation.hxx
index 3489796..ae28f9b 100644
--- a/slideshow/source/inc/pairanimation.hxx
+++ b/slideshow/source/inc/pairanimation.hxx
@@ -62,7 +62,7 @@ namespace slideshow
             virtual ValueType getUnderlyingValue() const = 0;
         };
 
-        typedef ::boost::shared_ptr< PairAnimation > PairAnimationSharedPtr;
+        typedef ::std::shared_ptr< PairAnimation > PairAnimationSharedPtr;
 
     }
 }
diff --git a/slideshow/source/inc/pauseeventhandler.hxx b/slideshow/source/inc/pauseeventhandler.hxx
index faa758b..6ac8971 100644
--- a/slideshow/source/inc/pauseeventhandler.hxx
+++ b/slideshow/source/inc/pauseeventhandler.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_PAUSEEVENTHANDLER_HXX
 #define INCLUDED_SLIDESHOW_SOURCE_INC_PAUSEEVENTHANDLER_HXX
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 
 /* Definition of PauseHandler interface */
@@ -56,7 +56,7 @@ namespace slideshow
             ~PauseEventHandler() {}
         };
 
-        typedef ::boost::shared_ptr< PauseEventHandler > PauseEventHandlerSharedPtr;
+        typedef ::std::shared_ptr< PauseEventHandler > PauseEventHandlerSharedPtr;
     }
 }
 
diff --git a/slideshow/source/inc/screenupdater.hxx b/slideshow/source/inc/screenupdater.hxx
index 85075e8..384e676 100644
--- a/slideshow/source/inc/screenupdater.hxx
+++ b/slideshow/source/inc/screenupdater.hxx
@@ -115,7 +115,7 @@ namespace slideshow
                     locked. When <FALSE/> then Activate() has to be called in order
                     to lock the lock.
             */
-            ::boost::shared_ptr<UpdateLock> createLock (const bool bStartLocked);
+            ::std::shared_ptr<UpdateLock> createLock (const bool bStartLocked);
 
             /** Lock updates to prevent intermediate repaints.
             */
diff --git a/slideshow/source/inc/shape.hxx b/slideshow/source/inc/shape.hxx
index 7bcb714..59bbd99 100644
--- a/slideshow/source/inc/shape.hxx
+++ b/slideshow/source/inc/shape.hxx
@@ -28,8 +28,8 @@
 
 #include "viewlayer.hxx"
 
-#include <boost/shared_ptr.hpp>
 #include <boost/noncopyable.hpp>
+#include <memory>
 #include <set>
 #include <vector>
 
@@ -44,7 +44,7 @@ namespace slideshow

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list