diff options
Diffstat (limited to 'slideshow/source/engine/transitions')
-rw-r--r-- | slideshow/source/engine/transitions/slidechangebase.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/slideshow/source/engine/transitions/slidechangebase.cxx b/slideshow/source/engine/transitions/slidechangebase.cxx index e5a24e8450a2..a13dd27be25f 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( std::shared_ptr<ViewEventHandler>(this) ); + mrEventMultiplexer.addViewHandler( std::dynamic_pointer_cast<ViewEventHandler>(shared_from_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( std::shared_ptr<ViewEventHandler>(this) ); + mrEventMultiplexer.removeViewHandler( std::dynamic_pointer_cast<ViewEventHandler>(shared_from_this()) ); } bool SlideChangeBase::operator()( double nValue ) |