From 77eb3f1a76892b6070e77324e260204408383ef4 Mon Sep 17 00:00:00 2001 From: "Armin Le Grand (allotropia)" Date: Thu, 11 Apr 2024 16:37:30 +0200 Subject: IASS: Correct Buffering of last Slide There is a mechanism to pre-fetch the next slide, but at the last slide that just gets not reset/refreshed. Thus the last slide *is* the buffered slide. When making changes and refreshing the SlideShow display for the last slide this pe-fetched one is just used, so the slide content gets not re-created and thus not updated. I added needed code to do that now when reacing the last slide to make that work. Change-Id: Ie57e6917e0996d5fce46021aeb933064c47dd90f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166011 Tested-by: Jenkins Reviewed-by: Armin Le Grand --- slideshow/source/engine/slideshowimpl.cxx | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'slideshow') diff --git a/slideshow/source/engine/slideshowimpl.cxx b/slideshow/source/engine/slideshowimpl.cxx index 5e0dbbb8074e..121416327191 100644 --- a/slideshow/source/engine/slideshowimpl.cxx +++ b/slideshow/source/engine/slideshowimpl.cxx @@ -1041,6 +1041,14 @@ public: seq[0] >>= mpSlideShowImpl->mxPrefetchSlide; seq[1] >>= mpSlideShowImpl->mxPrefetchAnimationNode; } + else // rProperty.Value might be tested to 'bool' and 'false' + { + // IASS: There is no 'next' slide (last one is displayed), + // so end/flush Prefetch since that might still hold the + // last slide what would prevent updating/re-creating it + mpSlideShowImpl->mxPrefetchSlide.clear(); + mpSlideShowImpl->mpPrefetchSlide.reset(); + } } else if ( rProperty.Name == "SkipAllMainSequenceEffects" ) { -- cgit