ShellUserVerifier: catch DBus errors and report them to the user

Instead of leaving the login or unlock dialogs in an inconsistent state,
catch DBus errors and show an Authentication Error message. The error
details are logged in the session logs.

https://bugzilla.gnome.org/show_bug.cgi?id=683060
This commit is contained in:
Giovanni Campagna
2012-09-06 16:40:13 +02:00
committed by Florian Müllner
parent 5e12e5f42a
commit 10884ef7f5
3 changed files with 57 additions and 25 deletions

View File

@ -133,6 +133,12 @@ const UnlockDialog = new Lang.Class({
this._userVerifier.connect('show-login-hint', Lang.bind(this, this._showLoginHint));
this._userVerifier.connect('hide-login-hint', Lang.bind(this, this._hideLoginHint));
this._userVerifier.connect('not-supported', Lang.bind(this, function(verifier, error) {
Main.notifyError(_("Could not connect to GDM. Screen locking was automatically disabled."), error.message);
this._userVerifier.clear();
this.emit('unlocked');
}));
this._userWidget = new UserWidget(this._user);
this.contentLayout.add_actor(this._userWidget.actor);