sd/source/ui/slideshow/slideshowimpl.cxx |    8 ++++++++
 1 file changed, 8 insertions(+)

New commits:
commit 2184890a0eebc55aa24cbe61de5b8918d958c65f
Author:     Armin Le Grand (allotropia) <armin.le.grand.ext...@allotropia.de>
AuthorDate: Thu Jan 11 14:22:32 2024 +0100
Commit:     Armin Le Grand <armin.le.gr...@me.com>
CommitDate: Thu Jan 11 18:12:48 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>

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)

Reply via email to