diff --git a/src/LoginPage.cpp b/src/LoginPage.cpp index 05741ccaa1ea02e9333d8a0249e61909ab395ae9..624987387555fa50f98483462a5c9b7fbebe646f 100644 --- a/src/LoginPage.cpp +++ b/src/LoginPage.cpp @@ -315,10 +315,14 @@ LoginPage::checkHomeserverVersion() if (err || flows.flows.empty()) emit versionOkCb(LoginMethod::Password); - if (flows.flows[0].type == mtx::user_interactive::auth_types::sso) - emit versionOkCb(LoginMethod::SSO); - else - emit versionOkCb(LoginMethod::Password); + LoginMethod loginMethod = LoginMethod::Password; + for(const auto &flow : flows.flows) { + if (flow.type == mtx::user_interactive::auth_types::sso) { + loginMethod = LoginMethod::SSO; + break; + } + } + emit versionOk(loginMethod); }); }); }