loginDialog: Catch possible errors when session is opened
Since commit df84854d9073c457d79d7c2e6a5750428c52ff01 the function _onSessionOpened() is now async. This means that if an error occurs we get the following warning: ``` gnome-shell[1014]: Unhandled promise rejection. To suppress this warning, add an error handler to your promise chain with .catch() or a try-catch block around your await expression. Stack trace of the failed promise: _onSessionOpened@resource:///org/gnome/shell/gdm/loginDialog.js:1166:27 @resource:///org/gnome/shell/ui/init.js:21:20 ``` Follow the suggestion and add a try-catch block in order to reveal what the error is. In the catch phase, reset the faded AuthPrompt otherwise we can't retry with another user. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3448>
This commit is contained in:
parent
90707c0045
commit
f1223c6852
@ -1163,15 +1163,20 @@ export const LoginDialog = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
|
|
||||||
async _onSessionOpened(client, serviceName, sessionId) {
|
async _onSessionOpened(client, serviceName, sessionId) {
|
||||||
if (sessionId) {
|
try {
|
||||||
const conflictingSession = await this._findConflictingSession(sessionId);
|
if (sessionId) {
|
||||||
if (conflictingSession) {
|
const conflictingSession = await this._findConflictingSession(sessionId);
|
||||||
this._showConflictingSessionDialog(serviceName, conflictingSession);
|
if (conflictingSession) {
|
||||||
return;
|
this._showConflictingSessionDialog(serviceName, conflictingSession);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
this._authPrompt.finish(() => this._startSession(serviceName));
|
this._authPrompt.finish(() => this._startSession(serviceName));
|
||||||
|
} catch (error) {
|
||||||
|
logError(error, `Failed to start session '${sessionId}'`);
|
||||||
|
this._authPrompt.reset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_waitForItemForUser(userName) {
|
_waitForItemForUser(userName) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user