From 114f6f577f58bb036896aaa249f8633ff011e393 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 19 Sep 2012 04:34:49 +0200 Subject: [PATCH] screenShield: Delay destruction of unlock dialog While the unlock dialog is created early so that it appears below the shield while the curtain slides up, it is destroyed immediately when the shield slides back in. Keep it around until the shield is down instead. https://bugzilla.gnome.org/show_bug.cgi?id=684342 --- js/ui/screenShield.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js index c2e7cb651..96e2f80b0 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -648,9 +648,6 @@ const ScreenShield = new Lang.Class({ }, _onUnlockFailed: function() { - this._dialog.destroy(); - this._dialog = null; - this._resetLockScreen(true, false); }, @@ -701,6 +698,10 @@ const ScreenShield = new Lang.Class({ }, _lockScreenShown: function() { + if (this._dialog) + this._dialog.destroy(); + this._dialog = null; + if (this._arrowAnimationId) Mainloop.source_remove(this._arrowAnimationId); this._arrowAnimationId = Mainloop.timeout_add(6000, Lang.bind(this, this._animateArrows));