loginDialog: disconnect greeter when switching away VTs
At the moment the greeter stays connected to GDM even after the user logs in. That stale connection can lead to bookkeeping confusion later on. This commit makes sure we disconnect the greeter connection any time the user logs in or otherwise switches VTs. This commit also make sure we do a full reset when VT switching back later, so the greeter connection can get re-setup.
This commit is contained in:
parent
98a437c38d
commit
3454a39590
@ -917,9 +917,6 @@ var LoginDialog = GObject.registerClass({
|
||||
}
|
||||
|
||||
_loginScreenSessionActivated() {
|
||||
if (this.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
|
||||
return;
|
||||
|
||||
Tweener.addTween(this,
|
||||
{ opacity: 255,
|
||||
time: _FADE_ANIMATION_TIME,
|
||||
@ -934,12 +931,18 @@ var LoginDialog = GObject.registerClass({
|
||||
},
|
||||
onUpdateScope: this,
|
||||
onComplete() {
|
||||
if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
|
||||
this._authPrompt.reset();
|
||||
this._authPrompt.reset();
|
||||
},
|
||||
onCompleteScope: this });
|
||||
}
|
||||
|
||||
_loginScreenSessionDeactivated() {
|
||||
if (this._greeter) {
|
||||
this._greeter.run_dispose();
|
||||
this._greeter = null;
|
||||
}
|
||||
}
|
||||
|
||||
_gotGreeterSessionProxy(proxy) {
|
||||
this._greeterSessionProxy = proxy;
|
||||
this._greeterSessionProxyChangedId =
|
||||
@ -949,6 +952,8 @@ var LoginDialog = GObject.registerClass({
|
||||
|
||||
if (proxy.Active)
|
||||
this._loginScreenSessionActivated();
|
||||
else
|
||||
this._loginScreenSessionDeactivated();
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user