diff --git a/sd/source/ui/view/ViewShellBase.cxx b/sd/source/ui/view/ViewShellBase.cxx index 4fa70785224d..966e7772f1c2 100644 --- a/sd/source/ui/view/ViewShellBase.cxx +++ b/sd/source/ui/view/ViewShellBase.cxx @@ -33,6 +33,7 @@ #include "app.hrc" #include "strings.hrc" #include "glob.hrc" +#include "slideshow.hxx" #include "unokywds.hxx" #include #include "DrawDocShell.hxx" @@ -263,6 +264,11 @@ ViewShellBase::ViewShellBase ( */ ViewShellBase::~ViewShellBase() { + rtl::Reference xSlideShow(SlideShow::GetSlideShow(*this)); + if (xSlideShow.is() && xSlideShow->dependsOn(this)) + SlideShow::Stop(*this); + xSlideShow.clear(); + // Tell the controller that the ViewShellBase is not available anymore. if (mpImpl->mpController.get() != NULL) mpImpl->mpController->ReleaseViewShellBase(); diff --git a/vcl/qa/afl-eventtesting/eventtesting.impress.crash-2 b/vcl/qa/afl-eventtesting/eventtesting.impress.crash-2 new file mode 100644 index 000000000000..d312939e4797 Binary files /dev/null and b/vcl/qa/afl-eventtesting/eventtesting.impress.crash-2 differ