diff --git a/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/Session.java b/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/Session.java index f11709da8..574fa1123 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/Session.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/Session.java @@ -544,6 +544,10 @@ public boolean hasCapturedBitmap() { return BitmapCache.getInstance(mContext).hasBitmap(mState.mId); } + public boolean hasDisplay() { + return mState != null && mState.mDisplay != null; + } + public void purgeHistory() { if (mState.mSession != null) { mState.mSession.purgeHistory(); diff --git a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WindowWidget.java b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WindowWidget.java index bdee1a06e..4fe714689 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WindowWidget.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WindowWidget.java @@ -314,7 +314,7 @@ public void onResume() { super.onResume(); if (isVisible() || mIsInVRVideoMode) { mSession.setActive(true); - if (!SettingsStore.getInstance(getContext()).getLayersEnabled()) { + if (!SettingsStore.getInstance(getContext()).getLayersEnabled() && !mSession.hasDisplay()) { // Ensure the Gecko Display is correctly recreated. // See: https://github.com/MozillaReality/FirefoxReality/issues/2880 callSurfaceChanged();