endSessionDialog: Catch async errors
Otherwise the actual error is masked by an "unhandled promise rejection" error, making it harder to track down the underlying cause. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6506 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2696>
This commit is contained in:
parent
2709d15ae0
commit
34712449da
@ -235,7 +235,7 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
|||||||
|
|
||||||
this._loginManager = LoginManager.getLoginManager();
|
this._loginManager = LoginManager.getLoginManager();
|
||||||
this._canRebootToBootLoaderMenu = false;
|
this._canRebootToBootLoaderMenu = false;
|
||||||
this._getCanRebootToBootLoaderMenu();
|
this._getCanRebootToBootLoaderMenu().catch(logError);
|
||||||
|
|
||||||
this._userManager = AccountsService.UserManager.get_default();
|
this._userManager = AccountsService.UserManager.get_default();
|
||||||
this._user = this._userManager.get_user(GLib.get_user_name());
|
this._user = this._userManager.get_user(GLib.get_user_name());
|
||||||
@ -449,7 +449,7 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
|||||||
action: () => {
|
action: () => {
|
||||||
let signalId = this.connect('closed', () => {
|
let signalId = this.connect('closed', () => {
|
||||||
this.disconnect(signalId);
|
this.disconnect(signalId);
|
||||||
this._confirm(signal);
|
this._confirm(signal).catch(logError);
|
||||||
});
|
});
|
||||||
this.close(true);
|
this.close(true);
|
||||||
},
|
},
|
||||||
@ -501,7 +501,7 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
|||||||
|
|
||||||
_confirmRebootToBootLoaderMenu() {
|
_confirmRebootToBootLoaderMenu() {
|
||||||
this._loginManager.setRebootToBootLoaderMenu();
|
this._loginManager.setRebootToBootLoaderMenu();
|
||||||
this._confirm('ConfirmedReboot');
|
this._confirm('ConfirmedReboot').catch(logError);
|
||||||
}
|
}
|
||||||
|
|
||||||
async _confirm(signal) {
|
async _confirm(signal) {
|
||||||
@ -589,7 +589,7 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
|||||||
|
|
||||||
let dialogContent = DialogContent[this._type];
|
let dialogContent = DialogContent[this._type];
|
||||||
let button = dialogContent.confirmButtons[dialogContent.confirmButtons.length - 1];
|
let button = dialogContent.confirmButtons[dialogContent.confirmButtons.length - 1];
|
||||||
this._confirm(button.signal);
|
this._confirm(button.signal).catch(logError);
|
||||||
this._timerId = 0;
|
this._timerId = 0;
|
||||||
|
|
||||||
return GLib.SOURCE_REMOVE;
|
return GLib.SOURCE_REMOVE;
|
||||||
@ -759,7 +759,7 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (dialogContent.showOtherSessions)
|
if (dialogContent.showOtherSessions)
|
||||||
this._loadSessions();
|
this._loadSessions().catch(logError);
|
||||||
|
|
||||||
let updatesAllowed = this._updatesPermission && this._updatesPermission.allowed;
|
let updatesAllowed = this._updatesPermission && this._updatesPermission.allowed;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user