sd/source/ui/slideshow/slideshowimpl.cxx | 8 ++++++++ 1 file changed, 8 insertions(+)
New commits: commit f259a4636308fbdb8c5d8b9f430e3d53018f327b Author: Armin Le Grand (allotropia) <armin.le.grand.ext...@allotropia.de> AuthorDate: Thu Jan 11 14:22:32 2024 +0100 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Fri Jan 12 11:33:17 2024 +0100 tdf#158664 Ignore Notifications when SlideShow is inactive The impl SlideshowImpl gets notifications for changes from the ObjectModel, but needs to ignore them when SlideShow is not active/running. For discussion how to do this see comments in task. Change-Id: Ic251af4b82f0f4b48d8d9b0127dd2f6015966935 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161922 Tested-by: Jenkins Reviewed-by: Armin Le Grand <armin.le.gr...@me.com> (cherry picked from commit 2184890a0eebc55aa24cbe61de5b8918d958c65f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161932 Reviewed-by: Michael Stahl <michael.st...@allotropia.de> diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx index 1e739ab97f26..4bf43fc3bda5 100644 --- a/sd/source/ui/slideshow/slideshowimpl.cxx +++ b/sd/source/ui/slideshow/slideshowimpl.cxx @@ -3192,6 +3192,14 @@ void SlideshowImpl::Notify(SfxBroadcaster& /*rBC*/, const SfxHint& rHint) // better do nothing when no DrawModel (should not happen) return; + // tdf#158664 I am surprised, but the 'this' instance keeps incarnated + // when the slideshow was running once, so need to check for + // SlideShow instance/running to be safe. + // NOTE: isRunning() checks mxShow.is(), that is what we want + if (!isRunning()) + // no SlideShow instance or not running, nothing to do + return; + const SdrHintKind eHintKind(static_cast<const SdrHint&>(rHint).GetKind()); if (SdrHintKind::ObjectChange == eHintKind)