screenShield: Pop modes before starting unlock animation

This way the top panel remains visible while the shield hiding
animation is ongoing instead of suddenly appearing just when it ends.

https://bugzilla.gnome.org/show_bug.cgi?id=692966
This commit is contained in:
Rui Matos 2013-02-01 11:36:21 +01:00
parent c0e5719271
commit 3652002a68

View File

@ -1055,6 +1055,11 @@ const ScreenShield = new Lang.Class({
deactivate: function(animate) { deactivate: function(animate) {
this._hideLockScreen(animate, 0); this._hideLockScreen(animate, 0);
if (Main.sessionMode.currentMode == 'lock-screen')
Main.sessionMode.popMode('lock-screen');
if (Main.sessionMode.currentMode == 'unlock-dialog')
Main.sessionMode.popMode('unlock-dialog');
Tweener.addTween(this._lockDialogGroup, { Tweener.addTween(this._lockDialogGroup, {
scale_x: 0, scale_x: 0,
scale_y: 0, scale_y: 0,
@ -1083,11 +1088,6 @@ const ScreenShield = new Lang.Class({
this.actor.hide(); this.actor.hide();
if (Main.sessionMode.currentMode == 'lock-screen')
Main.sessionMode.popMode('lock-screen');
if (Main.sessionMode.currentMode == 'unlock-dialog')
Main.sessionMode.popMode('unlock-dialog');
if (this._becameActiveId != 0) { if (this._becameActiveId != 0) {
this.idleMonitor.disconnect(this._becameActiveId); this.idleMonitor.disconnect(this._becameActiveId);
this._becameActiveId = 0; this._becameActiveId = 0;