diff --git a/bigbluebutton-html5/imports/api/slides/server/modifiers/displayThisSlide.js b/bigbluebutton-html5/imports/api/slides/server/modifiers/displayThisSlide.js index ad8bed79e6e76146bd01ee273491fa55de636c86..6d198ee8352198f71bf387f18e21cfc3a0695046 100755 --- a/bigbluebutton-html5/imports/api/slides/server/modifiers/displayThisSlide.js +++ b/bigbluebutton-html5/imports/api/slides/server/modifiers/displayThisSlide.js @@ -5,21 +5,18 @@ export function displayThisSlide(meetingId, newSlideId, slideObject) { // grab the presentationId part of the slideId const presentationId = newSlideId.split('/')[0]; - // change current to false for the old slide - Slides.update({ + let currentSlide = Slides.findOne({ presentationId: presentationId, 'slide.current': true, - }, { - $set: { - 'slide.current': false, - }, }); - //change current to true for the new slide and update its ratios and offsets - Slides.update({ + let newSlide = Slides.findOne({ presentationId: presentationId, 'slide.id': newSlideId, - }, { + }); + + // first update the new slide as current and update its ratios/offsets + Slides.update(newSlide._id, { $set: { 'slide.current': true, 'slide.height_ratio': slideObject.height_ratio, @@ -28,4 +25,11 @@ export function displayThisSlide(meetingId, newSlideId, slideObject) { 'slide.y_offset': slideObject.y_offset, }, }); + + // change current to false for the old slide after update the new one + Slides.update(currentSlide._id, { + $set: { + 'slide.current': false, + }, + }); };