unlockDialog: Only create GDM client once

We don't need to create a new one every time we create an
auth prompt.

Create only one GDM client.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/999
This commit is contained in:
Georges Basile Stavracas Neto 2020-02-13 17:36:51 -03:00
parent 77890c6000
commit 523eec521c

View File

@ -465,6 +465,8 @@ var UnlockDialog = GObject.registerClass({
parentActor.add_child(this); parentActor.add_child(this);
this._gdmClient = new Gdm.Client();
this._adjustment = new St.Adjustment({ this._adjustment = new St.Adjustment({
lower: 0, lower: 0,
upper: 2, upper: 2,
@ -615,7 +617,8 @@ var UnlockDialog = GObject.registerClass({
if (this._authPrompt) if (this._authPrompt)
return; return;
this._authPrompt = new AuthPrompt.AuthPrompt(new Gdm.Client(), AuthPrompt.AuthPromptMode.UNLOCK_ONLY); this._authPrompt = new AuthPrompt.AuthPrompt(this._gdmClient,
AuthPrompt.AuthPromptMode.UNLOCK_ONLY);
this._authPrompt.connect('failed', this._fail.bind(this)); this._authPrompt.connect('failed', this._fail.bind(this));
this._authPrompt.connect('cancelled', this._fail.bind(this)); this._authPrompt.connect('cancelled', this._fail.bind(this));
this._authPrompt.connect('reset', this._onReset.bind(this)); this._authPrompt.connect('reset', this._onReset.bind(this));
@ -765,6 +768,11 @@ var UnlockDialog = GObject.registerClass({
themeContext.disconnect(this._scaleChangedId); themeContext.disconnect(this._scaleChangedId);
delete this._scaleChangedId; delete this._scaleChangedId;
} }
if (this._gdmClient) {
this._gdmClient = null;
delete this._gdmClient;
}
} }
cancel() { cancel() {