From d1a057fe55b211050161304f5db03dab0f951528 Mon Sep 17 00:00:00 2001 From: Rik Cabanier Date: Tue, 12 Dec 2023 00:50:15 +0000 Subject: [PATCH] handle self.usedOfferSession state properly --- src/core/scene/a-scene.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/scene/a-scene.js b/src/core/scene/a-scene.js index af45cb19109..6494926a36e 100644 --- a/src/core/scene/a-scene.js +++ b/src/core/scene/a-scene.js @@ -279,7 +279,7 @@ class AScene extends AEntity { // Don't enter VR if already in VR. if (useOfferSession && navigator.xr.offerSession === undefined) { return Promise.resolve('OfferSession is not supported.'); } - if (self.usedOfferSession) { return Promise.resolve('OfferSession was already called.'); } + if (self.usedOfferSession && useOfferSession) { return Promise.resolve('OfferSession was already called.'); } if (this.is('vr-mode')) { return Promise.resolve('Already in VR.'); } // Has VR. @@ -302,7 +302,10 @@ class AScene extends AEntity { requestSession(xrMode, xrInit).then( function requestSuccess (xrSession) { self.xrSession = xrSession; - self.usedOfferSession = false; + + if (useOfferSession) { + self.usedOfferSession = false; + } vrManager.layersEnabled = xrInit.requiredFeatures.indexOf('layers') !== -1; vrManager.setSession(xrSession).then(function () {