loginDialog: Don't call _loginScreenSessionActivated() when not required
We are calling _loginScreenSessionActivated() even in cases where this is not required. For example, there are cases where the Active property is already `true` and properties like `IdleHint`, `IdleSinceHint` and `IdleSinceHintMonotonic` change. In this cases _loginScreenSessionActivated() is called and will reset the authPrompt when not necessary. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2411>
This commit is contained in:
parent
a70e9c2876
commit
4871eba8bf
@ -985,8 +985,9 @@ var LoginDialog = GObject.registerClass({
|
|||||||
async _getGreeterSessionProxy() {
|
async _getGreeterSessionProxy() {
|
||||||
const loginManager = LoginManager.getLoginManager();
|
const loginManager = LoginManager.getLoginManager();
|
||||||
this._greeterSessionProxy = await loginManager.getCurrentSessionProxy();
|
this._greeterSessionProxy = await loginManager.getCurrentSessionProxy();
|
||||||
this._greeterSessionProxy?.connectObject('g-properties-changed', () => {
|
this._greeterSessionProxy?.connectObject('g-properties-changed', (proxy, properties) => {
|
||||||
if (this._greeterSessionProxy.Active)
|
const activeChanged = !!properties.lookup_value('Active', null);
|
||||||
|
if (activeChanged && proxy.Active)
|
||||||
this._loginScreenSessionActivated();
|
this._loginScreenSessionActivated();
|
||||||
}, this);
|
}, this);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user