Index: ../../../../sd/source/ui/slideshow/slideshowimpl.cxx =================================================================== RCS file: /cvs/graphics/sd/source/ui/slideshow/slideshowimpl.cxx,v retrieving revision 1.37.16.3 diff -u -p -r1.37.16.3 slideshowimpl.cxx --- ../../../../sd/source/ui/slideshow/slideshowimpl.cxx 29 Jan 2007 11:03:26 -0000 1.37.16.3 +++ ../../../../sd/source/ui/slideshow/slideshowimpl.cxx 11 May 2007 00:37:08 -0000 @@ -123,11 +123,15 @@ // TODO(Q3): This breaks encapsulation. Either export // these strings from avmedia, or provide an XManager // factory there +#ifdef GSTREAMER +# define AVMEDIA_MANAGER_SERVICE_NAME "com.sun.star.media.Manager_GStreamer" +#else #ifdef WNT # define AVMEDIA_MANAGER_SERVICE_NAME "com.sun.star.media.Manager_DirectX" #else # define AVMEDIA_MANAGER_SERVICE_NAME "com.sun.star.media.Manager_Java" #endif +#endif using ::com::sun::star::uno::UNO_QUERY; using ::com::sun::star::uno::UNO_QUERY_THROW; @@ -195,7 +199,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; @@ -272,6 +276,20 @@ AnimationSlideController::AnimationSlide 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 )