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 0bcd69300..b064173fc 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 @@ -1585,8 +1585,14 @@ public void onFirstContentfulPaint(@NonNull GeckoSession session) { mUIThreadExecutor.execute(mFirstDrawCallback); mFirstDrawCallback = null; mAfterFirstPaint = true; - mSetViewQueuedCalls.forEach(Runnable::run); - mSetViewQueuedCalls.clear(); + // view queue calls need to be delayed to avoid a deadlock + // caused by GeckoSession.syncResumeResizeCompositor() + // See: https://github.com/MozillaReality/FirefoxReality/issues/2889 + mUIThreadExecutor.execute(() -> { + mSetViewQueuedCalls.forEach(Runnable::run); + mSetViewQueuedCalls.clear(); + }); + } }