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
This commit is contained in:
Florian Müllner 2012-09-19 04:34:49 +02:00
parent 1f30670c1d
commit 114f6f577f

View File

@ -648,9 +648,6 @@ const ScreenShield = new Lang.Class({
}, },
_onUnlockFailed: function() { _onUnlockFailed: function() {
this._dialog.destroy();
this._dialog = null;
this._resetLockScreen(true, false); this._resetLockScreen(true, false);
}, },
@ -701,6 +698,10 @@ const ScreenShield = new Lang.Class({
}, },
_lockScreenShown: function() { _lockScreenShown: function() {
if (this._dialog)
this._dialog.destroy();
this._dialog = null;
if (this._arrowAnimationId) if (this._arrowAnimationId)
Mainloop.source_remove(this._arrowAnimationId); Mainloop.source_remove(this._arrowAnimationId);
this._arrowAnimationId = Mainloop.timeout_add(6000, Lang.bind(this, this._animateArrows)); this._arrowAnimationId = Mainloop.timeout_add(6000, Lang.bind(this, this._animateArrows));