diff --git a/src/controller.cpp b/src/controller.cpp index 9e5723e38..793d06043 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -291,8 +291,11 @@ void Controller::logout(Connection *conn, bool serverSideLogout) job.start(); loop.exec(); - if (conn == activeConnection() && AccountRegistry::instance().count() > 1) { - setActiveConnection(AccountRegistry::instance().accounts()[0]); + if (AccountRegistry::instance().count() > 1) { + // Only set the connection if the the account being logged out is currently active + if (conn == activeConnection()) { + setActiveConnection(AccountRegistry::instance().accounts()[0]); + } } else { setActiveConnection(nullptr); } diff --git a/src/qml/Settings/AccountEditorPage.qml b/src/qml/Settings/AccountEditorPage.qml index f73421e14..33600e082 100644 --- a/src/qml/Settings/AccountEditorPage.qml +++ b/src/qml/Settings/AccountEditorPage.qml @@ -233,7 +233,7 @@ Kirigami.ScrollablePage { Layout.fillWidth: true text: i18n("Sign out") onClicked: { - Controller.logout(model.connection, true); + Controller.logout(root.connection, true); root.closeDialog(); if (Controller.accountCount === 1) { pageStack.layers.pop();