diff --git a/src/osgPresentation/SlideEventHandler.cpp b/src/osgPresentation/SlideEventHandler.cpp index cb6cb3e53..0ef62cf7a 100644 --- a/src/osgPresentation/SlideEventHandler.cpp +++ b/src/osgPresentation/SlideEventHandler.cpp @@ -1305,19 +1305,11 @@ bool SlideEventHandler::selectSlide(int slideNum,int layerNum) OSG_INFO<<"selectSlide("<=static_cast(_presentationSwitch->getNumChildren())) - { - slideNum = LAST_POSITION; - } - - if (slideNum<=LAST_POSITION && _presentationSwitch->getNumChildren()>0) + if (slideNum<0 || slideNum>=static_cast(_presentationSwitch->getNumChildren())) { slideNum = _presentationSwitch->getNumChildren()-1; } - if (slideNum>=static_cast(_presentationSwitch->getNumChildren())) return false; - - osg::Timer_t tick = osg::Timer::instance()->tick(); if (_firstSlideOrLayerChange) @@ -1408,7 +1400,7 @@ bool SlideEventHandler::selectLayer(int layerNum) layerNum = LAST_POSITION; } - if (layerNum<=LAST_POSITION && _slideSwitch->getNumChildren()>0) + if (layerNum<0) { layerNum = _slideSwitch->getNumChildren()-1; }