2022-02-09 10:03:40 +01:00
|
|
|
Index: gnome-shell-41.3/js/gdm/loginDialog.js
|
2021-12-28 15:54:05 +01:00
|
|
|
===================================================================
|
2022-02-09 10:03:40 +01:00
|
|
|
--- gnome-shell-41.3.orig/js/gdm/loginDialog.js
|
|
|
|
+++ gnome-shell-41.3/js/gdm/loginDialog.js
|
|
|
|
@@ -1043,6 +1043,29 @@ var LoginDialog = GObject.registerClass(
|
2019-10-04 17:46:38 +02:00
|
|
|
}
|
2016-09-04 15:22:57 +02:00
|
|
|
|
2019-10-04 17:46:38 +02:00
|
|
|
_onSessionOpened(client, serviceName) {
|
2022-02-09 10:03:40 +01:00
|
|
|
+ if (this._user.get_num_sessions_anywhere() > 1) {
|
|
|
|
+ this._authPrompt.setMessage(null,
|
2016-09-04 15:22:57 +02:00
|
|
|
+ _('Sorry, you have to log out a previous session first. Multiple logins are not supported.'),
|
|
|
|
+ GdmUtil.MessageType.ERROR);
|
|
|
|
+ // TODO: The following logic relies on the unverified fact that
|
|
|
|
+ // `AuthPrompt::_onVerificationComplete` seems to always run after
|
|
|
|
+ // current handler. This might root from the interaction between
|
|
|
|
+ // greeter and verifier, both are external programs.
|
|
|
|
+ this._authPrompt.verificationStatus = AuthPrompt.AuthPromptStatus.VERIFIED_BUT_FORBIDDEN;
|
2022-02-09 10:03:40 +01:00
|
|
|
+ this._authPrompt.cancelButton.reactive = true;
|
2016-09-04 15:22:57 +02:00
|
|
|
+
|
|
|
|
+ // NOTE: Failed Attempts as references
|
|
|
|
+ //
|
|
|
|
+ // NOTE: reset is too heavy, it skips the error prompt all together
|
|
|
|
+ // this._authPrompt.reset();
|
|
|
|
+ //
|
|
|
|
+ // NOTE: Diconnect at this stage is not working
|
|
|
|
+ //
|
|
|
|
+ // this._authPrompt._userVerifier.disconnect(this._authPrompt._userVerifierCompleteId);
|
|
|
|
+
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
2019-10-04 17:46:38 +02:00
|
|
|
this._authPrompt.finish(() => this._startSession(serviceName));
|
|
|
|
}
|
|
|
|
|