Skip to content

Commit 2f94e32

Browse files
committed
Display: avoid to emit loginFailed twice
1 parent dfa5315 commit 2f94e32

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/daemon/Display.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,14 @@ namespace SDDM {
513513
emit loginSucceeded(m_socket);
514514
} else if (m_socket) {
515515
qDebug() << "Authentication for user " << user << " failed";
516-
emit loginFailed(m_socket);
516+
517+
// Avoid to emit loginFailed twice
518+
// maybe we already sent it when handle auth error
519+
if (!m_loginFailedOnErrorSent) {
520+
emit loginFailed(m_socket);
521+
} else {
522+
m_loginFailedOnErrorSent = false;
523+
}
517524
}
518525
m_socket = nullptr;
519526
}
@@ -534,8 +541,10 @@ namespace SDDM {
534541
return;
535542

536543
m_socketServer->informationMessage(m_socket, message);
537-
if (error == Auth::ERROR_AUTHENTICATION)
544+
if (error == Auth::ERROR_AUTHENTICATION) {
545+
m_loginFailedOnErrorSent = true;
538546
emit loginFailed(m_socket);
547+
}
539548
}
540549

541550
void Display::slotHelperFinished(Auth::HelperExitStatus status) {

src/daemon/Display.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ namespace SDDM {
9494
DisplayServerType m_displayServerType = X11DisplayServerType;
9595

9696
bool m_started { false };
97+
bool m_loginFailedOnErrorSent { false };
9798

9899
int m_terminalId = -1;
99100
int m_sessionTerminalId = 0;

0 commit comments

Comments
 (0)