[gnome-shell] screenShield: Fix unlock animation



commit 0c8a94beb8f3f0742f9845aad080ac43ccc8d0e3
Author: Florian MÃllner <fmuellner gnome org>
Date:   Sat Sep 22 00:06:26 2012 +0200

    screenShield: Fix unlock animation
    
    When unlocking succeeds, the transition back to the user session is
    animated. However, commit 8cf9baa1 broke the transition by hiding the
    actor before starting the animation.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=684591

 js/ui/screenShield.js |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index ff410c8..3a56d31 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -429,6 +429,7 @@ const ScreenShield = new Lang.Class({
         this._hasLockScreen = false;
         this._isGreeter = false;
         this._isActive = false;
+        this._inUnlockAnimation = false;
 
         this._lightbox = new Lightbox.Lightbox(Main.uiGroup,
                                                { inhibitEvents: true,
@@ -766,6 +767,7 @@ const ScreenShield = new Lang.Class({
     },
 
     _tweenUnlocked: function() {
+        this._inUnlockAnimation = true;
         this.unlock();
         Tweener.addTween(this._lockDialogGroup, {
             scale_x: 0,
@@ -778,6 +780,7 @@ const ScreenShield = new Lang.Class({
                     this._dialog = null;
                 }
                 this.actor.hide();
+                this._inUnlockAnimation = false;
             },
             onCompleteScope: this
         });
@@ -799,7 +802,8 @@ const ScreenShield = new Lang.Class({
             this._isModal = false;
         }
 
-        this.actor.hide();
+        if (!this._inUnlockAnimation)
+            this.actor.hide();
 
         if (Main.sessionMode.currentMode == 'lock-screen')
             Main.sessionMode.popMode('lock-screen');



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]