From c562245c167cb7b0d027dc5ff3902db4345a12ca Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 21 Feb 2013 14:29:56 -0500 Subject: [PATCH] main: don't show stage until still frames are loaded We sometimes map the stage before we've loaded a background on it because of a race asynchronously loading the session mode. This manifests as the startup animating starting over a white background. This commit defers showing the stage until after the still frames are loaded. https://bugzilla.gnome.org/show_bug.cgi?id=694321 --- js/ui/layout.js | 1 + js/ui/main.js | 3 +++ 2 files changed, 4 insertions(+) diff --git a/js/ui/layout.js b/js/ui/layout.js index 4d5dd49c4..d4192151a 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -573,6 +573,7 @@ const LayoutManager = new Lang.Class({ }, startupAnimation: function() { + global.stage.show(); if (Main.sessionMode.isGreeter) this._startupAnimationGreeter(); else diff --git a/js/ui/main.js b/js/ui/main.js index ee44dcfe7..8b606cbf8 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -89,6 +89,9 @@ function start() { global.logError = window.log; global.log = window.log; + // Hide the stage until we're ready for it + global.stage.hide(); + // Chain up async errors reported from C global.connect('notify-error', function (global, msg, detail) { notifyError(msg, detail); });