Index: lams_central/src/flash/org/lamsfoundation/lams/learner/ls/LessonView.as =================================================================== diff -u -rb5b74bf638d42c004787a29f1093f569579aa96a -r63d30349cbfbd218869d0642365f814e902f3de3 --- lams_central/src/flash/org/lamsfoundation/lams/learner/ls/LessonView.as (.../LessonView.as) (revision b5b74bf638d42c004787a29f1093f569579aa96a) +++ lams_central/src/flash/org/lamsfoundation/lams/learner/ls/LessonView.as (.../LessonView.as) (revision 63d30349cbfbd218869d0642365f814e902f3de3) @@ -281,7 +281,7 @@ } progress_scp.redraw(true); - getAndScrollToTargetPos(a, newActivity_mc, lm.progressData); + getAndScrollToTargetPos(a, newActivity_mc, lm.progressData, true); return true; } @@ -303,7 +303,7 @@ Debugger.log('progess data:'+lm.progressData.getCurrentActivityId()+' a.activityID:'+a.activityID,Debugger.CRITICAL,'updateActivity','LessonView'); - getAndScrollToTargetPos(a, activityMC, lm.progressData); + getAndScrollToTargetPos(a, activityMC, lm.progressData, false); } else { drawActivity(a, lm); @@ -314,8 +314,8 @@ return true; } - - private function getAndScrollToTargetPos(a:Activity, activityMC:Object, data:Progress):Void { + + private function getAndScrollToTargetPos(a:Activity, activityMC:Object, data:Progress, override:Boolean):Void { var targetPos; if(data.getCurrentActivityId() == a.activityID){ @@ -333,8 +333,10 @@ if(progress_scp.vScroller._visible) { Debugger.log('adjusting scrollbar position to target: ' + targetPos,Debugger.CRITICAL,'getAndScrollToTargetPos','LessonView'); - if(ScrollCheckIntervalID == null) { + if(ScrollCheckIntervalID == null && !override) { ScrollCheckIntervalID = setInterval(Proxy.create(this,adjustScrollBar,targetPos),SCROLL_CHECK_INTERVAL); + } else { + progress_scp.vPosition = Math.round(targetPos); } } } Index: lams_learning/web/lams_learner.swf =================================================================== diff -u -rb5b74bf638d42c004787a29f1093f569579aa96a -r63d30349cbfbd218869d0642365f814e902f3de3 Binary files differ