This is an automated email from the ASF dual-hosted git repository.

ardovm pushed a commit to branch AOO42X
in repository https://gitbox.apache.org/repos/asf/openoffice.git

commit 0bf5032ba1f95101d5061f6098031c3d21b0cea1
Author: Bidouille <ooofo...@free.fr>
AuthorDate: Tue Jan 23 10:27:43 2024 +0100

    Fix for issue 60859
    
    If 1st slide is hidden and selected, show presentation does start after 
this.
    
    Thanks to iammisc for this patch
    
    (cherry picked from commit c284e3b5539f1e21c0e1f245cefd20d28959206c)
---
 main/sd/source/ui/slideshow/slideshowimpl.cxx | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/main/sd/source/ui/slideshow/slideshowimpl.cxx 
b/main/sd/source/ui/slideshow/slideshowimpl.cxx
index c6280438be..ef000f8d7b 100644
--- a/main/sd/source/ui/slideshow/slideshowimpl.cxx
+++ b/main/sd/source/ui/slideshow/slideshowimpl.cxx
@@ -145,7 +145,7 @@ public:
 public:
        AnimationSlideController( Reference< XIndexAccess > xSlides, Mode eMode 
);
 
-       void setStartSlideNumber( sal_Int32 nSlideNumber ) { mnStartSlideNumber 
= nSlideNumber; }
+       void setStartSlideNumber( sal_Int32 nSlideNumber );
        sal_Int32 getStartSlideIndex() const;
 
        sal_Int32 getCurrentSlideNumber() const;
@@ -236,6 +236,17 @@ AnimationSlideController::AnimationSlideController( 
Reference< XIndexAccess > xS
                mnSlideCount = xSlides->getCount();
 }
 
+void AnimationSlideController::setStartSlideNumber( sal_Int32 nSlideNumber )
+{
+       while( ( !maSlideVisible[nSlideNumber] ) 
+                       || ( nSlideNumber > maSlideVisible.size() ) ) 
nSlideNumber++;
+
+       if(nSlideNumber > maSlideVisible.size())
+               mnStartSlideNumber = 0;
+       else
+               mnStartSlideNumber = nSlideNumber;
+}
+
 sal_Int32 AnimationSlideController::getStartSlideIndex() const
 {
        if( mnStartSlideNumber >= 0 )

Reply via email to