ScreenShield: don't really deactivate when acting as a greeter

In greeter mode, we don't want to hide the login dialog, drop the
modal or send spurious signals to gnome-settings-daemon.

https://bugzilla.gnome.org/show_bug.cgi?id=701761
This commit is contained in:
Giovanni Campagna 2013-06-06 22:09:28 +02:00
parent 7652f4272c
commit a8ea6c2c66

View File

@ -1143,6 +1143,20 @@ const ScreenShield = new Lang.Class({
if (Main.sessionMode.currentMode == 'unlock-dialog') if (Main.sessionMode.currentMode == 'unlock-dialog')
Main.sessionMode.popMode('unlock-dialog'); Main.sessionMode.popMode('unlock-dialog');
if (this._isGreeter) {
// We don't want to "deactivate" any more than
// this. In particular, we don't want to drop
// the modal, hide ourselves or destroy the dialog
// But we do want to set isActive to false, so that
// gnome-session will reset the idle counter, and
// gnome-settings-daemon will stop blanking the screen
this._activationTime = 0;
this._isActive = false;
this.emit('active-changed');
return;
}
if (this._dialog && !this._isGreeter) if (this._dialog && !this._isGreeter)
this._dialog.popModal(); this._dialog.popModal();
@ -1162,7 +1176,7 @@ const ScreenShield = new Lang.Class({
}, },
_completeDeactivate: function() { _completeDeactivate: function() {
if (this._dialog && !this._isGreeter) { if (this._dialog) {
this._dialog.destroy(); this._dialog.destroy();
this._dialog = null; this._dialog = null;
} }