From e5c29a9bec48743dc49474518b457ec1f98630fe Mon Sep 17 00:00:00 2001 From: Oswaldo Acauan <oswaldoacauan@gmail.com> Date: Mon, 15 Aug 2016 19:25:36 +0000 Subject: [PATCH] Change operations order to prevent currentSlide being undefined --- .../server/modifiers/displayThisSlide.js | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/bigbluebutton-html5/imports/api/slides/server/modifiers/displayThisSlide.js b/bigbluebutton-html5/imports/api/slides/server/modifiers/displayThisSlide.js index ad8bed79e6..6d198ee835 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, + }, + }); }; -- GitLab